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/impl/AiMemberServiceImpl.java | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
index f7c232f..5dc5c78 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
@@ -251,9 +251,10 @@
if (CollUtil.isEmpty(aiMemberPoints)){
return new FebsResponse().success().data(vos);
}
- Map<String, AiMemberPoint> aiMemberPointMap = new HashMap<>();
+ Map<String, List<AiMemberPoint>> aiMemberPointMap = new HashMap<>();
if (CollUtil.isNotEmpty(aiMemberPoints)){
- aiMemberPoints.forEach(aiMemberPoint -> aiMemberPointMap.put(aiMemberPoint.getProductPointId(),aiMemberPoint));
+ //stream操作aiMemberPoints,返回一个Map<productPointId,List<AiMemberPoint>>
+ aiMemberPointMap = aiMemberPoints.stream().collect(Collectors.groupingBy(AiMemberPoint::getProductPointId));
}
//stream流操作aiMemberPoints,返回一个productPointId的set集合
@@ -273,7 +274,10 @@
vo.setTitle(aiProductPoint.getTitle());
Integer totalTime = 0;
if (aiMemberPointMap.containsKey(aiProductPoint.getId())){
- totalTime = aiMemberPointMap.get(aiProductPoint.getId()).getTotalTime();
+ List<AiMemberPoint> memberPoints = aiMemberPointMap.get(aiProductPoint.getId());
+ for (AiMemberPoint memberPoint : memberPoints){
+ totalTime += memberPoint.getTotalTime();
+ }
}
vo.setTotalTime(DateUtil.secondToTime(totalTime));
--
Gitblit v1.9.1