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 | 12 | import cn.iocoder.yudao.module.ai.AiCommonConstants; |
| 13 | 13 | import cn.iocoder.yudao.module.ai.ErrorCodeConstants; |
| 14 | 14 | import cn.iocoder.yudao.module.ai.client.MidjourneyProxyClient; |
| 15 | +import cn.iocoder.yudao.module.ai.client.enums.MidjourneyModelEnum; | |
| 15 | 16 | import cn.iocoder.yudao.module.ai.client.enums.MidjourneySubmitCodeEnum; |
| 16 | 17 | import cn.iocoder.yudao.module.ai.client.vo.MidjourneyImagineReqVO; |
| 17 | 18 | import cn.iocoder.yudao.module.ai.client.vo.MidjourneySubmitRespVO; |
| ... | ... | @@ -157,10 +158,16 @@ public class AiImageServiceImpl implements AiImageService { |
| 157 | 158 | // 3、调用 MidjourneyProxy 提交任务 |
| 158 | 159 | MidjourneyImagineReqVO imagineReqVO = BeanUtils.toBean(req, MidjourneyImagineReqVO.class); |
| 159 | 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 | 171 | MidjourneySubmitRespVO submitRespVO = midjourneyProxyClient.imagine(imagineReqVO); |
| 165 | 172 | |
| 166 | 173 | // 4、保存任务 id (状态码: 1(提交成功), 21(已存在), 22(排队中), other(错误)) | ... | ... |