🧠 理论铺垫:什么是“多模态”?LangChain4j 怎么支持?

LangChain4j 已经封装好了文生图接口,你不需要懂 Stable Diffusion,也不用搭复杂环境,只要一个 API Key,就能调用阿里最强的“通义万相”大模型!

简单说:

  • 单模态:只处理文本(比如聊天)
  • 多模态:能同时理解/生成 文本、图像、语音、视频

LangChain4j 为它提供了 WanXiangImageModel(实际类名可能略有不同),让你像调聊天模型一样调绘图模型!

整个流程超简单:

你拿到 URL,就能存数据库、发邮件、嵌入网页……随你!


⚙️ 实战:用 Java 调用通义万相生成图片

第一步:去阿里云百炼平台申请权限
  1. 打开 阿里云百炼
  2. 进入「模型广场」→ 搜索 “通义万相”
  3. 选择 万相 2.1(推荐,细节更丰富)
  4. 点击「API 调用」→ 创建 API Key(记下 API_KEY

🔐 安全提示:和之前一样,不要把 Key 写死在代码里!用环境变量。

https://bailian.console.aliyun.com/cn-beijing/?tab=model#/model-market/detail/wan2.6-t2i

第二步:添加依赖

pom.xml 中加入阿里多模态支持:

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-community-dashscope</artifactId>
    <version>1.11.0-beta19</version>
</dependency>
第三步:写 Java 代码(核心就这几行!)

参考文档:https://docs.langchain4j.dev/integrations/language-models/dashscope/#more-examples

import dev.langchain4j.model.image.ImageModel;
import dev.langchain4j.model.alibaba.WanXiangImageModel; // 假设类名如此

public class TextToImageDemo {
    public static void main(String[] args) {
        // 创建通义万相图片模型客户端
        ImageModel imageModel = WanXiangImageModel.builder()
                .apiKey(System.getenv("ALIBABA_API_KEY"))
                .modelName("wanx-v2.1") // 万相 2.1
                .build();

        // 生成图片!提示词越详细,效果越好
        String imageUrl = imageModel.generate(
            "一位亚洲年轻女性,长发飘逸,站在樱花树下微笑,阳光透过树叶,高清摄影风格"
        );

        System.out.println("🎨 图片已生成!URL: " + imageUrl);
        // 你可以用浏览器打开这个链接查看
    }
}

提示词技巧

  • 加上“高清”、“摄影风格”、“8k”等词,提升画质
  • 描述越具体(发型、服装、背景、光线),结果越精准

运行程序,你会看到类似输出:

🎨 图片已生成!URL: https://alicdn.com/wanxiang/xxxxxx.jpg

复制这个链接到浏览器——哇!一张高清美女图出来了!

头发丝、光影、表情,细节拉满!是不是超震撼?


❓ 互动思考:能不能生成其他风格?比如动漫、油画?

当然能!

试试这些提示词:

  • “宫崎骏动画风格,一个小女孩骑着龙飞过云海”
  • “梵高风格的星空下的咖啡馆,油画笔触”
  • “赛博朋克城市夜景,霓虹灯闪烁,雨天反光”

通义万相对风格指令非常敏感,大胆发挥你的想象力!

从今天起,你不仅能用 Java 处理数据,还能用它创造视觉艺术

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐