Commit f4a0058e88ab97b6c4af52a155ff1975dd7129b5

Authored by YunaiV
1 parent 645dfae0

【代码评审】AI:qwen 的接入调整

Showing 12 changed files with 22 additions and 24 deletions
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/config/AiChatClientFactory.java
... ... @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.ai.config;
3 3 import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
4 4 import org.springframework.ai.chat.ChatClient;
5 5 import org.springframework.ai.chat.StreamingChatClient;
6   -import org.springframework.ai.models.tongyi.QianWenChatClient;
  6 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.QianWenChatClient;
7 7 import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatClient;
8 8 import cn.iocoder.yudao.framework.ai.core.model.yiyan.YiYanChatClient;
9 9 import org.springframework.ai.ollama.OllamaChatClient;
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java
1 1 package cn.iocoder.yudao.framework.ai.config;
2 2  
3 3 import cn.hutool.core.io.IoUtil;
4   -import org.springframework.ai.models.tongyi.QianWenChatClient;
5   -import org.springframework.ai.models.tongyi.QianWenChatModal;
6   -import org.springframework.ai.models.tongyi.QianWenOptions;
7   -import org.springframework.ai.models.tongyi.api.QianWenApi;
  4 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.QianWenChatClient;
  5 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.QianWenChatModal;
  6 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.QianWenOptions;
  7 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.api.QianWenApi;
8 8 import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatClient;
9 9 import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoOptions;
10 10 import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoApi;
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/enums/AiPlatformEnum.java
... ... @@ -5,10 +5,9 @@ import lombok.Getter;
5 5  
6 6 // TODO 芋艿:这块,看看要不要调整下;
7 7 /**
8   - * ai 模型平台
  8 + * AI 模型平台
9 9 *
10   - * author: fansili
11   - * time: 2024/3/11 10:12
  10 + * @author fansili
12 11 */
13 12 @Getter
14 13 @AllArgsConstructor
... ... @@ -18,7 +17,6 @@ public enum AiPlatformEnum {
18 17 OLLAMA("Ollama", "Ollama"),
19 18 YI_YAN("YiYan", "文心一言"), // 百度
20 19 XING_HUO("XingHuo", "星火"), // 讯飞
21   -
22 20 QIAN_WEN("qianwen", "千问"), // 阿里
23 21  
24 22 OPEN_AI_DALL("dall", "dall"),
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenChatClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/tongyi/QianWenChatClient.java
1   -package org.springframework.ai.models.tongyi;
  1 +package cn.iocoder.yudao.framework.ai.core.model.tongyi;
2 2  
3 3 import cn.iocoder.yudao.framework.ai.core.exception.ChatException;
  4 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.api.QianWenApi;
4 5 import org.springframework.ai.chat.*;
5 6 import org.springframework.ai.chat.prompt.ChatOptions;
6 7 import org.springframework.ai.chat.prompt.Prompt;
7   -import org.springframework.ai.models.tongyi.api.QianWenApi;
8 8 import cn.iocoder.yudao.framework.ai.core.model.yiyan.exception.YiYanApiException;
9 9 import com.alibaba.dashscope.aigc.generation.GenerationResult;
10 10 import com.alibaba.dashscope.aigc.generation.models.QwenParam;
... ... @@ -24,6 +24,7 @@ import java.time.Duration;
24 24 import java.util.List;
25 25 import java.util.stream.Collectors;
26 26  
  27 +// TODO @芋艿:暂时不需要重构;等 spring cloud alibaba 的 ai 发布最新的
27 28 /**
28 29 * 阿里 通义千问 client
29 30 * <p>
... ... @@ -39,7 +40,6 @@ public class QianWenChatClient implements ChatClient, StreamingChatClient {
39 40  
40 41 private QianWenOptions qianWenOptions;
41 42  
42   -
43 43 public QianWenChatClient() {
44 44 }
45 45  
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenChatModal.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/tongyi/QianWenChatModal.java
1   -package org.springframework.ai.models.tongyi;
  1 +package cn.iocoder.yudao.framework.ai.core.model.tongyi;
2 2  
3 3 import lombok.AllArgsConstructor;
4 4 import lombok.Getter;
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenOptions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/tongyi/QianWenOptions.java
1   -package org.springframework.ai.models.tongyi;
  1 +package cn.iocoder.yudao.framework.ai.core.model.tongyi;
2 2  
3 3 import org.springframework.ai.chat.prompt.ChatOptions;
4 4 import lombok.Data;
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenApi.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/tongyi/api/QianWenApi.java
1   -package org.springframework.ai.models.tongyi.api;
  1 +package cn.iocoder.yudao.framework.ai.core.model.tongyi.api;
2 2  
3   -import org.springframework.ai.models.tongyi.QianWenChatModal;
  3 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.QianWenChatModal;
4 4 import cn.iocoder.yudao.framework.ai.core.exception.AiException;
5 5 import com.alibaba.dashscope.aigc.generation.Generation;
6 6 import com.alibaba.dashscope.aigc.generation.GenerationResult;
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletion.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/tongyi/api/QianWenChatCompletion.java
1   -package org.springframework.ai.models.tongyi.api;
  1 +package cn.iocoder.yudao.framework.ai.core.model.tongyi.api;
2 2  
3 3  
4 4 /**
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletionMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/tongyi/api/QianWenChatCompletionMessage.java
1   -package org.springframework.ai.models.tongyi.api;
  1 +package cn.iocoder.yudao.framework.ai.core.model.tongyi.api;
2 2  
3 3 /**
4 4 * author: fansili
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletionRequest.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/tongyi/api/QianWenChatCompletionRequest.java
1   -package org.springframework.ai.models.tongyi.api;
  1 +package cn.iocoder.yudao.framework.ai.core.model.tongyi.api;
2 2  
3 3 import com.alibaba.dashscope.aigc.generation.models.QwenParam;
4 4  
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/package-info.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/tongyi/package-info.java
... ... @@ -8,4 +8,4 @@
8 8 * author: fansili
9 9 * time: 2024/3/13 21:05
10 10 */
11   -package org.springframework.ai.models.tongyi;
12 11 \ No newline at end of file
  12 +package cn.iocoder.yudao.framework.ai.core.model.tongyi;
13 13 \ No newline at end of file
... ...
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/QianWenChatClientTests.java
... ... @@ -4,10 +4,10 @@ import org.springframework.ai.chat.ChatResponse;
4 4 import org.springframework.ai.chat.messages.SystemMessage;
5 5 import org.springframework.ai.chat.messages.UserMessage;
6 6 import org.springframework.ai.chat.prompt.Prompt;
7   -import org.springframework.ai.models.tongyi.QianWenChatClient;
8   -import org.springframework.ai.models.tongyi.QianWenChatModal;
9   -import org.springframework.ai.models.tongyi.QianWenOptions;
10   -import org.springframework.ai.models.tongyi.api.QianWenApi;
  7 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.QianWenChatClient;
  8 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.QianWenChatModal;
  9 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.QianWenOptions;
  10 +import cn.iocoder.yudao.framework.ai.core.model.tongyi.api.QianWenApi;
11 11 import com.alibaba.dashscope.aigc.generation.GenerationResult;
12 12 import com.alibaba.dashscope.aigc.generation.models.QwenParam;
13 13 import com.alibaba.dashscope.common.Message;
... ...