1 line
39 KiB
JSON
1 line
39 KiB
JSON
{"repo": "be-happy4/happy-marathon", "files": {"yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/HunYuanChatModelTests.java": {"f841241bdd37160e8224c3f99d582488c6c66b37": {"t": 1785747153.451155, "n": 5215, "h": "1fcc85770879b56e", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat;\n\nimport cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan.HunYuanChatModel;\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.ai.chat.messages.Message;\nimport org.springframework.ai.chat.messages.SystemMessage;\nimport org.springframework.ai.chat.messages.UserMessage;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport org.springframework.ai.deepseek.DeepSeekChatModel;\nimport org.springframework.ai.deepseek.DeepSeekChatOptions;\nimport org.springframework.ai.deepseek.api.DeepSeekApi;\nimport reactor.core.publisher.Flux;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * {@link HunYuanChatModel} 集成测试\n *\n * @author 芋道源码\n */\npublic class HunYuanChatModelTests {\n\n private final DeepSeekChatModel openAiChatModel = DeepSeekChatModel.builder()\n .deepSeekApi(DeepSeekApi.builder()\n .baseUrl(HunYuanChatModel.BASE_URL)\n .completionsPath(HunYuanChatModel.COMPLETE_PATH)\n .apiKey(\"sk-abc\") // apiKey\n .build())\n .defaultOptions(DeepSeekChatOptions.builder()\n .model(HunYuanChatModel.MODEL_DEFAULT) // 模型\n .temperature(0.7)\n .build())\n .build();\n\n private final HunYuanChatModel chatModel = new HunYuanChatModel(openAiChatModel);\n\n @Test\n @Disabled\n public void testCall() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = chatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n @Test\n @Disabled\n public void testStream_thinking() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new UserMessage(\"详细分析下,如何设计一个电商系统?\"));\n DeepSeekChatOptions options = DeepSeekChatOptions.builder()\n .model(\"hunyuan-a13b\")\n// .model(\"hunyuan-turbos-latest\")\n .build();\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages, options));\n // 打印结果\n flux.doOnNext(response -> {\n// System.out.println(response);\n System.out.println(response.getResult().getOutput());\n }).then().block();\n }\n\n private final DeepSeekChatModel deepSeekOpenAiChatModel = DeepSeekChatModel.builder()\n .deepSeekApi(DeepSeekApi.builder()\n .baseUrl(HunYuanChatModel.DEEP_SEEK_BASE_URL)\n .completionsPath(HunYuanChatModel.COMPLETE_PATH)\n .apiKey(\"sk-abc\") // apiKey\n .build())\n .defaultOptions(DeepSeekChatOptions.builder()\n// .model(HunYuanChatModel.DEEP_SEEK_MODEL_DEFAULT) // 模型(\"deepseek-v3\")\n .model(\"deepseek-r1\") // 模型(\"deepseek-r1\")\n .temperature(0.7)\n .build())\n .build();\n\n private final HunYuanChatModel deepSeekChatModel = new HunYuanChatModel(deepSeekOpenAiChatModel);\n\n @Test\n @Disabled\n public void testCall_deepseek() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = deepSeekChatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream_deepseek() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = deepSeekChatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n @Test\n @Disabled\n public void testStream_deepseek_thinking() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new UserMessage(\"详细分析下,如何设计一个电商系统?\"));\n DeepSeekChatOptions options = DeepSeekChatOptions.builder()\n .model(\"deepseek-r1\")\n .build();\n\n // 调用\n Flux<ChatResponse> flux = deepSeekChatModel.stream(new Prompt(messages, options));\n // 打印结果\n flux.doOnNext(response -> {\n// System.out.println(response);\n System.out.println(response.getResult().getOutput());\n }).then().block();\n }\n\n}\n"}, "dfc3c6227c6180206305996b12bd3e12d416f3ea": {"t": 1785770740.3498414, "n": 5215, "h": "1fcc85770879b56e", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat;\n\nimport cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan.HunYuanChatModel;\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.ai.chat.messages.Message;\nimport org.springframework.ai.chat.messages.SystemMessage;\nimport org.springframework.ai.chat.messages.UserMessage;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport org.springframework.ai.deepseek.DeepSeekChatModel;\nimport org.springframework.ai.deepseek.DeepSeekChatOptions;\nimport org.springframework.ai.deepseek.api.DeepSeekApi;\nimport reactor.core.publisher.Flux;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * {@link HunYuanChatModel} 集成测试\n *\n * @author 芋道源码\n */\npublic class HunYuanChatModelTests {\n\n private final DeepSeekChatModel openAiChatModel = DeepSeekChatModel.builder()\n .deepSeekApi(DeepSeekApi.builder()\n .baseUrl(HunYuanChatModel.BASE_URL)\n .completionsPath(HunYuanChatModel.COMPLETE_PATH)\n .apiKey(\"sk-abc\") // apiKey\n .build())\n .defaultOptions(DeepSeekChatOptions.builder()\n .model(HunYuanChatModel.MODEL_DEFAULT) // 模型\n .temperature(0.7)\n .build())\n .build();\n\n private final HunYuanChatModel chatModel = new HunYuanChatModel(openAiChatModel);\n\n @Test\n @Disabled\n public void testCall() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = chatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n @Test\n @Disabled\n public void testStream_thinking() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new UserMessage(\"详细分析下,如何设计一个电商系统?\"));\n DeepSeekChatOptions options = DeepSeekChatOptions.builder()\n .model(\"hunyuan-a13b\")\n// .model(\"hunyuan-turbos-latest\")\n .build();\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages, options));\n // 打印结果\n flux.doOnNext(response -> {\n// System.out.println(response);\n System.out.println(response.getResult().getOutput());\n }).then().block();\n }\n\n private final DeepSeekChatModel deepSeekOpenAiChatModel = DeepSeekChatModel.builder()\n .deepSeekApi(DeepSeekApi.builder()\n .baseUrl(HunYuanChatModel.DEEP_SEEK_BASE_URL)\n .completionsPath(HunYuanChatModel.COMPLETE_PATH)\n .apiKey(\"sk-abc\") // apiKey\n .build())\n .defaultOptions(DeepSeekChatOptions.builder()\n// .model(HunYuanChatModel.DEEP_SEEK_MODEL_DEFAULT) // 模型(\"deepseek-v3\")\n .model(\"deepseek-r1\") // 模型(\"deepseek-r1\")\n .temperature(0.7)\n .build())\n .build();\n\n private final HunYuanChatModel deepSeekChatModel = new HunYuanChatModel(deepSeekOpenAiChatModel);\n\n @Test\n @Disabled\n public void testCall_deepseek() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = deepSeekChatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream_deepseek() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = deepSeekChatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n @Test\n @Disabled\n public void testStream_deepseek_thinking() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new UserMessage(\"详细分析下,如何设计一个电商系统?\"));\n DeepSeekChatOptions options = DeepSeekChatOptions.builder()\n .model(\"deepseek-r1\")\n .build();\n\n // 调用\n Flux<ChatResponse> flux = deepSeekChatModel.stream(new Prompt(messages, options));\n // 打印结果\n flux.doOnNext(response -> {\n// System.out.println(response);\n System.out.println(response.getResult().getOutput());\n }).then().block();\n }\n\n}\n"}, "5caa9e9395b4143da1441fd5b99e201ea4e234c6": {"t": 1785770741.89995, "n": 3742, "h": "7fbc0886f7a68506", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat;\n\nimport cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan.HunYuanChatModel;\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.ai.chat.messages.Message;\nimport org.springframework.ai.chat.messages.SystemMessage;\nimport org.springframework.ai.chat.messages.UserMessage;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport org.springframework.ai.openai.OpenAiChatModel;\nimport org.springframework.ai.openai.OpenAiChatOptions;\nimport org.springframework.ai.openai.api.OpenAiApi;\nimport reactor.core.publisher.Flux;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * {@link HunYuanChatModel} 集成测试\n *\n * @author 芋道源码\n */\npublic class HunYuanChatModelTests {\n\n private final OpenAiChatModel openAiChatModel = OpenAiChatModel.builder()\n .openAiApi(OpenAiApi.builder()\n .baseUrl(HunYuanChatModel.BASE_URL)\n .apiKey(\"sk-bcd\") // apiKey\n .build())\n .defaultOptions(OpenAiChatOptions.builder()\n .model(HunYuanChatModel.MODEL_DEFAULT) // 模型\n .temperature(0.7)\n .build())\n .build();\n\n private final HunYuanChatModel chatModel = new HunYuanChatModel(openAiChatModel);\n\n @Test\n @Disabled\n public void testCall() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = chatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n private final OpenAiChatModel deepSeekOpenAiChatModel = OpenAiChatModel.builder()\n .openAiApi(OpenAiApi.builder()\n .baseUrl(HunYuanChatModel.DEEP_SEEK_BASE_URL)\n .apiKey(\"sk-abc\") // apiKey\n .build())\n .defaultOptions(OpenAiChatOptions.builder()\n// .model(HunYuanChatModel.DEEP_SEEK_MODEL_DEFAULT) // 模型(\"deepseek-v3\")\n .model(\"deepseek-r1\") // 模型(\"deepseek-r1\")\n .temperature(0.7)\n .build())\n .build();\n\n private final HunYuanChatModel deepSeekChatModel = new HunYuanChatModel(deepSeekOpenAiChatModel);\n\n @Test\n @Disabled\n public void testCall_deepseek() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = deepSeekChatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream_deekseek() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = deepSeekChatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n\n}\n"}}, "yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/SiliconFlowChatModelTests.java": {"f841241bdd37160e8224c3f99d582488c6c66b37": {"t": 1785747153.9690907, "n": 3244, "h": "ee18510d921fc677", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat;\n\nimport cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowApiConstants;\nimport cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowChatModel;\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.ai.chat.messages.Message;\nimport org.springframework.ai.chat.messages.SystemMessage;\nimport org.springframework.ai.chat.messages.UserMessage;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport org.springframework.ai.deepseek.DeepSeekChatModel;\nimport org.springframework.ai.deepseek.DeepSeekChatOptions;\nimport org.springframework.ai.deepseek.api.DeepSeekApi;\nimport reactor.core.publisher.Flux;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * {@link SiliconFlowChatModel} 集成测试\n *\n * @author 芋道源码\n */\npublic class SiliconFlowChatModelTests {\n\n private final DeepSeekChatModel openAiChatModel = DeepSeekChatModel.builder()\n .deepSeekApi(DeepSeekApi.builder()\n .baseUrl(SiliconFlowApiConstants.DEFAULT_BASE_URL)\n .apiKey(\"sk-epsakfenqnyzoxhmbucsxlhkdqlcbnimslqoivkshalvdozz\") // apiKey\n .build())\n .defaultOptions(DeepSeekChatOptions.builder()\n .model(SiliconFlowApiConstants.MODEL_DEFAULT) // 模型\n// .model(\"deepseek-ai/DeepSeek-R1\") // 模型(deepseek-ai/DeepSeek-R1)可用赠费\n// .model(\"Pro/deepseek-ai/DeepSeek-R1\") // 模型(Pro/deepseek-ai/DeepSeek-R1)需要付费\n .temperature(0.7)\n .build())\n .build();\n\n private final SiliconFlowChatModel chatModel = new SiliconFlowChatModel(openAiChatModel);\n\n @Test\n @Disabled\n public void testCall() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = chatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n @Test\n @Disabled\n public void testStream_thinking() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new UserMessage(\"详细分析下,如何设计一个电商系统?\"));\n DeepSeekChatOptions options = DeepSeekChatOptions.builder()\n .model(\"deepseek-ai/DeepSeek-R1\")\n .build();\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages, options));\n // 打印结果\n flux.doOnNext(response -> {\n// System.out.println(response);\n System.out.println(response.getResult().getOutput());\n }).then().block();\n }\n\n}\n"}, "2fa5909061a8a36113b0fa4e0bbd311205b59115": {"t": 1785770740.11694, "n": 3244, "h": "ee18510d921fc677", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat;\n\nimport cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowApiConstants;\nimport cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowChatModel;\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.ai.chat.messages.Message;\nimport org.springframework.ai.chat.messages.SystemMessage;\nimport org.springframework.ai.chat.messages.UserMessage;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport org.springframework.ai.deepseek.DeepSeekChatModel;\nimport org.springframework.ai.deepseek.DeepSeekChatOptions;\nimport org.springframework.ai.deepseek.api.DeepSeekApi;\nimport reactor.core.publisher.Flux;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * {@link SiliconFlowChatModel} 集成测试\n *\n * @author 芋道源码\n */\npublic class SiliconFlowChatModelTests {\n\n private final DeepSeekChatModel openAiChatModel = DeepSeekChatModel.builder()\n .deepSeekApi(DeepSeekApi.builder()\n .baseUrl(SiliconFlowApiConstants.DEFAULT_BASE_URL)\n .apiKey(\"sk-epsakfenqnyzoxhmbucsxlhkdqlcbnimslqoivkshalvdozz\") // apiKey\n .build())\n .defaultOptions(DeepSeekChatOptions.builder()\n .model(SiliconFlowApiConstants.MODEL_DEFAULT) // 模型\n// .model(\"deepseek-ai/DeepSeek-R1\") // 模型(deepseek-ai/DeepSeek-R1)可用赠费\n// .model(\"Pro/deepseek-ai/DeepSeek-R1\") // 模型(Pro/deepseek-ai/DeepSeek-R1)需要付费\n .temperature(0.7)\n .build())\n .build();\n\n private final SiliconFlowChatModel chatModel = new SiliconFlowChatModel(openAiChatModel);\n\n @Test\n @Disabled\n public void testCall() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = chatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n @Test\n @Disabled\n public void testStream_thinking() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new UserMessage(\"详细分析下,如何设计一个电商系统?\"));\n DeepSeekChatOptions options = DeepSeekChatOptions.builder()\n .model(\"deepseek-ai/DeepSeek-R1\")\n .build();\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages, options));\n // 打印结果\n flux.doOnNext(response -> {\n// System.out.println(response);\n System.out.println(response.getResult().getOutput());\n }).then().block();\n }\n\n}\n"}, "5caa9e9395b4143da1441fd5b99e201ea4e234c6": {"t": 1785770741.3632157, "n": 2592, "h": "118f7aa40ff60a3f", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat;\n\nimport cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowApiConstants;\nimport cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowChatModel;\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.ai.chat.messages.Message;\nimport org.springframework.ai.chat.messages.SystemMessage;\nimport org.springframework.ai.chat.messages.UserMessage;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport org.springframework.ai.openai.OpenAiChatModel;\nimport org.springframework.ai.openai.OpenAiChatOptions;\nimport org.springframework.ai.openai.api.OpenAiApi;\nimport reactor.core.publisher.Flux;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * {@link SiliconFlowChatModel} 集成测试\n *\n * @author 芋道源码\n */\npublic class SiliconFlowChatModelTests {\n\n private final OpenAiChatModel openAiChatModel = OpenAiChatModel.builder()\n .openAiApi(OpenAiApi.builder()\n .baseUrl(SiliconFlowApiConstants.DEFAULT_BASE_URL)\n .apiKey(\"sk-epsakfenqnyzoxhmbucsxlhkdqlcbnimslqoivkshalvdozz\") // apiKey\n .build())\n .defaultOptions(OpenAiChatOptions.builder()\n .model(SiliconFlowApiConstants.MODEL_DEFAULT) // 模型\n// .model(\"deepseek-ai/DeepSeek-R1\") // 模型(deepseek-ai/DeepSeek-R1)可用赠费\n// .model(\"Pro/deepseek-ai/DeepSeek-R1\") // 模型(Pro/deepseek-ai/DeepSeek-R1)需要付费\n .temperature(0.7)\n .build())\n .build();\n\n private final SiliconFlowChatModel chatModel = new SiliconFlowChatModel(openAiChatModel);\n\n @Test\n @Disabled\n public void testCall() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = chatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n}\n"}}, "yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DeepSeekChatModelTests.java": {"f841241bdd37160e8224c3f99d582488c6c66b37": {"t": 1785747158.5354085, "n": 2645, "h": "181a9b6a72ac71e4", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat;\n\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.ai.chat.messages.Message;\nimport org.springframework.ai.chat.messages.SystemMessage;\nimport org.springframework.ai.chat.messages.UserMessage;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport org.springframework.ai.deepseek.DeepSeekChatModel;\nimport org.springframework.ai.deepseek.DeepSeekChatOptions;\nimport org.springframework.ai.deepseek.api.DeepSeekApi;\nimport reactor.core.publisher.Flux;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * {@link DeepSeekChatModel} 集成测试\n *\n * @author 芋道源码\n */\npublic class DeepSeekChatModelTests {\n\n private final DeepSeekChatModel chatModel = DeepSeekChatModel.builder()\n .deepSeekApi(DeepSeekApi.builder()\n .apiKey(\"sk-eaf4172a057344dd9bc64b1f806b6axx\") // apiKey\n .build())\n .defaultOptions(DeepSeekChatOptions.builder()\n .model(\"deepseek-chat\") // 模型\n .temperature(0.7)\n .build())\n .build();\n\n @Test\n @Disabled\n public void testCall() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = chatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n @Test\n @Disabled\n public void testStream_thinking() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new UserMessage(\"详细分析下,如何设计一个电商系统?\"));\n DeepSeekChatOptions options = DeepSeekChatOptions.builder()\n .model(\"deepseek-reasoner\")\n .build();\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages, options));\n // 打印结果\n flux.doOnNext(response -> {\n// System.out.println(response);\n System.out.println(response.getResult().getOutput());\n }).then().block();\n }\n\n}\n"}, "69d99aa4ea6ab28c4b6f333e8a3e774b41997a51": {"t": 1785770740.302845, "n": 2645, "h": "181a9b6a72ac71e4", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat;\n\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.ai.chat.messages.Message;\nimport org.springframework.ai.chat.messages.SystemMessage;\nimport org.springframework.ai.chat.messages.UserMessage;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport org.springframework.ai.deepseek.DeepSeekChatModel;\nimport org.springframework.ai.deepseek.DeepSeekChatOptions;\nimport org.springframework.ai.deepseek.api.DeepSeekApi;\nimport reactor.core.publisher.Flux;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * {@link DeepSeekChatModel} 集成测试\n *\n * @author 芋道源码\n */\npublic class DeepSeekChatModelTests {\n\n private final DeepSeekChatModel chatModel = DeepSeekChatModel.builder()\n .deepSeekApi(DeepSeekApi.builder()\n .apiKey(\"sk-eaf4172a057344dd9bc64b1f806b6axx\") // apiKey\n .build())\n .defaultOptions(DeepSeekChatOptions.builder()\n .model(\"deepseek-chat\") // 模型\n .temperature(0.7)\n .build())\n .build();\n\n @Test\n @Disabled\n public void testCall() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = chatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n @Test\n @Disabled\n public void testStream_thinking() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new UserMessage(\"详细分析下,如何设计一个电商系统?\"));\n DeepSeekChatOptions options = DeepSeekChatOptions.builder()\n .model(\"deepseek-reasoner\")\n .build();\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages, options));\n // 打印结果\n flux.doOnNext(response -> {\n// System.out.println(response);\n System.out.println(response.getResult().getOutput());\n }).then().block();\n }\n\n}\n"}, "3d0eb77148c5869c42699ba1f2831e4ed89f01ab": {"t": 1785770741.7827296, "n": 2021, "h": "814e162b3a28730b", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat;\n\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.ai.chat.messages.Message;\nimport org.springframework.ai.chat.messages.SystemMessage;\nimport org.springframework.ai.chat.messages.UserMessage;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport org.springframework.ai.deepseek.DeepSeekChatModel;\nimport org.springframework.ai.deepseek.DeepSeekChatOptions;\nimport org.springframework.ai.deepseek.api.DeepSeekApi;\nimport reactor.core.publisher.Flux;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * {@link DeepSeekChatModel} 集成测试\n *\n * @author 芋道源码\n */\npublic class DeepSeekChatModelTests {\n\n private final DeepSeekChatModel chatModel = DeepSeekChatModel.builder()\n .deepSeekApi(DeepSeekApi.builder()\n .apiKey(\"sk-eaf4172a057344dd9bc64b1f806b6axx\") // apiKey\n .build())\n .defaultOptions(DeepSeekChatOptions.builder()\n .model(\"deepseek-chat\") // 模型\n .temperature(0.7)\n .build())\n .build();\n\n @Test\n @Disabled\n public void testCall() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = chatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n}\n"}, "5caa9e9395b4143da1441fd5b99e201ea4e234c6": {"t": 1785770743.0643241, "n": 2233, "h": "b0b23971d0b86426", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat;\n\nimport cn.iocoder.yudao.module.ai.framework.ai.core.model.deepseek.DeepSeekChatModel;\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.ai.chat.messages.Message;\nimport org.springframework.ai.chat.messages.SystemMessage;\nimport org.springframework.ai.chat.messages.UserMessage;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport org.springframework.ai.openai.OpenAiChatModel;\nimport org.springframework.ai.openai.OpenAiChatOptions;\nimport org.springframework.ai.openai.api.OpenAiApi;\nimport reactor.core.publisher.Flux;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * {@link DeepSeekChatModel} 集成测试\n *\n * @author 芋道源码\n */\npublic class DeepSeekChatModelTests {\n\n private final OpenAiChatModel openAiChatModel = OpenAiChatModel.builder()\n .openAiApi(OpenAiApi.builder()\n .baseUrl(DeepSeekChatModel.BASE_URL)\n .apiKey(\"sk-e52047409b144d97b791a6a46a2d\") // apiKey\n .build())\n .defaultOptions(OpenAiChatOptions.builder()\n .model(\"deepseek-chat\") // 模型\n .temperature(0.7)\n .build())\n .build();\n\n private final DeepSeekChatModel chatModel = new DeepSeekChatModel(openAiChatModel);\n\n @Test\n @Disabled\n public void testCall() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n ChatResponse response = chatModel.call(new Prompt(messages));\n // 打印结果\n System.out.println(response);\n }\n\n @Test\n @Disabled\n public void testStream() {\n // 准备参数\n List<Message> messages = new ArrayList<>();\n messages.add(new SystemMessage(\"你是一个优质的文言文作者,用文言文描述着各城市的人文风景。\"));\n messages.add(new UserMessage(\"1 + 1 = ?\"));\n\n // 调用\n Flux<ChatResponse> flux = chatModel.stream(new Prompt(messages));\n // 打印结果\n flux.doOnNext(System.out::println).then().block();\n }\n\n}\n"}}, "yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/hunyuan/HunYuanChatModel.java": {"f841241bdd37160e8224c3f99d582488c6c66b37": {"t": 1785809890.2321947, "n": 1561, "h": "2e1b328b1309367d", "c": "package cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan;\n\nimport lombok.RequiredArgsConstructor;\nimport lombok.extern.slf4j.Slf4j;\nimport org.springframework.ai.chat.model.ChatModel;\nimport org.springframework.ai.chat.model.ChatResponse;\nimport org.springframework.ai.chat.prompt.ChatOptions;\nimport org.springframework.ai.chat.prompt.Prompt;\nimport reactor.core.publisher.Flux;\n\n/**\n * 腾云混元 {@link ChatModel} 实现类\n *\n * 1. 混元大模型:基于 <a href=\"https://cloud.tencent.com/document/product/1729/111007\">知识引擎原子能力</a> 实现\n * 2. 知识引擎原子能力:基于 <a href=\"https://cloud.tencent.com/document/product/1772/115969\">知识引擎原子能力</a> 实现\n *\n * @author fansili\n */\n@Slf4j\n@RequiredArgsConstructor\npublic class HunYuanChatModel implements ChatModel {\n\n public static final String BASE_URL = \"https://api.hunyuan.cloud.tencent.com\";\n public static final String COMPLETE_PATH = \"/v1/chat/completions\";\n\n public static final String MODEL_DEFAULT = \"hunyuan-turbo\";\n\n public static final String DEEP_SEEK_BASE_URL = \"https://api.lkeap.cloud.tencent.com\";\n\n public static final String DEEP_SEEK_MODEL_DEFAULT = \"deepseek-v3\";\n\n /**\n * 兼容 OpenAI 接口,进行复用\n */\n private final ChatModel openAiChatModel;\n\n @Override\n public ChatResponse call(Prompt prompt) {\n return openAiChatModel.call(prompt);\n }\n\n @Override\n public Flux<ChatResponse> stream(Prompt prompt) {\n return openAiChatModel.stream(prompt);\n }\n\n @Override\n public ChatOptions getDefaultOptions() {\n return openAiChatModel.getDefaultOptions();\n }\n\n}\n"}}}} |