Commit 645dfae003c723dd268ce0cacc0f0bfaea1a8314
1 parent
04021ce0
【代码评审】AI:讯飞星火的接入调整
Showing
18 changed files
with
72 additions
and
66 deletions
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/config/AiChatClientFactory.java
| @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | ||
| 4 | import org.springframework.ai.chat.ChatClient; | 4 | import org.springframework.ai.chat.ChatClient; |
| 5 | import org.springframework.ai.chat.StreamingChatClient; | 5 | import org.springframework.ai.chat.StreamingChatClient; |
| 6 | import org.springframework.ai.models.tongyi.QianWenChatClient; | 6 | import org.springframework.ai.models.tongyi.QianWenChatClient; |
| 7 | -import org.springframework.ai.models.xinghuo.XingHuoChatClient; | 7 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatClient; |
| 8 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.YiYanChatClient; | 8 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.YiYanChatClient; |
| 9 | import org.springframework.ai.ollama.OllamaChatClient; | 9 | import org.springframework.ai.ollama.OllamaChatClient; |
| 10 | import org.springframework.beans.factory.annotation.Autowired; | 10 | import org.springframework.beans.factory.annotation.Autowired; |
| @@ -27,7 +27,7 @@ public class AiChatClientFactory { | @@ -27,7 +27,7 @@ public class AiChatClientFactory { | ||
| 27 | public ChatClient getChatClient(AiPlatformEnum platformEnum) { | 27 | public ChatClient getChatClient(AiPlatformEnum platformEnum) { |
| 28 | if (AiPlatformEnum.QIAN_WEN == platformEnum) { | 28 | if (AiPlatformEnum.QIAN_WEN == platformEnum) { |
| 29 | return applicationContext.getBean(QianWenChatClient.class); | 29 | return applicationContext.getBean(QianWenChatClient.class); |
| 30 | - } else if (AiPlatformEnum.YIYAN == platformEnum) { | 30 | + } else if (AiPlatformEnum.YI_YAN == platformEnum) { |
| 31 | return applicationContext.getBean(YiYanChatClient.class); | 31 | return applicationContext.getBean(YiYanChatClient.class); |
| 32 | } else if (AiPlatformEnum.XING_HUO == platformEnum) { | 32 | } else if (AiPlatformEnum.XING_HUO == platformEnum) { |
| 33 | return applicationContext.getBean(XingHuoChatClient.class); | 33 | return applicationContext.getBean(XingHuoChatClient.class); |
| @@ -42,7 +42,7 @@ public class AiChatClientFactory { | @@ -42,7 +42,7 @@ public class AiChatClientFactory { | ||
| 42 | // } | 42 | // } |
| 43 | if (AiPlatformEnum.QIAN_WEN == platformEnum) { | 43 | if (AiPlatformEnum.QIAN_WEN == platformEnum) { |
| 44 | return applicationContext.getBean(QianWenChatClient.class); | 44 | return applicationContext.getBean(QianWenChatClient.class); |
| 45 | - } else if (AiPlatformEnum.YIYAN == platformEnum) { | 45 | + } else if (AiPlatformEnum.YI_YAN == platformEnum) { |
| 46 | return applicationContext.getBean(YiYanChatClient.class); | 46 | return applicationContext.getBean(YiYanChatClient.class); |
| 47 | } else if (AiPlatformEnum.XING_HUO == platformEnum) { | 47 | } else if (AiPlatformEnum.XING_HUO == platformEnum) { |
| 48 | return applicationContext.getBean(XingHuoChatClient.class); | 48 | return applicationContext.getBean(XingHuoChatClient.class); |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalConfigVO.java
| @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.ai.dal.vo; | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.ai.dal.vo; | ||
| 3 | import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | 3 | import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; |
| 4 | import lombok.Data; | 4 | import lombok.Data; |
| 5 | import lombok.experimental.Accessors; | 5 | import lombok.experimental.Accessors; |
| 6 | -import org.springframework.ai.models.xinghuo.XingHuoChatModel; | 6 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; |
| 7 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.api.YiYanChatModel; | 7 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.api.YiYanChatModel; |
| 8 | 8 | ||
| 9 | /** | 9 | /** |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java
| @@ -5,9 +5,9 @@ import org.springframework.ai.models.tongyi.QianWenChatClient; | @@ -5,9 +5,9 @@ import org.springframework.ai.models.tongyi.QianWenChatClient; | ||
| 5 | import org.springframework.ai.models.tongyi.QianWenChatModal; | 5 | import org.springframework.ai.models.tongyi.QianWenChatModal; |
| 6 | import org.springframework.ai.models.tongyi.QianWenOptions; | 6 | import org.springframework.ai.models.tongyi.QianWenOptions; |
| 7 | import org.springframework.ai.models.tongyi.api.QianWenApi; | 7 | import org.springframework.ai.models.tongyi.api.QianWenApi; |
| 8 | -import org.springframework.ai.models.xinghuo.XingHuoChatClient; | ||
| 9 | -import org.springframework.ai.models.xinghuo.XingHuoOptions; | ||
| 10 | -import org.springframework.ai.models.xinghuo.api.XingHuoApi; | 8 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatClient; |
| 9 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoOptions; | ||
| 10 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoApi; | ||
| 11 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.YiYanChatClient; | 11 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.YiYanChatClient; |
| 12 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.YiYanChatOptions; | 12 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.YiYanChatOptions; |
| 13 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.api.YiYanApi; | 13 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.api.YiYanApi; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiImageProperties.java
| 1 | package cn.iocoder.yudao.framework.ai.config; | 1 | package cn.iocoder.yudao.framework.ai.config; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | 3 | import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; |
| 4 | -import org.springframework.ai.models.xinghuo.XingHuoChatModel; | ||
| 5 | -import org.springframework.ai.models.xinghuo.XingHuoOptions; | 4 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; |
| 5 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoOptions; | ||
| 6 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.api.YiYanChatModel; | 6 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.api.YiYanChatModel; |
| 7 | import lombok.Data; | 7 | import lombok.Data; |
| 8 | import lombok.experimental.Accessors; | 8 | import lombok.experimental.Accessors; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiProperties.java
| 1 | package cn.iocoder.yudao.framework.ai.config; | 1 | package cn.iocoder.yudao.framework.ai.config; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | 3 | import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; |
| 4 | -import org.springframework.ai.models.xinghuo.XingHuoChatModel; | 4 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; |
| 5 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.api.YiYanChatModel; | 5 | import cn.iocoder.yudao.framework.ai.core.model.yiyan.api.YiYanChatModel; |
| 6 | import cn.iocoder.yudao.framework.ai.core.enums.OpenAiImageModelEnum; | 6 | import cn.iocoder.yudao.framework.ai.core.enums.OpenAiImageModelEnum; |
| 7 | import cn.iocoder.yudao.framework.ai.core.enums.OpenAiImageStyleEnum; | 7 | import cn.iocoder.yudao.framework.ai.core.enums.OpenAiImageStyleEnum; |
| @@ -21,7 +21,6 @@ import org.springframework.boot.context.properties.ConfigurationProperties; | @@ -21,7 +21,6 @@ import org.springframework.boot.context.properties.ConfigurationProperties; | ||
| 21 | @ConfigurationProperties(prefix = "yudao.ai") | 21 | @ConfigurationProperties(prefix = "yudao.ai") |
| 22 | public class YudaoAiProperties { | 22 | public class YudaoAiProperties { |
| 23 | 23 | ||
| 24 | - private String initSource; | ||
| 25 | private QianWenProperties qianwen; | 24 | private QianWenProperties qianwen; |
| 26 | private XingHuoProperties xinghuo; | 25 | private XingHuoProperties xinghuo; |
| 27 | private YiYanProperties yiyan; | 26 | private YiYanProperties yiyan; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/enums/AiPlatformEnum.java
| @@ -16,16 +16,23 @@ public enum AiPlatformEnum { | @@ -16,16 +16,23 @@ public enum AiPlatformEnum { | ||
| 16 | 16 | ||
| 17 | OPENAI("OpenAI", "OpenAI"), | 17 | OPENAI("OpenAI", "OpenAI"), |
| 18 | OLLAMA("Ollama", "Ollama"), | 18 | OLLAMA("Ollama", "Ollama"), |
| 19 | - YIYAN("YiYan", "文心一言"), | 19 | + YI_YAN("YiYan", "文心一言"), // 百度 |
| 20 | + XING_HUO("XingHuo", "星火"), // 讯飞 | ||
| 21 | + | ||
| 22 | + QIAN_WEN("qianwen", "千问"), // 阿里 | ||
| 20 | 23 | ||
| 21 | - QIAN_WEN("qianwen", "千问"), | ||
| 22 | - XING_HUO("xinghuo", "星火"), | ||
| 23 | OPEN_AI_DALL("dall", "dall"), | 24 | OPEN_AI_DALL("dall", "dall"), |
| 24 | MIDJOURNEY("midjourney", "midjourney"), | 25 | MIDJOURNEY("midjourney", "midjourney"), |
| 25 | 26 | ||
| 26 | ; | 27 | ; |
| 27 | 28 | ||
| 29 | + /** | ||
| 30 | + * 平台 | ||
| 31 | + */ | ||
| 28 | private final String platform; | 32 | private final String platform; |
| 33 | + /** | ||
| 34 | + * 平台名 | ||
| 35 | + */ | ||
| 29 | private final String name; | 36 | private final String name; |
| 30 | 37 | ||
| 31 | // public static List<AiPlatformEnum> CHAT_PLATFORM_LIST = Lists.newArrayList( | 38 | // public static List<AiPlatformEnum> CHAT_PLATFORM_LIST = Lists.newArrayList( |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoChatClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/XingHuoChatClient.java
| 1 | -package org.springframework.ai.models.xinghuo; | 1 | +package cn.iocoder.yudao.framework.ai.core.model.xinghuo; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.bean.BeanUtil; | 3 | import cn.hutool.core.bean.BeanUtil; |
| 4 | import cn.hutool.core.exceptions.ExceptionUtil; | 4 | import cn.hutool.core.exceptions.ExceptionUtil; |
| 5 | import cn.iocoder.yudao.framework.ai.core.exception.ChatException; | 5 | import cn.iocoder.yudao.framework.ai.core.exception.ChatException; |
| 6 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoApi; | ||
| 7 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoChatCompletion; | ||
| 8 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoChatCompletionRequest; | ||
| 6 | import org.springframework.ai.chat.*; | 9 | import org.springframework.ai.chat.*; |
| 7 | import org.springframework.ai.chat.prompt.ChatOptions; | 10 | import org.springframework.ai.chat.prompt.ChatOptions; |
| 8 | import org.springframework.ai.chat.prompt.Prompt; | 11 | import org.springframework.ai.chat.prompt.Prompt; |
| 9 | -import org.springframework.ai.models.xinghuo.api.XingHuoApi; | ||
| 10 | -import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletion; | ||
| 11 | -import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletionRequest; | ||
| 12 | import lombok.extern.slf4j.Slf4j; | 12 | import lombok.extern.slf4j.Slf4j; |
| 13 | import org.springframework.http.ResponseEntity; | 13 | import org.springframework.http.ResponseEntity; |
| 14 | import org.springframework.retry.RetryCallback; | 14 | import org.springframework.retry.RetryCallback; |
| @@ -21,6 +21,7 @@ import java.time.Duration; | @@ -21,6 +21,7 @@ import java.time.Duration; | ||
| 21 | import java.util.List; | 21 | import java.util.List; |
| 22 | import java.util.stream.Collectors; | 22 | import java.util.stream.Collectors; |
| 23 | 23 | ||
| 24 | +// TODO @fan:参考 yiyan 的修改建议,调整下 xinghuo 的实现;可以等 yiyan 修改完建议,然后我 review 完,再改这个哈; | ||
| 24 | /** | 25 | /** |
| 25 | * 讯飞星火 client | 26 | * 讯飞星火 client |
| 26 | * <p> | 27 | * <p> |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoChatModel.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/XingHuoChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoOptions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/XingHuoOptions.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoApi.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/api/XingHuoApi.java
| 1 | -package org.springframework.ai.models.xinghuo.api; | 1 | +package cn.iocoder.yudao.framework.ai.core.model.xinghuo.api; |
| 2 | 2 | ||
| 3 | import cn.hutool.http.HttpUtil; | 3 | import cn.hutool.http.HttpUtil; |
| 4 | import cn.hutool.json.JSONUtil; | 4 | import cn.hutool.json.JSONUtil; |
| 5 | -import org.springframework.ai.models.xinghuo.XingHuoChatModel; | 5 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; |
| 6 | import lombok.Data; | 6 | import lombok.Data; |
| 7 | import org.springframework.http.HttpStatusCode; | 7 | import org.springframework.http.HttpStatusCode; |
| 8 | import org.springframework.http.ResponseEntity; | 8 | import org.springframework.http.ResponseEntity; |
| @@ -21,6 +21,7 @@ import java.text.SimpleDateFormat; | @@ -21,6 +21,7 @@ import java.text.SimpleDateFormat; | ||
| 21 | import java.util.*; | 21 | import java.util.*; |
| 22 | import java.util.stream.Collectors; | 22 | import java.util.stream.Collectors; |
| 23 | 23 | ||
| 24 | +// TODO @fan:讯飞使用 spring websocket 接入,还是 okhttp?确认了,未使用的最好删除下,反正 git 也能找回 history | ||
| 24 | /** | 25 | /** |
| 25 | * 讯飞星火 属性、api | 26 | * 讯飞星火 属性、api |
| 26 | * <p> | 27 | * <p> |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletion.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/api/XingHuoChatCompletion.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletionMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/api/XingHuoChatCompletionMessage.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletionRequest.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/api/XingHuoChatCompletionRequest.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientMainTests.java
| @@ -2,8 +2,8 @@ package cn.iocoder.yudao.framework.ai.chat; | @@ -2,8 +2,8 @@ package cn.iocoder.yudao.framework.ai.chat; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.http.HttpUtil; | 3 | import cn.hutool.http.HttpUtil; |
| 4 | import cn.hutool.json.JSONUtil; | 4 | import cn.hutool.json.JSONUtil; |
| 5 | -import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletion; | ||
| 6 | -import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletionRequest; | 5 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoChatCompletion; |
| 6 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoChatCompletionRequest; | ||
| 7 | import org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient; | 7 | import org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient; |
| 8 | import org.springframework.web.reactive.socket.client.WebSocketClient; | 8 | import org.springframework.web.reactive.socket.client.WebSocketClient; |
| 9 | import reactor.core.publisher.Flux; | 9 | import reactor.core.publisher.Flux; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientTests.java
| @@ -5,10 +5,10 @@ import org.springframework.ai.chat.messages.Message; | @@ -5,10 +5,10 @@ import org.springframework.ai.chat.messages.Message; | ||
| 5 | import org.springframework.ai.chat.messages.SystemMessage; | 5 | import org.springframework.ai.chat.messages.SystemMessage; |
| 6 | import org.springframework.ai.chat.messages.UserMessage; | 6 | import org.springframework.ai.chat.messages.UserMessage; |
| 7 | import org.springframework.ai.chat.prompt.Prompt; | 7 | import org.springframework.ai.chat.prompt.Prompt; |
| 8 | -import org.springframework.ai.models.xinghuo.XingHuoChatClient; | ||
| 9 | -import org.springframework.ai.models.xinghuo.XingHuoChatModel; | ||
| 10 | -import org.springframework.ai.models.xinghuo.XingHuoOptions; | ||
| 11 | -import org.springframework.ai.models.xinghuo.api.XingHuoApi; | 8 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatClient; |
| 9 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; | ||
| 10 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoOptions; | ||
| 11 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoApi; | ||
| 12 | import org.junit.Before; | 12 | import org.junit.Before; |
| 13 | import org.junit.Test; | 13 | import org.junit.Test; |
| 14 | import reactor.core.publisher.Flux; | 14 | import reactor.core.publisher.Flux; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoOkHttpTests.java
| @@ -2,9 +2,9 @@ package cn.iocoder.yudao.framework.ai.chat; | @@ -2,9 +2,9 @@ package cn.iocoder.yudao.framework.ai.chat; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.http.HttpUtil; | 3 | import cn.hutool.http.HttpUtil; |
| 4 | import cn.hutool.json.JSONUtil; | 4 | import cn.hutool.json.JSONUtil; |
| 5 | -import org.springframework.ai.models.xinghuo.XingHuoChatClient; | ||
| 6 | -import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletion; | ||
| 7 | -import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletionRequest; | 5 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatClient; |
| 6 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoChatCompletion; | ||
| 7 | +import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoChatCompletionRequest; | ||
| 8 | import okhttp3.*; | 8 | import okhttp3.*; |
| 9 | import org.jetbrains.annotations.NotNull; | 9 | import org.jetbrains.annotations.NotNull; |
| 10 | 10 |
yudao-server/src/main/resources/application-local.yaml
| @@ -209,37 +209,6 @@ wx: | @@ -209,37 +209,6 @@ wx: | ||
| 209 | 209 | ||
| 210 | # 芋道配置项,设置当前项目所有自定义的配置 | 210 | # 芋道配置项,设置当前项目所有自定义的配置 |
| 211 | yudao: | 211 | yudao: |
| 212 | - ai: | ||
| 213 | - initSource: yaml | ||
| 214 | - qianwen: | ||
| 215 | - enable: true | ||
| 216 | - aiPlatform: QIAN_WEN | ||
| 217 | - max-tokens: 1500 | ||
| 218 | - temperature: 0.85 | ||
| 219 | - topP: 0.8 | ||
| 220 | - topK: 0 | ||
| 221 | - api-key: sk-Zsd81gZYg7 | ||
| 222 | - xinghuo: | ||
| 223 | - enable: true | ||
| 224 | - aiPlatform: XING_HUO | ||
| 225 | - max-tokens: 1500 | ||
| 226 | - temperature: 0.85 | ||
| 227 | - topP: 0.8 | ||
| 228 | - topK: 0 | ||
| 229 | - appId: 13c8cca6 | ||
| 230 | - appKey: cb6415c19d6162cda07b47316fcb0416 | ||
| 231 | - secretKey: Y2JiYTIxZjA3MDMxMjNjZjQzYzVmNzdh | ||
| 232 | - model: XING_HUO_3_5 | ||
| 233 | - openAiImage: | ||
| 234 | - enable: true | ||
| 235 | - api-key: ${OPEN_AI_KEY} | ||
| 236 | - model: dall_e_2 | ||
| 237 | - style: vivid | ||
| 238 | - midjourney: | ||
| 239 | - enable: true | ||
| 240 | - token: MTE4MjE3MjY2MjkxNTY3ODIzOA.GEV1SG.c49F8lZoGCUHwsj8O0UdodmM6nyQHvuD2fXflw | ||
| 241 | - guild-id: 1237948819677904956 | ||
| 242 | - channel-id: 1237948819677904960 | ||
| 243 | captcha: | 212 | captcha: |
| 244 | enable: false # 本地环境,暂时关闭图片验证码,方便登录等接口的测试; | 213 | enable: false # 本地环境,暂时关闭图片验证码,方便登录等接口的测试; |
| 245 | security: | 214 | security: |
yudao-server/src/main/resources/application.yaml
| @@ -153,7 +153,7 @@ spring.ai: | @@ -153,7 +153,7 @@ spring.ai: | ||
| 153 | yudao.ai: | 153 | yudao.ai: |
| 154 | yiyan: | 154 | yiyan: |
| 155 | enable: true | 155 | enable: true |
| 156 | - aiPlatform: YIYAN # TODO @fan:建议每个都独立配置属性类 | 156 | + aiPlatform: YI_YAN # TODO @fan:建议每个都独立配置属性类 |
| 157 | max-tokens: 1500 | 157 | max-tokens: 1500 |
| 158 | temperature: 0.85 | 158 | temperature: 0.85 |
| 159 | topP: 0.8 | 159 | topP: 0.8 |
| @@ -162,6 +162,35 @@ yudao.ai: | @@ -162,6 +162,35 @@ yudao.ai: | ||
| 162 | secretKey: R9mYF9dl9KASgi5RUq0FQt3wRisSnOcK | 162 | secretKey: R9mYF9dl9KASgi5RUq0FQt3wRisSnOcK |
| 163 | refreshTokenSecondTime: 86400 | 163 | refreshTokenSecondTime: 86400 |
| 164 | model: ERNIE4_3_5_8K | 164 | model: ERNIE4_3_5_8K |
| 165 | + xinghuo: | ||
| 166 | + enable: true | ||
| 167 | + aiPlatform: XING_HUO # TODO @fan:建议每个都独立配置属性类 | ||
| 168 | + max-tokens: 1500 | ||
| 169 | + temperature: 0.85 | ||
| 170 | + topP: 0.8 | ||
| 171 | + topK: 0 | ||
| 172 | + appId: 13c8cca6 | ||
| 173 | + appKey: cb6415c19d6162cda07b47316fcb0416 | ||
| 174 | + secretKey: Y2JiYTIxZjA3MDMxMjNjZjQzYzVmNzdh | ||
| 175 | + model: XING_HUO_3_5 | ||
| 176 | + qianwen: | ||
| 177 | + enable: true | ||
| 178 | + aiPlatform: QIAN_WEN | ||
| 179 | + max-tokens: 1500 | ||
| 180 | + temperature: 0.85 | ||
| 181 | + topP: 0.8 | ||
| 182 | + topK: 0 | ||
| 183 | + api-key: sk-Zsd81gZYg7 | ||
| 184 | + openAiImage: | ||
| 185 | + enable: true | ||
| 186 | + api-key: ${OPEN_AI_KEY} | ||
| 187 | + model: dall_e_2 | ||
| 188 | + style: vivid | ||
| 189 | + midjourney: | ||
| 190 | + enable: true | ||
| 191 | + token: MTE4MjE3MjY2MjkxNTY3ODIzOA.GEV1SG.c49F8lZoGCUHwsj8O0UdodmM6nyQHvuD2fXflw | ||
| 192 | + guild-id: 1237948819677904956 | ||
| 193 | + channel-id: 1237948819677904960 | ||
| 165 | 194 | ||
| 166 | --- #################### 芋道相关配置 #################### | 195 | --- #################### 芋道相关配置 #################### |
| 167 | 196 |