今天,咱们要干票大的!
我们要亲手把 国产最强的两个大模型——DeepSeek通义千问(Qwen)直接接入到咱们的 Java 应用里!

所以今天这节课,咱们的目标很明确:

让你用 Java 写出两段代码,一段调 DeepSeek,一段调 Qwen,真正实现“国产大模型自由”!


🎯 引入:为什么一定要用国产大模型?

你可能会想:“OpenAI 不是挺好吗?干嘛换?”

好问题!但现实很骨感:

  • OpenAI 在国内访问不稳定,得“魔法”;
  • 充值要用外币信用卡,麻烦;
  • 企业数据发到国外,有合规风险!

而国产大模型呢?

  • 阿里云、深度求索(DeepSeek)都提供 国内直连 API
  • 支持支付宝/微信充值,5 块钱送几十万 Token
  • 数据不出境,安全合规
  • 性能?DeepSeek-V3、Qwen-Max、QWQ-32B,个个都是“六边形战士”!

咱们今天优先用 Qwen-Max(通用能力强、支持非流式响应),更适配初学者。


🧠 理论铺垫:LangChain4j 如何“一统江湖”?

还记得咱们说 LangChain4j 是“AI 乐高积木”吗?

它的厉害之处在于——不管你用哪家模型,接口几乎一样!

比如:

  • 调 OpenAI?用 OpenAiChatModel
  • 调 Qwen?用 QwenChatModel
  • 调 DeepSeek?等等……它没单独的类?

对!因为 DeepSeek 的 API 完全兼容 OpenAI 协议!
这意味着——你直接用 OpenAiChatModel,换个 Base URL 就行!

是不是超省事?这就是标准化的力量!

参考文档:https://docs.langchain4j.dev/


⚙️ 实战 Part 1:接入 DeepSeek

第一步:去官网申请 API Key

打开 DeepSeek 开放平台
→ 登录 → 进入「API Keys」→ 创建新 Key
→ 首次注册还送额度!够你玩几个月了!

记下你的 API Key,咱们待会儿用。

第二步:Java 代码(无需新依赖!)

因为 DeepSeek 兼容 OpenAI 接口,所以我们继续用 langchain4j-open-ai 这个依赖

public class DeepSeekDemo {
    public static void main(String[] args) {
        String apiKey = System.getenv("DEEPSEEK_API_KEY");
        if (apiKey == null || apiKey.trim().isEmpty()) {
            System.err.println("❌ 错误:环境变量 DEEPSEEK_API_KEY 未设置!");
            return;
        }

        ChatModel model = OpenAiChatModel.builder()
                .baseUrl("https://api.deepseek.com")
                .apiKey(apiKey)
                .modelName("deepseek-chat")
                .timeout(java.time.Duration.ofSeconds(60)) // 可选:增加超时
                .build();

        try {
            String response = model.chat("你好!你是谁?");
            System.out.println("🤖 DeepSeek 回答:" + response);
        } catch (Exception e) {
            System.err.println("💥 调用失败:" + e.getMessage());
            e.printStackTrace();
        }
    }
}

🔐 安全提示:永远不要把 API Key 写死在代码里!
推荐用环境变量(如 DEEPSEEK_API_KEY)或配置中心管理。

运行结果大概长这样:

🤖 DeepSeek 回答:你好!我是 DeepSeek 自研的大语言模型 DeepSeek-R1,很高兴为你服务!

搞定!一行 Base URL,就把 OpenAI 客户端变成了 DeepSeek 客户端!


⚙️ 实战 Part 2:接入通义千问(Qwen)

这次不一样了!阿里有自己的 SDK,所以咱们要换依赖。

第一步:添加 Qwen 专用依赖

pom.xml 中加入:

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-community-dashscope</artifactId>
    <version>1.11.0-beta19</version>
</dependency>
第二步:去阿里云百炼平台申请 Key

打开 阿里云百炼
→ 进入「API-KEY 管理」→ 创建 Key
→ 记下 API Key

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

第三步:写 Java 代码
public class QwenSeekDemo {
    public static void main(String[] args) {
        String apiKey = System.getenv("QWEN_API_KEY");
        if (apiKey == null || apiKey.trim().isEmpty()) {
            System.err.println("❌ 错误:环境变量 QWEN_API_KEY 未设置!");
            return;
        }

        ChatModel model = QwenChatModel.builder()
                .apiKey(apiKey)
                .modelName("qwen-max")
                .build();

        try {
            String response = model.chat("你好!你是谁?");
            System.out.println("🤖 千问 回答:" + response);
        } catch (Exception e) {
            System.err.println("💥 调用失败:" + e.getMessage());
            e.printStackTrace();
        }
    }
}

初学者建议先用 qwen-max —— 它稳定、强大、支持全文本返回!

运行后你会看到:

🤖 千问 回答:你好!我是Qwen,一个由阿里云开发的大型语言模型。我被设计用来帮助人们生成各种类型的文本,如文章、故事、诗歌、故事等,并能够根据不同的场景和需求提供信息、解答问题或创造内容。无论是需要创意思维的头脑风暴,还是寻找具体问题的答案,我都会尽力提供支持。很高兴认识你!有什么我可以帮你的吗?

🎉 完美!国产双雄,尽在掌握!


🔄 对比总结:DeepSeek vs Qwen 接入方式

咱们用一张图看清楚区别:

所以记住:

  • DeepSeek:换 URL,不换依赖
  • Qwen:换依赖,不换思路

🎁 收尾:本节课你拿下了什么?

  • 成功接入国产顶尖大模型 DeepSeek 和 通义千问
  • 理解了“OpenAI 兼容协议”的威力——一行代码切换模型
  • 掌握了 API Key 安全管理的最佳实践
  • 为后续构建“多模型调度平台”打下坚实基础

记得把 API Key 存好,代码跑起来!有问题评论区见,咱们下期继续“国产真香”之旅!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐