|
@@ -1,4 +1,4 @@
|
|
|
-package cn.iocoder.yudao.framework.ai.core.factory;
|
|
|
|
|
|
|
+package cn.iocoder.yudao.module.ai.framework.ai.core;
|
|
|
|
|
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
import cn.hutool.core.lang.Assert;
|
|
import cn.hutool.core.lang.Assert;
|
|
@@ -8,20 +8,20 @@ import cn.hutool.core.util.ArrayUtil;
|
|
|
import cn.hutool.core.util.RuntimeUtil;
|
|
import cn.hutool.core.util.RuntimeUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
|
-import cn.iocoder.yudao.framework.ai.config.YudaoAiAutoConfiguration;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.config.YudaoAiProperties;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.baichuan.BaiChuanChatModel;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.deepseek.DeepSeekChatModel;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.hunyuan.HunYuanChatModel;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowApiConstants;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowChatModel;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageApi;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageModel;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi;
|
|
|
|
|
-import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel;
|
|
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.config.AiAutoConfiguration;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.config.YudaoAiProperties;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.baichuan.BaiChuanChatModel;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.deepseek.DeepSeekChatModel;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.doubao.DouBaoChatModel;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan.HunYuanChatModel;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowApiConstants;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowChatModel;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageApi;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageModel;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi;
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.framework.ai.core.model.xinghuo.XingHuoChatModel;
|
|
|
import cn.iocoder.yudao.framework.common.util.spring.SpringUtils;
|
|
import cn.iocoder.yudao.framework.common.util.spring.SpringUtils;
|
|
|
import com.alibaba.cloud.ai.autoconfigure.dashscope.DashScopeAutoConfiguration;
|
|
import com.alibaba.cloud.ai.autoconfigure.dashscope.DashScopeAutoConfiguration;
|
|
|
import com.alibaba.cloud.ai.dashscope.api.DashScopeApi;
|
|
import com.alibaba.cloud.ai.dashscope.api.DashScopeApi;
|
|
@@ -361,39 +361,39 @@ public class AiModelFactoryImpl implements AiModelFactory {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 可参考 {@link YudaoAiAutoConfiguration#deepSeekChatModel(YudaoAiProperties)}
|
|
|
|
|
|
|
+ * 可参考 {@link AiAutoConfiguration#deepSeekChatModel(YudaoAiProperties)}
|
|
|
*/
|
|
*/
|
|
|
private static DeepSeekChatModel buildDeepSeekChatModel(String apiKey) {
|
|
private static DeepSeekChatModel buildDeepSeekChatModel(String apiKey) {
|
|
|
YudaoAiProperties.DeepSeekProperties properties = new YudaoAiProperties.DeepSeekProperties()
|
|
YudaoAiProperties.DeepSeekProperties properties = new YudaoAiProperties.DeepSeekProperties()
|
|
|
.setApiKey(apiKey);
|
|
.setApiKey(apiKey);
|
|
|
- return new YudaoAiAutoConfiguration().buildDeepSeekChatModel(properties);
|
|
|
|
|
|
|
+ return new AiAutoConfiguration().buildDeepSeekChatModel(properties);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 可参考 {@link YudaoAiAutoConfiguration#douBaoChatClient(YudaoAiProperties)}
|
|
|
|
|
|
|
+ * 可参考 {@link AiAutoConfiguration#douBaoChatClient(YudaoAiProperties)}
|
|
|
*/
|
|
*/
|
|
|
private ChatModel buildDouBaoChatModel(String apiKey) {
|
|
private ChatModel buildDouBaoChatModel(String apiKey) {
|
|
|
YudaoAiProperties.DouBaoProperties properties = new YudaoAiProperties.DouBaoProperties()
|
|
YudaoAiProperties.DouBaoProperties properties = new YudaoAiProperties.DouBaoProperties()
|
|
|
.setApiKey(apiKey);
|
|
.setApiKey(apiKey);
|
|
|
- return new YudaoAiAutoConfiguration().buildDouBaoChatClient(properties);
|
|
|
|
|
|
|
+ return new AiAutoConfiguration().buildDouBaoChatClient(properties);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 可参考 {@link YudaoAiAutoConfiguration#hunYuanChatClient(YudaoAiProperties)}
|
|
|
|
|
|
|
+ * 可参考 {@link AiAutoConfiguration#hunYuanChatClient(YudaoAiProperties)}
|
|
|
*/
|
|
*/
|
|
|
private ChatModel buildHunYuanChatModel(String apiKey, String url) {
|
|
private ChatModel buildHunYuanChatModel(String apiKey, String url) {
|
|
|
YudaoAiProperties.HunYuanProperties properties = new YudaoAiProperties.HunYuanProperties()
|
|
YudaoAiProperties.HunYuanProperties properties = new YudaoAiProperties.HunYuanProperties()
|
|
|
.setBaseUrl(url).setApiKey(apiKey);
|
|
.setBaseUrl(url).setApiKey(apiKey);
|
|
|
- return new YudaoAiAutoConfiguration().buildHunYuanChatClient(properties);
|
|
|
|
|
|
|
+ return new AiAutoConfiguration().buildHunYuanChatClient(properties);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 可参考 {@link YudaoAiAutoConfiguration#siliconFlowChatClient(YudaoAiProperties)}
|
|
|
|
|
|
|
+ * 可参考 {@link AiAutoConfiguration#siliconFlowChatClient(YudaoAiProperties)}
|
|
|
*/
|
|
*/
|
|
|
private ChatModel buildSiliconFlowChatModel(String apiKey) {
|
|
private ChatModel buildSiliconFlowChatModel(String apiKey) {
|
|
|
YudaoAiProperties.SiliconFlowProperties properties = new YudaoAiProperties.SiliconFlowProperties()
|
|
YudaoAiProperties.SiliconFlowProperties properties = new YudaoAiProperties.SiliconFlowProperties()
|
|
|
.setApiKey(apiKey);
|
|
.setApiKey(apiKey);
|
|
|
- return new YudaoAiAutoConfiguration().buildSiliconFlowChatClient(properties);
|
|
|
|
|
|
|
+ return new AiAutoConfiguration().buildSiliconFlowChatClient(properties);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -436,23 +436,23 @@ public class AiModelFactoryImpl implements AiModelFactory {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 可参考 {@link YudaoAiAutoConfiguration#xingHuoChatClient(YudaoAiProperties)}
|
|
|
|
|
|
|
+ * 可参考 {@link AiAutoConfiguration#xingHuoChatClient(YudaoAiProperties)}
|
|
|
*/
|
|
*/
|
|
|
private static XingHuoChatModel buildXingHuoChatModel(String key) {
|
|
private static XingHuoChatModel buildXingHuoChatModel(String key) {
|
|
|
List<String> keys = StrUtil.split(key, '|');
|
|
List<String> keys = StrUtil.split(key, '|');
|
|
|
Assert.equals(keys.size(), 2, "XingHuoChatClient 的密钥需要 (appKey|secretKey) 格式");
|
|
Assert.equals(keys.size(), 2, "XingHuoChatClient 的密钥需要 (appKey|secretKey) 格式");
|
|
|
YudaoAiProperties.XingHuoProperties properties = new YudaoAiProperties.XingHuoProperties()
|
|
YudaoAiProperties.XingHuoProperties properties = new YudaoAiProperties.XingHuoProperties()
|
|
|
.setAppKey(keys.get(0)).setSecretKey(keys.get(1));
|
|
.setAppKey(keys.get(0)).setSecretKey(keys.get(1));
|
|
|
- return new YudaoAiAutoConfiguration().buildXingHuoChatClient(properties);
|
|
|
|
|
|
|
+ return new AiAutoConfiguration().buildXingHuoChatClient(properties);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 可参考 {@link YudaoAiAutoConfiguration#baiChuanChatClient(YudaoAiProperties)}
|
|
|
|
|
|
|
+ * 可参考 {@link AiAutoConfiguration#baiChuanChatClient(YudaoAiProperties)}
|
|
|
*/
|
|
*/
|
|
|
private BaiChuanChatModel buildBaiChuanChatModel(String apiKey) {
|
|
private BaiChuanChatModel buildBaiChuanChatModel(String apiKey) {
|
|
|
YudaoAiProperties.BaiChuanProperties properties = new YudaoAiProperties.BaiChuanProperties()
|
|
YudaoAiProperties.BaiChuanProperties properties = new YudaoAiProperties.BaiChuanProperties()
|
|
|
.setApiKey(apiKey);
|
|
.setApiKey(apiKey);
|
|
|
- return new YudaoAiAutoConfiguration().buildBaiChuanChatClient(properties);
|
|
|
|
|
|
|
+ return new AiAutoConfiguration().buildBaiChuanChatClient(properties);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|