From 6e9730ebbbff634d27c2c49ec328156c8905b508 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 30 Oct 2025 13:52:14 +0800
Subject: [PATCH] feat(ai): 简化AI对话项创建逻辑并新增连续对话类型 - 移除复杂的对话项更新逻辑,统一通过add方法创建新项 - 新增AiTalkOutputEnum枚举值CONTEXT_TALK用于AI陪练连续对话 - 更新ApiMemberTalkAnswerSavaDto注释以包含新的对话类型 - 修复对话项创建时类型参数未正确传递的问题 - 优化代码结构,减少冗余的条件判断和数据转换操作
---
src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliLlmStrategyServiceImpl.java | 15 ++++++++++++---
1 files changed, 12 insertions(+), 3 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 c028944..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;
@@ -30,6 +31,7 @@
private static final String apiKey = "sk-babdcf8799144134915cee2683794b2f";
private static final String model = "qwen-plus";
+// private static final String model = "qwen3-14b-ft-202509031002-7446";
@PostConstruct
public void init() {
@@ -75,6 +77,7 @@
List<Message> messages = getMessages(dto);
Generation gen = new Generation();
generationParam.setMessages(messages);
+ generationParam.setEnableThinking( false);
FebsResponse febsResponse = new FebsResponse();
try {
GenerationResult result = gen.call(generationParam);
@@ -103,7 +106,7 @@
generationParam.setMessages(messages);
generationParam.setResultFormat(GenerationParam.ResultFormat.MESSAGE);
generationParam.setEnableThinking( true);
- generationParam.setIncrementalOutput(true);
+ generationParam.setIncrementalOutput( true);
Flowable<GenerationResult> result;
try {
result = gen.streamCall(generationParam);
@@ -116,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);
})
@@ -142,7 +148,8 @@
Generation gen = new Generation();
generationParam.setMessages(messages);
generationParam.setResultFormat(GenerationParam.ResultFormat.MESSAGE);
- generationParam.setIncrementalOutput(true);
+ generationParam.setIncrementalOutput( true);
+ generationParam.setEnableThinking( false);
Flowable<GenerationResult> result;
try {
result = gen.streamCall(generationParam);
@@ -154,7 +161,9 @@
.map(message -> {
HashMap<String, String> stringStringHashMap = new HashMap<>();
if (StrUtil.isNotEmpty(message.getOutput().getChoices().get(0).getMessage().getContent())){
- stringStringHashMap.put(LlmStrategyContextEnum.CONTENT.name(),message.getOutput().getChoices().get(0).getMessage().getContent());
+ String content = message.getOutput().getChoices().get(0).getMessage().getContent();
+ System.out.print( content);
+ stringStringHashMap.put(LlmStrategyContextEnum.CONTENT.name(),content);
}
return new FebsResponse().success().data(stringStringHashMap);
})
--
Gitblit v1.9.1