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 | \ 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 | +} |