From d057a70510e571935299ed12c2eb420ff1233f94 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 25 Aug 2025 16:42:26 +0800
Subject: [PATCH] refactor(ai): 优化对话流 V2 版本的处理逻辑
---
src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java | 37 ++++++++++++++++++++-----------------
1 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java
index b059230..57654cc 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java
@@ -15,6 +15,7 @@
import cc.mrbird.febs.ai.service.AiTalkItemService;
import cc.mrbird.febs.common.entity.FebsResponse;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
@@ -425,8 +426,6 @@
@Override
public Flux<FebsResponse> answerStreamV2(AiTalkAnswerStream dto) {
String question = dto.getQuestion();
- //获取消息记录
- List<AiTalkItem> aiTalkItems = aiTalkItemService.getListByTalkId(dto.getTalkId());
log.info("----- standard request -----");
final ChatMessage systemMessage = ChatMessage.builder()
@@ -435,21 +434,25 @@
.build();
List<ChatMessage> messages = Arrays.asList(systemMessage);
- if(CollUtil.isNotEmpty(aiTalkItems)){
- for (AiTalkItem aiTalkItem : aiTalkItems){
- if (aiTalkItem.getType() == 1){
- ChatMessage userMessage = ChatMessage.builder()
- .role(ChatMessageRole.USER)
- .content(aiTalkItem.getContext())
- .build();
- messages.add(userMessage);
- }
- if (aiTalkItem.getType() == 2){
- ChatMessage assistantMessage = ChatMessage.builder()
- .role(ChatMessageRole.ASSISTANT)
- .content(aiTalkItem.getContext())
- .build();
- messages.add(assistantMessage);
+ //获取消息记录
+ if (StrUtil.isNotEmpty(dto.getTalkId())){
+ List<AiTalkItem> aiTalkItems = aiTalkItemService.getListByTalkId(dto.getTalkId());
+ if(CollUtil.isNotEmpty(aiTalkItems)){
+ for (AiTalkItem aiTalkItem : aiTalkItems){
+ if (aiTalkItem.getType() == 1){
+ ChatMessage userMessage = ChatMessage.builder()
+ .role(ChatMessageRole.USER)
+ .content(aiTalkItem.getContext())
+ .build();
+ messages.add(userMessage);
+ }
+ if (aiTalkItem.getType() == 2){
+ ChatMessage assistantMessage = ChatMessage.builder()
+ .role(ChatMessageRole.ASSISTANT)
+ .content(aiTalkItem.getContext())
+ .build();
+ messages.add(assistantMessage);
+ }
}
}
}
--
Gitblit v1.9.1