【LangChain4J】LangChain4J 第三弹:多模态与文生图的实现
目录
一、文生图
1.1 基于通义万相实现文生图
1.2 基于智普实现文生图
二、多模态
2.1 使用场景
2.2 技术实现
2.3 多模态的实现(读取网络图片)
2.4 实现多模态(读取本地文件)
一、文生图
文生图 是多模态任务的一种具体形式,指通过文本描述生成对应图像的技术。其核心目标是将人类语言的抽象语义转化为视觉具象,广泛应用于创意设计、游戏开发、虚拟内容生成等领域。
1.1 基于通义万相实现文生图
1. 配置通义万相
@Configuration
public class ImageModelConfig {@Beanpublic ImageModel wanxImageModel() {return WanxImageModel.builder()// 生产级别配置到 Nacos.apiKey(System.getenv("ALIYUN-AK")).modelName("wanx2.1-t2i-plus").build();}
}
提供的模型列表如下:
-
wanx2.1-t2i-plus:生成图像细节更丰富,速度较慢。对应通义万相官网 2.1 专业模型。生成费用 0.20元/张。
-
wanx2.1-t2i-turbo:生成速度快、效果全面、性价比高。对应通义万相官网2.1极速模型。生成费用 0.14元/张。
-
wanx2.0-t2i-turbo:擅长质感人像,速度中等、成本较低。对应通义万相官网 2.0 极速模型。生成费用 0.04元/张。
2. 编写调用代码
import dev.langchain4j.model.image.ImageModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/img")
public class ImageController {@Autowiredprivate ImageModel wanxImageModel;@RequestMapping("/gen")public String gen(@RequestParam("msg") String msg) {String url = wanxImageModel.generate(msg).content().url().toString();System.out.println(url);return url;}
}