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 | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 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 1101850..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,13 +1,16 @@ 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.*; +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; /** * AI用户对话训练记录 Service接口 @@ -22,11 +25,23 @@ FebsResponse start(ApiMemberTalkDto dto); + FebsResponse reload(ApiMemberTalkReloadDto dto); + + void startStream(ApiMemberTalkDto dto, Consumer<AiResponse> callback); + AiMemberTalk getByQuery(LambdaQueryWrapper<AiMemberTalk> query); void updateTimeUpdate(Date nowTime, String id); 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