From d82c8e05d78d52b850673e80185350d8cbe7081d Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 23 Aug 2025 19:27:46 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E3=80=90ai=20=E5=A4=A7=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E3=80=91=E7=A7=91=E5=A4=A7=E8=AE=AF=E9=A3=9E=E6=98=9F?= =?UTF-8?q?=E7=81=AB=20thinking=20=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/model/xinghuo/XingHuoChatModel.java | 3 +- .../iocoder/yudao/module/ai/util/AiUtils.java | 4 +-- .../core/model/chat/DouBaoChatModelTests.java | 19 ++++++++++++ .../model/chat/XingHuoChatModelTests.java | 31 +++++++++++++++---- .../src/main/resources/application.yaml | 2 +- 5 files changed, 48 insertions(+), 11 deletions(-) diff --git a/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/xinghuo/XingHuoChatModel.java b/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/xinghuo/XingHuoChatModel.java index 8c18c1e8b0..cbac3b6df5 100644 --- a/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/xinghuo/XingHuoChatModel.java +++ b/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/xinghuo/XingHuoChatModel.java @@ -6,7 +6,6 @@ import org.springframework.ai.chat.model.ChatModel; import org.springframework.ai.chat.model.ChatResponse; import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.chat.prompt.Prompt; -import org.springframework.ai.openai.OpenAiChatModel; import reactor.core.publisher.Flux; /** @@ -31,7 +30,7 @@ public class XingHuoChatModel implements ChatModel { /** * v1 兼容 OpenAI 接口,进行复用 */ - private final OpenAiChatModel openAiChatModelV1; + private final ChatModel openAiChatModelV1; @Override public ChatResponse call(Prompt prompt) { diff --git a/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java b/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java index b38d8255f0..24ef4be2ad 100644 --- a/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java +++ b/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java @@ -51,7 +51,8 @@ public class AiUtils { case DEEP_SEEK: case DOU_BAO: // 复用 DeepSeek 客户端 case HUN_YUAN: // 复用 DeepSeek 客户端 - case SILICON_FLOW: // 复用 OpenAI 客户端 + case SILICON_FLOW: // 复用 DeepSeek 客户端 + case XING_HUO: // 复用 DeepSeek 客户端 return DeepSeekChatOptions.builder().model(model).temperature(temperature).maxTokens(maxTokens) .toolNames(toolNames).toolContext(toolContext).build(); case ZHI_PU: @@ -65,7 +66,6 @@ public class AiUtils { .toolNames(toolNames).toolContext(toolContext).build(); case OPENAI: case GEMINI: // 复用 OpenAI 客户端 - case XING_HUO: // 复用 OpenAI 客户端 case BAI_CHUAN: // 复用 OpenAI 客户端 return OpenAiChatOptions.builder().model(model).temperature(temperature).maxTokens(maxTokens) .toolNames(toolNames).toolContext(toolContext).build(); diff --git a/yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DouBaoChatModelTests.java b/yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DouBaoChatModelTests.java index f60fa442ca..38c4f0b018 100644 --- a/yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DouBaoChatModelTests.java +++ b/yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DouBaoChatModelTests.java @@ -70,4 +70,23 @@ public class DouBaoChatModelTests { flux.doOnNext(System.out::println).then().block(); } + @Test + @Disabled + public void testStream_thinking() { + // 准备参数 + List messages = new ArrayList<>(); + messages.add(new UserMessage("详细分析下,如何设计一个电商系统?")); + DeepSeekChatOptions options = DeepSeekChatOptions.builder() + .model("doubao-seed-1-6-thinking-250715") + .build(); + + // 调用 + Flux flux = chatModel.stream(new Prompt(messages, options)); + // 打印结果 + flux.doOnNext(response -> { +// System.out.println(response); + System.out.println(response.getResult().getOutput()); + }).then().block(); + } + } diff --git a/yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/XingHuoChatModelTests.java b/yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/XingHuoChatModelTests.java index 72c8eca29c..77dbd2bc65 100644 --- a/yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/XingHuoChatModelTests.java +++ b/yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/XingHuoChatModelTests.java @@ -8,9 +8,9 @@ import org.springframework.ai.chat.messages.SystemMessage; import org.springframework.ai.chat.messages.UserMessage; import org.springframework.ai.chat.model.ChatResponse; import org.springframework.ai.chat.prompt.Prompt; -import org.springframework.ai.openai.OpenAiChatModel; -import org.springframework.ai.openai.OpenAiChatOptions; -import org.springframework.ai.openai.api.OpenAiApi; +import org.springframework.ai.deepseek.DeepSeekChatModel; +import org.springframework.ai.deepseek.DeepSeekChatOptions; +import org.springframework.ai.deepseek.api.DeepSeekApi; import reactor.core.publisher.Flux; import java.util.ArrayList; @@ -23,13 +23,13 @@ import java.util.List; */ public class XingHuoChatModelTests { - private final OpenAiChatModel openAiChatModel = OpenAiChatModel.builder() - .openAiApi(OpenAiApi.builder() + private final DeepSeekChatModel openAiChatModel = DeepSeekChatModel.builder() + .deepSeekApi(DeepSeekApi.builder() .baseUrl(XingHuoChatModel.BASE_URL_V2) .completionsPath(XingHuoChatModel.BASE_COMPLETIONS_PATH_V2) .apiKey("75b161ed2aef4719b275d6e7f2a4d4cd:YWYxYWI2MTA4ODI2NGZlYTQyNjAzZTcz") // appKey:secretKey .build()) - .defaultOptions(OpenAiChatOptions.builder() + .defaultOptions(DeepSeekChatOptions.builder() // .model("generalv3.5") // 模型 .model("x1") // 模型 .temperature(0.7) @@ -66,4 +66,23 @@ public class XingHuoChatModelTests { flux.doOnNext(System.out::println).then().block(); } + @Test + @Disabled + public void testStream_thinking() { + // 准备参数 + List messages = new ArrayList<>(); + messages.add(new UserMessage("详细分析下,如何设计一个电商系统?")); + DeepSeekChatOptions options = DeepSeekChatOptions.builder() + .model("x1") + .build(); + + // 调用 + Flux flux = chatModel.stream(new Prompt(messages, options)); + // 打印结果 + flux.doOnNext(response -> { +// System.out.println(response); + System.out.println(response.getResult().getOutput()); + }).then().block(); + } + } diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml index 7eddd1a60a..ca43def16c 100644 --- a/yudao-server/src/main/resources/application.yaml +++ b/yudao-server/src/main/resources/application.yaml @@ -217,7 +217,7 @@ yudao: enable: true appKey: 75b161ed2aef4719b275d6e7f2a4d4cd secretKey: YWYxYWI2MTA4ODI2NGZlYTQyNjAzZTcz - model: generalv3.5 + model: x1 baichuan: # 百川智能 enable: true api-key: sk-abc