Commit 813e7af8467c1f4b693593fdbe9c20b96a0228e6

Authored by YunaiV
1 parent 5dc93cb8

【代码评审】AI:硅基流动的图片生成

Showing 17 changed files with 39 additions and 358 deletions
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/creation/AiartCreationController.java deleted
1 -package cn.iocoder.yudao.module.ai.controller.admin.creation;  
2 -  
3 -import cn.iocoder.yudao.framework.common.pojo.CommonResult;  
4 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.AiartReplaceBackgroundReqVO;  
5 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.AiartReplaceBackgroundResVO;  
6 -import cn.iocoder.yudao.module.ai.service.creation.AiartCreationService;  
7 -import io.swagger.v3.oas.annotations.Operation;  
8 -import io.swagger.v3.oas.annotations.tags.Tag;  
9 -import jakarta.annotation.Resource;  
10 -import jakarta.validation.Valid;  
11 -import org.springframework.validation.annotation.Validated;  
12 -import org.springframework.web.bind.annotation.PostMapping;  
13 -import org.springframework.web.bind.annotation.RequestBody;  
14 -import org.springframework.web.bind.annotation.RequestMapping;  
15 -import org.springframework.web.bind.annotation.RestController;  
16 -  
17 -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;  
18 -import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;  
19 -  
20 -@Tag(name = "管理后台 - 艺术创作")  
21 -@RestController  
22 -@RequestMapping("/ai/artcreation")  
23 -@Validated  
24 -public class AiartCreationController {  
25 -  
26 - @Resource  
27 - private AiartCreationService aiartCreationService;  
28 -  
29 - @Operation(summary = "商品图替换背景")  
30 - @PostMapping("/replacebackground")  
31 - public CommonResult<AiartReplaceBackgroundResVO> replaceBackground(@Valid @RequestBody AiartReplaceBackgroundReqVO replaceBackgroundReqVO) {  
32 - return success(aiartCreationService.replaceBackground(getLoginUserId(), replaceBackgroundReqVO));  
33 - }  
34 -  
35 -  
36 -}  
37 \ No newline at end of file 0 \ No newline at end of file
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/creation/AiartStyleController.java deleted
1 -package cn.iocoder.yudao.module.ai.controller.admin.creation;  
2 -  
3 -import cn.iocoder.yudao.framework.common.pojo.CommonResult;  
4 -import cn.iocoder.yudao.framework.common.util.object.BeanUtils;  
5 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.BackgroundTemplateReqVO;  
6 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.BackgroundTemplateResVO;  
7 -import cn.iocoder.yudao.module.ai.dal.dataobject.creation.AiartStyleBackgroundTemplateDO;  
8 -import cn.iocoder.yudao.module.ai.service.creation.AiartStyleService;  
9 -import io.swagger.v3.oas.annotations.Operation;  
10 -import io.swagger.v3.oas.annotations.tags.Tag;  
11 -import jakarta.annotation.Resource;  
12 -import jakarta.validation.Valid;  
13 -import org.springframework.security.access.prepost.PreAuthorize;  
14 -import org.springframework.validation.annotation.Validated;  
15 -import org.springframework.web.bind.annotation.PostMapping;  
16 -import org.springframework.web.bind.annotation.RequestBody;  
17 -import org.springframework.web.bind.annotation.RequestMapping;  
18 -import org.springframework.web.bind.annotation.RestController;  
19 -  
20 -import java.util.List;  
21 -  
22 -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;  
23 -  
24 -@Tag(name = "管理后台 - 艺术创作模版")  
25 -@RestController  
26 -@RequestMapping("/ai/artstyle")  
27 -@Validated  
28 -public class AiartStyleController {  
29 -  
30 - @Resource  
31 - private AiartStyleService aiartStyleService;  
32 -  
33 - @PostMapping("/backgroundtemplate-list")  
34 - @Operation(summary = "获取商品背景模版列表")  
35 - @PreAuthorize("@ss.hasPermission('ai:artstyle-background:query')")  
36 - public CommonResult<List<BackgroundTemplateResVO>> queryBackgroundStyle(@Valid @RequestBody BackgroundTemplateReqVO backgroundTemplateReqVO) {  
37 - List<AiartStyleBackgroundTemplateDO> res = aiartStyleService.queryBackgroundStyle(backgroundTemplateReqVO);  
38 - return success(BeanUtils.toBean(res,BackgroundTemplateResVO.class));  
39 - }  
40 -}  
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/creation/vo/style/AiartReplaceBackgroundReqVO.java deleted
1 -package cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style;  
2 -  
3 -import io.swagger.v3.oas.annotations.media.Schema;  
4 -import jakarta.validation.constraints.NotEmpty;  
5 -import jakarta.validation.constraints.Size;  
6 -import lombok.Data;  
7 -  
8 -@Schema(description = "管理后台 - 商品替换背景请求 VO")  
9 -@Data  
10 -public class AiartReplaceBackgroundReqVO {  
11 -  
12 - @Schema(description = "提示词", requiredMode = Schema.RequiredMode.REQUIRED, example = "画一个长城")  
13 - @NotEmpty(message = "提示词不能为空")  
14 - @Size(max = 1200, message = "提示词最大 1200")  
15 - private String prompt;  
16 -  
17 -}  
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/creation/vo/style/AiartReplaceBackgroundResVO.java deleted
1 -package cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style;  
2 -  
3 -import io.swagger.v3.oas.annotations.media.Schema;  
4 -import lombok.Data;  
5 -  
6 -@Schema(description = "管理后台 - 商品替换背景结果 VO")  
7 -@Data  
8 -public class AiartReplaceBackgroundResVO {  
9 -  
10 - @Schema(description = "结果url", requiredMode = Schema.RequiredMode.REQUIRED, example = "根据参数不同不一样")  
11 - private String resultImage;  
12 -  
13 - @Schema(description = "唯一请求 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "由服务端生成")  
14 - private String requestId;  
15 -  
16 - @Schema(description = "MaskUrl", requiredMode = Schema.RequiredMode.REQUIRED, example = "如果 MaskUrl 未传,则返回使用内置商品分割算法得到的 Mask 结果")  
17 - private String maskImage;  
18 -}  
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/creation/vo/style/BackgroundTemplateReqVO.java deleted
1 -package cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style;  
2 -  
3 -import io.swagger.v3.oas.annotations.media.Schema;  
4 -import lombok.Data;  
5 -  
6 -@Schema(description = "管理后台 - AI API 密钥新增/修改 Request VO")  
7 -@Data  
8 -public class BackgroundTemplateReqVO {  
9 -  
10 - @Schema(description = "一级级次名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "通用")  
11 - private String fistLevelName;  
12 -  
13 - @Schema(description = "二级级次名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "色彩背景")  
14 - private String secondLevelName;  
15 -  
16 -}  
17 \ No newline at end of file 0 \ No newline at end of file
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/creation/vo/style/BackgroundTemplateResVO.java deleted
1 -package cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style;  
2 -  
3 -import io.swagger.v3.oas.annotations.media.Schema;  
4 -import lombok.Data;  
5 -  
6 -@Schema(description = "管理后台 - 商品替换背景模版 VO")  
7 -@Data  
8 -public class BackgroundTemplateResVO {  
9 -  
10 - @Schema(description = "一级分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "汽车、通用")  
11 - private String levelFirst;  
12 -  
13 - @Schema(description = "二级分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "色彩背景")  
14 - private String levelSecond;  
15 -  
16 - @Schema(description = "背景模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "彩虹渐变")  
17 - private String name;  
18 -  
19 - @Schema(description = "背景模版提示词", requiredMode = Schema.RequiredMode.REQUIRED, example = "背景为彩虹渐变墙面,亮暖色,清新简约风格,喷涂效果")  
20 - private String prompt;  
21 -  
22 - @Schema(description = "背景模版商品示例", requiredMode = Schema.RequiredMode.REQUIRED, example = "小熊玩偶")  
23 - private String demProduct;  
24 -  
25 - @Schema(description = "背景模版商品示例效果", requiredMode = Schema.RequiredMode.REQUIRED, example = "url")  
26 - private String demUrl;  
27 -}  
28 -  
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/creation/AiartStyleBackgroundTemplateDO.java deleted
1 -package cn.iocoder.yudao.module.ai.dal.dataobject.creation;  
2 -  
3 -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;  
4 -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;  
5 -import com.baomidou.mybatisplus.annotation.KeySequence;  
6 -import com.baomidou.mybatisplus.annotation.TableId;  
7 -import com.baomidou.mybatisplus.annotation.TableName;  
8 -import lombok.AllArgsConstructor;  
9 -import lombok.Builder;  
10 -import lombok.Data;  
11 -import lombok.NoArgsConstructor;  
12 -  
13 -/**  
14 - * AI art商品背景风格 DO  
15 - *  
16 - * @author 芋道源码  
17 - */  
18 -@TableName("ai_backgroundtemplate")  
19 -@KeySequence("ai_chat_conversation_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。  
20 -@Data  
21 -@Builder  
22 -@NoArgsConstructor  
23 -@AllArgsConstructor  
24 -public class AiartStyleBackgroundTemplateDO extends BaseDO {  
25 - /**  
26 - * 编号  
27 - */  
28 - @TableId  
29 - private Long id;  
30 -  
31 - /**  
32 - * 名称  
33 - */  
34 - private String levelFirst;  
35 -  
36 - /**  
37 - * 名称  
38 - */  
39 - private String levelSecond;  
40 - /**  
41 - * 模版名称  
42 - */  
43 - private String name;  
44 - /**  
45 - * 模版提示词  
46 - */  
47 - private String prompt;  
48 - /**  
49 - * 示例商品  
50 - */  
51 - private String demoProduct;  
52 -  
53 - /**  
54 - * 示例效果  
55 - */  
56 - private String demoUrl;  
57 -  
58 - /**  
59 - * 状态  
60 - *  
61 - * 枚举 {@link CommonStatusEnum}  
62 - */  
63 - private Integer status;  
64 -  
65 -}  
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/mysql/creation/AiartStyleBackgroundTemplateMapper.java deleted
1 -package cn.iocoder.yudao.module.ai.dal.mysql.creation;  
2 -  
3 -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;  
4 -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;  
5 -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;  
6 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.BackgroundTemplateReqVO;  
7 -import cn.iocoder.yudao.module.ai.dal.dataobject.creation.AiartStyleBackgroundTemplateDO;  
8 -import org.apache.ibatis.annotations.Mapper;  
9 -  
10 -import java.util.List;  
11 -  
12 -/**  
13 - * AI style分隔 Mapper  
14 - *  
15 - * @author 芋道源码  
16 - */  
17 -@Mapper  
18 -public interface AiartStyleBackgroundTemplateMapper extends BaseMapperX<AiartStyleBackgroundTemplateDO> {  
19 -  
20 - /**  
21 - * 获取有效的商品后端模版  
22 - * @param reqVO 请求对象  
23 - * @return 结果  
24 - */  
25 - default List<AiartStyleBackgroundTemplateDO> selectList(BackgroundTemplateReqVO reqVO) {  
26 - return selectList(new LambdaQueryWrapperX<AiartStyleBackgroundTemplateDO>()  
27 - .eqIfPresent(AiartStyleBackgroundTemplateDO::getLevelFirst,reqVO.getFistLevelName())  
28 - .eqIfPresent(AiartStyleBackgroundTemplateDO::getLevelSecond,reqVO.getSecondLevelName())  
29 - .eqIfPresent(AiartStyleBackgroundTemplateDO::getStatus, CommonStatusEnum.ENABLE.getStatus())  
30 - .orderByDesc(AiartStyleBackgroundTemplateDO::getId));  
31 - }  
32 -  
33 -}  
34 \ No newline at end of file 0 \ No newline at end of file
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/creation/AiartCreationService.java deleted
1 -package cn.iocoder.yudao.module.ai.service.creation;  
2 -  
3 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.AiartReplaceBackgroundReqVO;  
4 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.AiartReplaceBackgroundResVO;  
5 -  
6 -/**  
7 - * AI创作Service 接口  
8 - *  
9 - * @author zzt  
10 - */  
11 -public interface AiartCreationService {  
12 -  
13 -  
14 - /**  
15 - * 替换商品背景图片  
16 - * @param loginUserId 当前登录用户  
17 - * @param replaceBackgroundReqVO 请求对象  
18 - * @return 结果  
19 - */  
20 - AiartReplaceBackgroundResVO replaceBackground(Long loginUserId, AiartReplaceBackgroundReqVO replaceBackgroundReqVO);  
21 -}  
22 \ No newline at end of file 0 \ No newline at end of file
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/creation/AiartCreationServiceImpl.java deleted
1 -package cn.iocoder.yudao.module.ai.service.creation;  
2 -  
3 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.AiartReplaceBackgroundReqVO;  
4 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.AiartReplaceBackgroundResVO;  
5 -import org.springframework.stereotype.Service;  
6 -import org.springframework.validation.annotation.Validated;  
7 -  
8 -/**  
9 - * AI创作Service 实现类  
10 - *  
11 - * @author zzt  
12 - */  
13 -@Service  
14 -@Validated  
15 -public class AiartCreationServiceImpl implements AiartCreationService {  
16 -  
17 -  
18 - @Override  
19 - public AiartReplaceBackgroundResVO replaceBackground(Long loginUserId, AiartReplaceBackgroundReqVO replaceBackgroundReqVO) {  
20 - return null;  
21 - }  
22 -}  
23 \ No newline at end of file 0 \ No newline at end of file
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/creation/AiartStyleService.java deleted
1 -package cn.iocoder.yudao.module.ai.service.creation;  
2 -  
3 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.BackgroundTemplateReqVO;  
4 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.BackgroundTemplateResVO;  
5 -import cn.iocoder.yudao.module.ai.dal.dataobject.creation.AiartStyleBackgroundTemplateDO;  
6 -  
7 -import java.util.List;  
8 -  
9 -/**  
10 - * AI风格Service 接口  
11 - *  
12 - * @author zzt  
13 - */  
14 -public interface AiartStyleService {  
15 -  
16 -  
17 - /**  
18 - * 查询商品背景模版列表  
19 - * @param backgroundTemplateReqVO 商品背景模版请求对象  
20 - * @return 结果  
21 - */  
22 - List<AiartStyleBackgroundTemplateDO> queryBackgroundStyle(BackgroundTemplateReqVO backgroundTemplateReqVO);  
23 -}  
24 \ No newline at end of file 0 \ No newline at end of file
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/creation/AiartStyleServiceImpl.java deleted
1 -package cn.iocoder.yudao.module.ai.service.creation;  
2 -  
3 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.BackgroundTemplateReqVO;  
4 -import cn.iocoder.yudao.module.ai.controller.admin.creation.vo.style.BackgroundTemplateResVO;  
5 -import cn.iocoder.yudao.module.ai.dal.dataobject.creation.AiartStyleBackgroundTemplateDO;  
6 -import cn.iocoder.yudao.module.ai.dal.mysql.creation.AiartStyleBackgroundTemplateMapper;  
7 -import cn.iocoder.yudao.module.ai.dal.mysql.model.AiApiKeyMapper;  
8 -import jakarta.annotation.Resource;  
9 -  
10 -import java.util.List;  
11 -  
12 -/**  
13 - * AI风格Service 接口  
14 - *  
15 - * @author zzt  
16 - */  
17 -public class AiartStyleServiceImpl implements AiartStyleService{  
18 -  
19 - @Resource  
20 - private AiartStyleBackgroundTemplateMapper backgroundTemplateMapper;  
21 -  
22 -  
23 - @Override  
24 - public List<AiartStyleBackgroundTemplateDO> queryBackgroundStyle(BackgroundTemplateReqVO backgroundTemplateReqVO) {  
25 - return backgroundTemplateMapper.selectList(backgroundTemplateReqVO);  
26 - }  
27 -}  
28 \ No newline at end of file 0 \ No newline at end of file
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
@@ -147,8 +147,8 @@ public class AiImageServiceImpl implements AiImageService { @@ -147,8 +147,8 @@ public class AiImageServiceImpl implements AiImageService {
147 .build(); 147 .build();
148 } else if (ObjUtil.equal(model.getPlatform(), AiPlatformEnum.SILICON_FLOW.getPlatform())) { 148 } else if (ObjUtil.equal(model.getPlatform(), AiPlatformEnum.SILICON_FLOW.getPlatform())) {
149 // https://docs.siliconflow.cn/cn/api-reference/images/images-generations 149 // https://docs.siliconflow.cn/cn/api-reference/images/images-generations
150 - return SiliconflowImageOptions.builder().withModel(model.getModel())  
151 - .withHeight(draw.getHeight()).withWidth(draw.getWidth()) 150 + return SiliconflowImageOptions.builder().model(model.getModel())
  151 + .withHeight(draw.getHeight()).withHeight(draw.getWidth())
152 .build(); 152 .build();
153 } else if (ObjUtil.equal(model.getPlatform(), AiPlatformEnum.STABLE_DIFFUSION.getPlatform())) { 153 } else if (ObjUtil.equal(model.getPlatform(), AiPlatformEnum.STABLE_DIFFUSION.getPlatform())) {
154 // https://platform.stability.ai/docs/api-reference#tag/SDXL-and-SD1.6/operation/textToImage 154 // https://platform.stability.ai/docs/api-reference#tag/SDXL-and-SD1.6/operation/textToImage
yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml
@@ -117,13 +117,6 @@ @@ -117,13 +117,6 @@
117 </exclusions> 117 </exclusions>
118 </dependency> 118 </dependency>
119 119
120 - <!-- 腾讯大模型图像创作引擎-->  
121 - <dependency>  
122 - <groupId>com.tencentcloudapi</groupId>  
123 - <artifactId>tencentcloud-sdk-java-aiart</artifactId>  
124 - <version>3.1.1215</version>  
125 - </dependency>  
126 -  
127 <!-- Test 测试相关 --> 120 <!-- Test 测试相关 -->
128 <dependency> 121 <dependency>
129 <groupId>org.springframework.boot</groupId> 122 <groupId>org.springframework.boot</groupId>
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java
@@ -9,7 +9,6 @@ import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel; @@ -9,7 +9,6 @@ import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel;
9 import cn.iocoder.yudao.framework.ai.core.model.hunyuan.HunYuanChatModel; 9 import cn.iocoder.yudao.framework.ai.core.model.hunyuan.HunYuanChatModel;
10 import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; 10 import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi;
11 import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiiconflowApiConstants; 11 import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiiconflowApiConstants;
12 -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiiconflowmageApi;  
13 import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowChatModel; 12 import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowChatModel;
14 import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; 13 import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi;
15 import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; 14 import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/util/AiUtils.java
@@ -50,8 +50,8 @@ public class AiUtils { @@ -50,8 +50,8 @@ public class AiUtils {
50 case HUN_YUAN: // 复用 OpenAI 客户端 50 case HUN_YUAN: // 复用 OpenAI 客户端
51 case XING_HUO: // 复用 OpenAI 客户端 51 case XING_HUO: // 复用 OpenAI 客户端
52 case SILICON_FLOW: // 复用 OpenAI 客户端 52 case SILICON_FLOW: // 复用 OpenAI 客户端
53 - OpenAiChatOptions.Builder builder = OpenAiChatOptions.builder().model(model).temperature(temperature).maxTokens(maxTokens);  
54 - return toolNames == null ? builder.build() : builder.toolNames(toolNames).build(); 53 + return OpenAiChatOptions.builder().model(model).temperature(temperature).maxTokens(maxTokens)
  54 + .toolNames(toolNames).build();
55 case AZURE_OPENAI: 55 case AZURE_OPENAI:
56 // TODO 芋艿:貌似没 model 字段???! 56 // TODO 芋艿:貌似没 model 字段???!
57 return AzureOpenAiChatOptions.builder().deploymentName(model).temperature(temperature).maxTokens(maxTokens) 57 return AzureOpenAiChatOptions.builder().deploymentName(model).temperature(temperature).maxTokens(maxTokens)
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/SiliconFlowImageModelTests.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.ai.image;
  2 +
  3 +import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiiconflowmageApi;
  4 +import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconflowImageModel;
  5 +import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconflowImageOptions;
  6 +import org.junit.jupiter.api.Disabled;
  7 +import org.junit.jupiter.api.Test;
  8 +import org.springframework.ai.image.ImagePrompt;
  9 +import org.springframework.ai.image.ImageResponse;
  10 +
  11 +/**
  12 + * {@link SiliconflowImageModel} 集成测试
  13 + */
  14 +public class SiliconFlowImageModelTests {
  15 +
  16 + private final SiliconflowImageModel imageModel = new SiliconflowImageModel(
  17 + new SiiconflowmageApi("sk-epsakfenqnyzoxhmbucsxlhkdqlcbnimslqoivkshalvdozz") // 密钥
  18 + );
  19 +
  20 + @Test
  21 + @Disabled
  22 + public void testCall() {
  23 + // 准备参数
  24 + SiliconflowImageOptions imageOptions = SiliconflowImageOptions.builder()
  25 + .model("Kwai-Kolors/Kolors")
  26 + .build();
  27 + ImagePrompt prompt = new ImagePrompt("万里长城", imageOptions);
  28 +
  29 + // 方法调用
  30 + ImageResponse response = imageModel.call(prompt);
  31 + // 打印结果
  32 + System.out.println(response);
  33 + }
  34 +
  35 +}