From 582857ad3da9fe0e168364323c313e17993e9a17 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 26 Aug 2025 11:03:49 +0800
Subject: [PATCH] fix(ai): 优化 AI 服务调用失败时的错误处理- 在 AiServiceImpl 类中,改进了流式调用 AI 服务失败时的错误响应 - 使用 FebsResponse 的 fail() 方法创建失败响应,增加了错误状态 - 修改了两处错误处理逻辑,提高了错误信息的准确性和可读性

---
 src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 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 57654cc..cccfe88 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
@@ -408,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();
@@ -418,7 +418,7 @@
                 })
                 .onErrorResume(throwable -> {
                     log.error("流式调用AI服务失败,问题输入: {}", question, throwable);
-                    FebsResponse errorResponse = new FebsResponse().message("AI服务调用失败");
+                    FebsResponse errorResponse = new FebsResponse().fail().message("AI服务调用失败");
                     return Flux.just(errorResponse);
                 });
     }
@@ -428,23 +428,24 @@
         String question = dto.getQuestion();
         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);
+        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 userMessage = ChatMessage.builder()
+                        ChatMessage memberMessage = ChatMessage.builder()
                                 .role(ChatMessageRole.USER)
                                 .content(aiTalkItem.getContext())
                                 .build();
-                        messages.add(userMessage);
+                        messages.add(memberMessage);
                     }
                     if (aiTalkItem.getType() == 2){
                         ChatMessage assistantMessage = ChatMessage.builder()
@@ -501,7 +502,7 @@
                 })
                 .onErrorResume(throwable -> {
                     log.error("流式调用AI服务失败,问题输入: {}", question, throwable);
-                    FebsResponse errorResponse = new FebsResponse().message("AI服务调用失败");
+                    FebsResponse errorResponse = new FebsResponse().fail().message("AI服务调用失败");
                     return Flux.just(errorResponse);
                 });
     }

--
Gitblit v1.9.1