Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
ask_data_ai_admin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linyangyang
ask_data_ai_admin
Commits
e6c91d4a
Commit
e6c91d4a
authored
Aug 04, 2025
by
林洋洋
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化知识库召回提示词
parent
a52c0d1b
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
5 deletions
+20
-5
ChatService.java
...i-biz/src/main/java/com/ask/service/impl/ChatService.java
+20
-5
No files found.
ask-data-ai/ask-data-ai-biz/src/main/java/com/ask/service/impl/ChatService.java
View file @
e6c91d4a
...
@@ -17,10 +17,9 @@ import org.springframework.beans.factory.annotation.Value;
...
@@ -17,10 +17,9 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.util.Arrays
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.function.Predicate
;
import
java.util.function.Predicate
;
import
java.util.regex.Matcher
;
import
java.util.regex.Matcher
;
...
@@ -88,9 +87,25 @@ public class ChatService {
...
@@ -88,9 +87,25 @@ public class ChatService {
* @return 拼接后的字符串
* @return 拼接后的字符串
*/
*/
public
String
convertDocumentsToString
(
List
<
Document
>
documents
)
{
public
String
convertDocumentsToString
(
List
<
Document
>
documents
)
{
if
(
documents
==
null
||
documents
.
isEmpty
())
{
return
""
;
}
AtomicInteger
index
=
new
AtomicInteger
(
1
);
return
documents
.
stream
()
return
documents
.
stream
()
.
map
(
Document:
:
getText
)
// 提取每个Document的内容
.
filter
(
Objects:
:
nonNull
)
// 1. 过滤 null Document
.
collect
(
Collectors
.
joining
(
"\n"
));
// 用换行符拼接
.
map
(
doc
->
{
String
title
=
Optional
.
ofNullable
(
doc
.
getMetadata
())
.
map
(
m
->
String
.
valueOf
(
m
.
get
(
"fileName"
)))
.
orElse
(
""
);
// 2. 标题 null-safe
String
text
=
Optional
.
ofNullable
(
doc
.
getText
())
.
orElse
(
""
);
// 3. 正文 null-safe
return
String
.
format
(
"[%d] %s\n%s"
,
index
.
getAndIncrement
(),
title
,
text
);
})
.
collect
(
Collectors
.
joining
(
"\n\n"
));
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment