Commit 8f3076b2ea6ad9e803f7ebc998f54868bafc0181

Authored by cherishsince
1 parent 47ff5bf8

【增加】niji 模型参数设置

yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/client/enums/MidjourneyModelEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.ai.client.enums;
  2 +
  3 +
  4 +import lombok.AllArgsConstructor;
  5 +import lombok.Getter;
  6 +
  7 +/**
  8 + * 来源于 midjourney-proxy
  9 + */
  10 +@Getter
  11 +@AllArgsConstructor
  12 +public enum MidjourneyModelEnum {
  13 +
  14 + MIDJOURNEY("midjourney", "midjourney"),
  15 + NIJI("Niji", "Niji"),
  16 +
  17 + ;
  18 +
  19 + private String model;
  20 + private String name;
  21 +
  22 + public static MidjourneyModelEnum valueOfModel(String model) {
  23 + for (MidjourneyModelEnum itemEnum : MidjourneyModelEnum.values()) {
  24 + if (itemEnum.getModel().equals(model)) {
  25 + return itemEnum;
  26 + }
  27 + }
  28 + throw new IllegalArgumentException("Invalid MessageType value: " + model);
  29 + }
  30 +}
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
@@ -12,6 +12,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -12,6 +12,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
12 import cn.iocoder.yudao.module.ai.AiCommonConstants; 12 import cn.iocoder.yudao.module.ai.AiCommonConstants;
13 import cn.iocoder.yudao.module.ai.ErrorCodeConstants; 13 import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
14 import cn.iocoder.yudao.module.ai.client.MidjourneyProxyClient; 14 import cn.iocoder.yudao.module.ai.client.MidjourneyProxyClient;
  15 +import cn.iocoder.yudao.module.ai.client.enums.MidjourneyModelEnum;
15 import cn.iocoder.yudao.module.ai.client.enums.MidjourneySubmitCodeEnum; 16 import cn.iocoder.yudao.module.ai.client.enums.MidjourneySubmitCodeEnum;
16 import cn.iocoder.yudao.module.ai.client.vo.MidjourneyImagineReqVO; 17 import cn.iocoder.yudao.module.ai.client.vo.MidjourneyImagineReqVO;
17 import cn.iocoder.yudao.module.ai.client.vo.MidjourneySubmitRespVO; 18 import cn.iocoder.yudao.module.ai.client.vo.MidjourneySubmitRespVO;
@@ -157,10 +158,16 @@ public class AiImageServiceImpl implements AiImageService { @@ -157,10 +158,16 @@ public class AiImageServiceImpl implements AiImageService {
157 // 3、调用 MidjourneyProxy 提交任务 158 // 3、调用 MidjourneyProxy 提交任务
158 MidjourneyImagineReqVO imagineReqVO = BeanUtils.toBean(req, MidjourneyImagineReqVO.class); 159 MidjourneyImagineReqVO imagineReqVO = BeanUtils.toBean(req, MidjourneyImagineReqVO.class);
159 imagineReqVO.setNotifyHook(midjourneyNotifyUrl); 160 imagineReqVO.setNotifyHook(midjourneyNotifyUrl);
160 - // 设置 midjourney 扩展参数,通过 --ar 来设置尺寸  
161 - String midjourneySizeParam = String.format("--ar %s:%s", req.getWidth(), req.getHeight());  
162 - String midjourneyVersionParam = String.format("--v %s", req.getVersion());  
163 - imagineReqVO.setState(midjourneySizeParam.concat(" ").concat(midjourneyVersionParam)); 161 + // 设置 midjourney 扩展参数
  162 + // --ar 来设置尺寸
  163 + String midjourneySizeParam = String.format(" --ar %s:%s ", req.getWidth(), req.getHeight());
  164 + // --v 版本
  165 + String midjourneyVersionParam = String.format(" --v %s ", req.getVersion());
  166 + // --niji 模型
  167 + MidjourneyModelEnum midjourneyModelEnum = MidjourneyModelEnum.valueOfModel(req.getModel());
  168 + String midjourneyNijiParam = MidjourneyModelEnum.NIJI == midjourneyModelEnum ? " --niji " : "";
  169 + // 设置参数
  170 + imagineReqVO.setState(midjourneySizeParam.concat(midjourneyVersionParam).concat(midjourneyNijiParam));
164 MidjourneySubmitRespVO submitRespVO = midjourneyProxyClient.imagine(imagineReqVO); 171 MidjourneySubmitRespVO submitRespVO = midjourneyProxyClient.imagine(imagineReqVO);
165 172
166 // 4、保存任务 id (状态码: 1(提交成功), 21(已存在), 22(排队中), other(错误)) 173 // 4、保存任务 id (状态码: 1(提交成功), 21(已存在), 22(排队中), other(错误))