|
@@ -2,9 +2,11 @@ package cn.iocoder.yudao.framework.ai.imageopenai;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.codec.Base64;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.http.HttpUtil;
|
|
|
import cn.iocoder.yudao.framework.ai.chat.ChatException;
|
|
|
import cn.iocoder.yudao.framework.ai.chatyiyan.exception.YiYanApiException;
|
|
|
+import cn.iocoder.yudao.framework.ai.exception.AiException;
|
|
|
import cn.iocoder.yudao.framework.ai.image.*;
|
|
|
import cn.iocoder.yudao.framework.ai.imageopenai.api.OpenAiImageRequest;
|
|
|
import cn.iocoder.yudao.framework.ai.imageopenai.api.OpenAiImageResponse;
|
|
@@ -69,6 +71,10 @@ public class OpenAiImageClient implements ImageClient {
|
|
|
request.setSize(openAiImageOptions.getSize());
|
|
|
// 发送请求
|
|
|
OpenAiImageResponse response = openAiImageApi.createImage(request);
|
|
|
+ if (response.getError() != null && !StrUtil.isBlank(response.getError().getMessage())) {
|
|
|
+ // code 错误没有编码,就先根据 message 来进行判断
|
|
|
+ throw new AiException("openAi 图片生成失败! " + response.getError().getMessage());
|
|
|
+ }
|
|
|
return new ImageResponse(response.getData().stream().map(res -> {
|
|
|
byte[] bytes = HttpUtil.downloadBytes(res.getUrl());
|
|
|
String base64 = Base64.encode(bytes);
|