本文主要研究一下怎么通过langchai4j结合zhipu-ai生成图片

步骤

pom.xml

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-community-zhipu-ai</artifactId>
    <version>1.0.0-beta1</version>
</dependency>

config

@Configuration
public class ImageConfig {

    @Bean
    public ZhipuAiImageModel zhipuAiImageModel(@Value("${zhipu.apiKey}") String zhipuApiKey) {
        return ZhipuAiImageModel.builder()
                .apiKey(zhipuApiKey)
                .model("cogview-3-plus")
                .logRequests(true)
                .logResponses(true)
                .callTimeout(Duration.ofSeconds(60))
                .connectTimeout(Duration.ofSeconds(60))
                .writeTimeout(Duration.ofSeconds(60))
                .readTimeout(Duration.ofSeconds(60))
                .build();
    }
}

controller

@RequestMapping("/image")
@RestController
@Slf4j
public class ImageController {

    @Autowired
    ZhipuAiImageModel model;

    /**
     * http://localhost:8080/image/generate?prompt=Beautiful house on country side
     * @param prompt
     * @return
     */
    @GetMapping("/generate")
    public String generate(@RequestParam("prompt") String prompt) {
        Response<Image> response = model.generate(prompt);

        URI remoteImage = response.content().url();
        log.info("Your remote image is here: {}", remoteImage);
        return remoteImage.toString();
    }
}
启动之后请求http://localhost:8080/image/generate?prompt=Beautiful house on country side,就可以得到图片链接

小结

langchain4j集成了Azure OpenAI Dall·E、OpenAI Dall·E、Google Imagen、Cloudflare Workers AI、ZhiPu AI、Xinference这几种图像大模型。对于ZhiPu AI来讲,提供了ZhipuAiImageModel,通过generate方法即可生成图片。

doc


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...