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