From 3d3960a3b3d1057db9d2f4016512915e7a5c517d Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 25 Sep 2025 09:56:21 +0800 Subject: [PATCH] feat(ai): 集成百炼工作流实现AI流式对话功能 - 新增百炼工作流SDK相关依赖和工具类 - 实现llmInvokeStreamingWithThink方法用于流式调用 - 配置API Key和应用ID以连接百炼平台 - 启用思考模式(enableThinking)和思维输出(hasThoughts) - 处理流式响应并封装为FebsResponse返回 - 添加异常处理机制捕获API调用错误 - 移除原有的静态提示词配置逻辑 -重构answerStreamV3接口直接调用新实现 --- src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java index 1d1502a..77f5c0e 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java +++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java @@ -1,15 +1,15 @@ package cc.mrbird.febs.ai.service; import cc.mrbird.febs.ai.entity.AiMemberTalk; -import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkAnswerDto; -import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkDto; -import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto; +import cc.mrbird.febs.ai.req.memberTalk.*; import cc.mrbird.febs.ai.res.ai.AiResponse; import cc.mrbird.febs.common.entity.FebsResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; +import reactor.core.publisher.Flux; import java.util.Date; +import java.util.List; import java.util.function.Consumer; /** @@ -25,6 +25,8 @@ FebsResponse start(ApiMemberTalkDto dto); + FebsResponse reload(ApiMemberTalkReloadDto dto); + void startStream(ApiMemberTalkDto dto, Consumer<AiResponse> callback); AiMemberTalk getByQuery(LambdaQueryWrapper<AiMemberTalk> query); @@ -33,7 +35,13 @@ FebsResponse answer(ApiMemberTalkAnswerDto dto); - AiMemberTalk add(String memberUuid, String productId, Date nowTime); + AiMemberTalk add(String memberUuid,String companyId, String productId, Date nowTime,Integer questionCount); FebsResponse historyPage(ApiMemberTalkItemPageDto dto); + + Flux<FebsResponse> answerStream(String question); + + List<AiMemberTalk> getListByCompanyId(String companyId); + + List<AiMemberTalk> getListByCompanyIdAndMemberUuid(String companyId, String memberUuid); } -- Gitblit v1.9.1