From 23ade5c0e386c6403a9c89f264ae3d6933c756aa Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Tue, 26 Aug 2025 09:42:37 +0800 Subject: [PATCH] feat(ai): 添加题目轮播功能 --- src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java | 44 ++++++++++++++++++++++++-------------------- 1 files changed, 24 insertions(+), 20 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..3227c99 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; @@ -407,7 +408,7 @@ ChatMessage message = choice.getMessage(); if (message.getReasoningContent()!= null &&!message.getReasoningContent().isEmpty()) { apiMemberTalkStreamVo.setReasoningContent(message.getReasoningContent()); - System.out.print(message.getReasoningContent()); +// System.out.print(message.getReasoningContent()); } String content = message.getContent() == null ? "" : message.getContent().toString(); @@ -425,31 +426,34 @@ @Override public Flux<FebsResponse> answerStreamV2(AiTalkAnswerStream dto) { String question = dto.getQuestion(); - //获取消息记录 - List<AiTalkItem> aiTalkItems = aiTalkItemService.getListByTalkId(dto.getTalkId()); log.info("----- standard request -----"); + + List<ChatMessage> messages = new ArrayList<>(); final ChatMessage systemMessage = ChatMessage.builder() .role(ChatMessageRole.SYSTEM) .content("你是豆包,是由字节跳动开发的 AI 人工智能助手") .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); + messages.add(systemMessage); + //获取消息记录 + 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 memberMessage = ChatMessage.builder() + .role(ChatMessageRole.USER) + .content(aiTalkItem.getContext()) + .build(); + messages.add(memberMessage); + } + if (aiTalkItem.getType() == 2){ + ChatMessage assistantMessage = ChatMessage.builder() + .role(ChatMessageRole.ASSISTANT) + .content(aiTalkItem.getContext()) + .build(); + messages.add(assistantMessage); + } } } } -- Gitblit v1.9.1