Commit 8f3076b2ea6ad9e803f7ebc998f54868bafc0181
1 parent
47ff5bf8
【增加】niji 模型参数设置
Showing
2 changed files
with
41 additions
and
4 deletions
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(错误)) |