Commit d6b3b5e9bd68a355724f0c9af9d6f8076b399dc7

Authored by cherishsince
1 parent 28018b1f

【增加】ai image对接通义

yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
@@ -137,9 +137,9 @@ public class AiImageServiceImpl implements AiImageService { @@ -137,9 +137,9 @@ public class AiImageServiceImpl implements AiImageService {
137 .withStylePreset(String.valueOf(draw.getOptions().get("stylePreset"))) 137 .withStylePreset(String.valueOf(draw.getOptions().get("stylePreset")))
138 .withClipGuidancePreset(String.valueOf(draw.getOptions().get("clipGuidancePreset"))) 138 .withClipGuidancePreset(String.valueOf(draw.getOptions().get("clipGuidancePreset")))
139 .build(); 139 .build();
140 - } else if (ObjUtil.equal(draw.getPlatform(), AiPlatformEnum.TONG_YI_WAN_XIANG.getPlatform())) { 140 + } else if (ObjUtil.equal(draw.getPlatform(), AiPlatformEnum.TONG_YI.getPlatform())) {
141 return TongYiImagesOptions.builder() 141 return TongYiImagesOptions.builder()
142 - .withModel(draw.getModel()).withN(Integer.valueOf(draw.getOptions().get("n"))) 142 + .withModel(draw.getModel()).withN(1)
143 .withHeight(draw.getHeight()).withWidth(draw.getWidth()) 143 .withHeight(draw.getHeight()).withWidth(draw.getWidth())
144 .build(); 144 .build();
145 } 145 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiApiKeyServiceImpl.java
@@ -106,7 +106,7 @@ public class AiApiKeyServiceImpl implements AiApiKeyService { @@ -106,7 +106,7 @@ public class AiApiKeyServiceImpl implements AiApiKeyService {
106 106
107 @Override 107 @Override
108 public ImageModel getImageModel(AiPlatformEnum platform) { 108 public ImageModel getImageModel(AiPlatformEnum platform) {
109 - AiApiKeyDO apiKey = apiKeyMapper.selectFirstByPlatformAndStatus(platform.getName(), CommonStatusEnum.ENABLE.getStatus()); 109 + AiApiKeyDO apiKey = apiKeyMapper.selectFirstByPlatformAndStatus(platform.getPlatform(), CommonStatusEnum.ENABLE.getStatus());
110 if (apiKey == null) { 110 if (apiKey == null) {
111 throw exception(API_KEY_IMAGE_NODE_FOUND, platform.getName()); 111 throw exception(API_KEY_IMAGE_NODE_FOUND, platform.getName());
112 } 112 }
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/enums/AiPlatformEnum.java
@@ -28,7 +28,6 @@ public enum AiPlatformEnum { @@ -28,7 +28,6 @@ public enum AiPlatformEnum {
28 STABLE_DIFFUSION("StableDiffusion", "StableDiffusion"), // Stability AI 28 STABLE_DIFFUSION("StableDiffusion", "StableDiffusion"), // Stability AI
29 MIDJOURNEY("Midjourney", "Midjourney"), // Midjourney 29 MIDJOURNEY("Midjourney", "Midjourney"), // Midjourney
30 SUNO("Suno", "Suno"), // Suno AI 30 SUNO("Suno", "Suno"), // Suno AI
31 - TONG_YI_WAN_XIANG("TongYiWanXiang", "通义万相"), // Suno AI  
32 31
33 ; 32 ;
34 33
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/factory/AiModelFactoryImpl.java
@@ -17,6 +17,7 @@ import com.alibaba.cloud.ai.tongyi.TongYiAutoConfiguration; @@ -17,6 +17,7 @@ import com.alibaba.cloud.ai.tongyi.TongYiAutoConfiguration;
17 import com.alibaba.cloud.ai.tongyi.TongYiConnectionProperties; 17 import com.alibaba.cloud.ai.tongyi.TongYiConnectionProperties;
18 import com.alibaba.cloud.ai.tongyi.chat.TongYiChatModel; 18 import com.alibaba.cloud.ai.tongyi.chat.TongYiChatModel;
19 import com.alibaba.cloud.ai.tongyi.chat.TongYiChatProperties; 19 import com.alibaba.cloud.ai.tongyi.chat.TongYiChatProperties;
  20 +import com.alibaba.cloud.ai.tongyi.image.TongYiImagesModel;
20 import com.alibaba.dashscope.aigc.generation.Generation; 21 import com.alibaba.dashscope.aigc.generation.Generation;
21 import org.springframework.ai.autoconfigure.ollama.OllamaAutoConfiguration; 22 import org.springframework.ai.autoconfigure.ollama.OllamaAutoConfiguration;
22 import org.springframework.ai.autoconfigure.openai.OpenAiAutoConfiguration; 23 import org.springframework.ai.autoconfigure.openai.OpenAiAutoConfiguration;
@@ -125,6 +126,8 @@ public class AiModelFactoryImpl implements AiModelFactory { @@ -125,6 +126,8 @@ public class AiModelFactoryImpl implements AiModelFactory {
125 return buildOpenAiImageModel(apiKey, url); 126 return buildOpenAiImageModel(apiKey, url);
126 case STABLE_DIFFUSION: 127 case STABLE_DIFFUSION:
127 return buildStabilityAiImageModel(apiKey, url); 128 return buildStabilityAiImageModel(apiKey, url);
  129 + case TONG_YI:
  130 + return SpringUtil.getBean(TongYiImagesModel.class);
128 default: 131 default:
129 throw new IllegalArgumentException(StrUtil.format("未知平台({})", platform)); 132 throw new IllegalArgumentException(StrUtil.format("未知平台({})", platform));
130 } 133 }