Spring AI(五) 文生图,图生图(豆包)
首先,为啥不用Spring AI aibaba。是因为我现在运行的项目已经有,对于生图是有要求的,对比模型的话还是豆包和即梦在图片处理上更有优势。所以与其去改Spring AI aibaba,我就想的还不如改Spring AI咯。
第一步就是重构OpenAiImageModel,这个怎么说呢,国内的大模型基本还是遵循OpenAI的规范。
@Configuration
public class ImageModelConfig {@Value("${spring.ai.openai.image.options.images-path}")private String imagesPath;@Value("${spring.ai.openai.image.api-key}")private String apiKey;@Value("${spring.ai.openai.image.base-url}")private String baseUrl;@Value("${spring.ai.openai.image.options.model}")private String model;@Beanpublic OpenAiImageModel openAiImageApi(){OpenAiImageApi openAiImageApi = OpenAiImageApi.builder().baseUrl(baseUrl).apiKey(apiKey).imagesPath(imagesPath).build();OpenAiImageOptions openAiImageOptions = OpenAiImageOptions.builder().model(model).build();return new OpenAiImageModel(openAiImageApi,openAiImageOptions,new RetryTemplate());}
}
其实这里就是指定了下请求地址,因为框架里面有默认地址咯。
第二步调用生图
@Autowiredprivate OpenAiImageModel openAiImageModel;@GetMapping("/wb")public String structuredOutput1(String msg){ImageResponse response = openAiImageModel.call(new ImagePrompt(msg,OpenAiImageOptions.builder().quality("hd").N(4).height(1024).width(1024).build()));return response.getResult().getOutput().getUrl();}
这个就比较简单咯