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/strategy/Impl/AliLlmStrategyServiceImpl.java | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliLlmStrategyServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliLlmStrategyServiceImpl.java index f9ad98f..a82ad94 100644 --- a/src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliLlmStrategyServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliLlmStrategyServiceImpl.java @@ -7,6 +7,7 @@ import cc.mrbird.febs.common.exception.FebsException; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.dashscope.aigc.generation.Generation; import com.alibaba.dashscope.aigc.generation.GenerationParam; import com.alibaba.dashscope.aigc.generation.GenerationResult; @@ -29,8 +30,8 @@ private GenerationParam generationParam; private static final String apiKey = "sk-babdcf8799144134915cee2683794b2f"; -// private static final String model = "qwen-plus"; - private static final String model = "qwen3-14b-ft-202509031002-7446"; + private static final String model = "qwen-plus"; +// private static final String model = "qwen3-14b-ft-202509031002-7446"; @PostConstruct public void init() { @@ -118,9 +119,12 @@ HashMap<String, String> stringStringHashMap = new HashMap<>(); if (StrUtil.isNotEmpty(message.getOutput().getChoices().get(0).getMessage().getReasoningContent())){ stringStringHashMap.put(LlmStrategyContextEnum.THINK.name(),message.getOutput().getChoices().get(0).getMessage().getReasoningContent()); + + System.out.print(message.getOutput().getChoices().get(0).getMessage().getReasoningContent()); } if (StrUtil.isNotEmpty(message.getOutput().getChoices().get(0).getMessage().getContent())){ stringStringHashMap.put(LlmStrategyContextEnum.CONTENT.name(),message.getOutput().getChoices().get(0).getMessage().getContent()); + System.out.print(message.getOutput().getChoices().get(0).getMessage().getContent()); } return new FebsResponse().success().data(stringStringHashMap); }) -- Gitblit v1.9.1