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 ++++++++++++++++++++-----------------
src/main/java/cc/mrbird/febs/ai/req/talk/AiTalkAnswerStream.java | 1 -
2 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/req/talk/AiTalkAnswerStream.java b/src/main/java/cc/mrbird/febs/ai/req/talk/AiTalkAnswerStream.java
index 5de4cef..0f4836e 100644
--- a/src/main/java/cc/mrbird/febs/ai/req/talk/AiTalkAnswerStream.java
+++ b/src/main/java/cc/mrbird/febs/ai/req/talk/AiTalkAnswerStream.java
@@ -13,7 +13,6 @@
@ApiModel(value = "AiTalkAnsStream", description = "参数")
public class AiTalkAnswerStream {
- @NotBlank(message = "会话ID不能为空")
@ApiModelProperty(value = "会话ID", example = "10")
private String talkId;
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