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