Commit 9082f9ec authored by yangyw's avatar yangyw

feature: 增加片段返回

parent 282ab1ee
......@@ -592,6 +592,7 @@ public class AppChatCompletionService {
final Boolean[] replyFlag = {false};
String finalSessionId = sessionId;
List<String> references = Lists.newArrayList();
final Boolean[] referenceFlag = {false};
return webClient.post().uri(dsApiBase).accept(MediaType.TEXT_EVENT_STREAM).bodyValue(reqBody.toJSONString()).exchangeToFlux(r -> r.bodyToFlux(String.class))
.mapNotNull(v -> {
log.info("ds:{}", v);
......@@ -627,7 +628,8 @@ public class AppChatCompletionService {
if (StrUtil.isBlank(recordId[0]) && StrUtil.isNotBlank(payload.getString("record_id"))) {
recordId[0] = payload.getString("record_id");
}
if (CollUtil.isEmpty(references) && payload.containsKey("knowledge")) {
if (referenceFlag[0] == false && CollUtil.isEmpty(references) && payload.containsKey("knowledge")) {
referenceFlag[0] = true;
JSONArray knowledge = payload.getJSONArray("knowledge");
if (ObjectUtil.isNotNull(knowledge) && knowledge.size() > 0) {
for (Object kb : knowledge) {
......@@ -640,6 +642,7 @@ public class AppChatCompletionService {
if (CollUtil.isNotEmpty(references)) {
try {
List<String> docs = tencentCloudFacade.getKbSegment(references);
log.info("get kb docs:{}", docs.size());
result.setReferences(docs);
} catch (TencentCloudSDKException e) {
log.error("getKbSegment error,{}", e.getMessage());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment