Commit 813e7af8467c1f4b693593fdbe9c20b96a0228e6
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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 147 | .build(); |
| 148 | 148 | } else if (ObjUtil.equal(model.getPlatform(), AiPlatformEnum.SILICON_FLOW.getPlatform())) { |
| 149 | 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 | 152 | .build(); |
| 153 | 153 | } else if (ObjUtil.equal(model.getPlatform(), AiPlatformEnum.STABLE_DIFFUSION.getPlatform())) { |
| 154 | 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 | 117 | </exclusions> |
| 118 | 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 | 120 | <!-- Test 测试相关 --> |
| 128 | 121 | <dependency> |
| 129 | 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 | 9 | import cn.iocoder.yudao.framework.ai.core.model.hunyuan.HunYuanChatModel; |
| 10 | 10 | import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; |
| 11 | 11 | import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiiconflowApiConstants; |
| 12 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiiconflowmageApi; | |
| 13 | 12 | import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowChatModel; |
| 14 | 13 | import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; |
| 15 | 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 | 50 | case HUN_YUAN: // 复用 OpenAI 客户端 |
| 51 | 51 | case XING_HUO: // 复用 OpenAI 客户端 |
| 52 | 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 | 55 | case AZURE_OPENAI: |
| 56 | 56 | // TODO 芋艿:貌似没 model 字段???! |
| 57 | 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 | +} | ... | ... |