|
@@ -9,7 +9,6 @@ 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.chatglm.ChatGlmImageModel;
|
|
|
import cn.iocoder.yudao.framework.ai.core.model.deepseek.DeepSeekChatModel;
|
|
|
import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi;
|
|
|
import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi;
|
|
@@ -31,6 +30,7 @@ import org.springframework.ai.autoconfigure.qianfan.QianFanImageProperties;
|
|
|
import org.springframework.ai.autoconfigure.zhipuai.ZhiPuAiAutoConfiguration;
|
|
|
import org.springframework.ai.autoconfigure.zhipuai.ZhiPuAiChatProperties;
|
|
|
import org.springframework.ai.autoconfigure.zhipuai.ZhiPuAiConnectionProperties;
|
|
|
+import org.springframework.ai.autoconfigure.zhipuai.ZhiPuAiImageProperties;
|
|
|
import org.springframework.ai.chat.model.ChatModel;
|
|
|
import org.springframework.ai.image.ImageModel;
|
|
|
import org.springframework.ai.model.function.FunctionCallbackContext;
|
|
@@ -48,7 +48,9 @@ import org.springframework.ai.qianfan.api.QianFanImageApi;
|
|
|
import org.springframework.ai.stabilityai.StabilityAiImageModel;
|
|
|
import org.springframework.ai.stabilityai.api.StabilityAiApi;
|
|
|
import org.springframework.ai.zhipuai.ZhiPuAiChatModel;
|
|
|
+import org.springframework.ai.zhipuai.ZhiPuAiImageModel;
|
|
|
import org.springframework.ai.zhipuai.api.ZhiPuAiApi;
|
|
|
+import org.springframework.ai.zhipuai.api.ZhiPuAiImageApi;
|
|
|
import org.springframework.retry.support.RetryTemplate;
|
|
|
import org.springframework.web.client.ResponseErrorHandler;
|
|
|
import org.springframework.web.client.RestClient;
|
|
@@ -119,6 +121,8 @@ public class AiModelFactoryImpl implements AiModelFactory {
|
|
|
return SpringUtil.getBean(TongYiImagesModel.class);
|
|
|
case YI_YAN:
|
|
|
return SpringUtil.getBean(QianFanImageModel.class);
|
|
|
+ case ZHI_PU:
|
|
|
+ return SpringUtil.getBean(ZhiPuAiImageModel.class);
|
|
|
case OPENAI:
|
|
|
return SpringUtil.getBean(OpenAiImageModel.class);
|
|
|
case STABLE_DIFFUSION:
|
|
@@ -136,12 +140,12 @@ public class AiModelFactoryImpl implements AiModelFactory {
|
|
|
return buildTongYiImagesModel(apiKey);
|
|
|
case YI_YAN:
|
|
|
return buildQianFanImageModel(apiKey);
|
|
|
+ case ZHI_PU:
|
|
|
+ return buildZhiPuAiImageModel(apiKey, url);
|
|
|
case OPENAI:
|
|
|
return buildOpenAiImageModel(apiKey, url);
|
|
|
case STABLE_DIFFUSION:
|
|
|
return buildStabilityAiImageModel(apiKey, url);
|
|
|
- case CHATGLM:
|
|
|
- return buildChatGlmModel(apiKey);
|
|
|
default:
|
|
|
throw new IllegalArgumentException(StrUtil.format("未知平台({})", platform));
|
|
|
}
|
|
@@ -225,7 +229,8 @@ public class AiModelFactoryImpl implements AiModelFactory {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 可参考 {@link ZhiPuAiAutoConfiguration#zhiPuAiChatModel(ZhiPuAiConnectionProperties, ZhiPuAiChatProperties, RestClient.Builder, List, FunctionCallbackContext, RetryTemplate, ResponseErrorHandler)}
|
|
|
+ * 可参考 {@link ZhiPuAiAutoConfiguration#zhiPuAiChatModel(
|
|
|
+ * ZhiPuAiConnectionProperties, ZhiPuAiChatProperties, RestClient.Builder, List, FunctionCallbackContext, RetryTemplate, ResponseErrorHandler)}
|
|
|
*/
|
|
|
private ZhiPuAiChatModel buildZhiPuChatModel(String apiKey, String url) {
|
|
|
url = StrUtil.blankToDefault(url, ZhiPuAiConnectionProperties.DEFAULT_BASE_URL);
|
|
@@ -233,6 +238,16 @@ public class AiModelFactoryImpl implements AiModelFactory {
|
|
|
return new ZhiPuAiChatModel(zhiPuAiApi);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 可参考 {@link ZhiPuAiAutoConfiguration#zhiPuAiImageModel(
|
|
|
+ * ZhiPuAiConnectionProperties, ZhiPuAiImageProperties, RestClient.Builder, RetryTemplate, ResponseErrorHandler)}
|
|
|
+ */
|
|
|
+ private ZhiPuAiImageModel buildZhiPuAiImageModel(String apiKey, String url) {
|
|
|
+ url = StrUtil.blankToDefault(url, ZhiPuAiConnectionProperties.DEFAULT_BASE_URL);
|
|
|
+ ZhiPuAiImageApi zhiPuAiApi = new ZhiPuAiImageApi(url, apiKey, RestClient.builder());
|
|
|
+ return new ZhiPuAiImageModel(zhiPuAiApi);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 可参考 {@link YudaoAiAutoConfiguration#xingHuoChatClient(YudaoAiProperties)}
|
|
|
*/
|
|
@@ -276,7 +291,4 @@ public class AiModelFactoryImpl implements AiModelFactory {
|
|
|
return new StabilityAiImageModel(stabilityAiApi);
|
|
|
}
|
|
|
|
|
|
- private ChatGlmImageModel buildChatGlmModel(String apiKey) {
|
|
|
- return new ChatGlmImageModel(apiKey);
|
|
|
- }
|
|
|
}
|