国内首个「混合推理模型」Qwen3深夜开源,盘点它的N种对接方式!

今日凌晨,通义千问团队正式开源了 Qwen3 大模型,并且一口气发布了 8 个型号,其中包括 0.6B、1.7B、4B、8B、14B、32B 以及 30B-A3B 和 235B-A22B,使用者可以根据自己的业务情况,选择合适的版本进行使用。

更让人惊喜的是,最新的 Qwen3 系列模型具备双模推理能力(深入思考/快速响应)、支持 119 种语言及方言,并强化了 Agent 功能与代码执行能力,全面满足复杂问题处理与全球化应用需求。

PS:Qwen3 也是国内首个「混合推理模型」,「快思考」与「慢思考」集成进同一个模型,对简单需求可低算力「秒回」答案,对复杂问题可多步骤「深度思考」,大大节省算力消耗。

Qwen3 旗舰模型 Qwen3-235B-A22B 在代码、数学、通用能力等基准测试中,与 DeepSeek-R1、o1、o3-mini、Grok-3 和 Gemini-2.5-Pro 等顶级模型相比,表现出极具竞争力的结果。此外,小型 MoE 模型 Qwen3-30B-A3B 的激活参数数量是 QwQ-32B 的 10%,表现更胜一筹,甚至像 Qwen3-4B 这样的小模型也能匹敌 Qwen2.5-72B-Instruct 的性能,以下是测试报告:

对接 Qwen3

常见对接大模型的方案有以下几种:

  1. 官方对接方式:例如,调用阿里百炼平台对接 Qwen3。
  2. 本地模型对接方式:安装 Ollama 部署 Qwen3,对接 Ollama 实现调用。
  3. 三方平台对接方式:使用千帆或火山引擎等三方平台,对接调用 Qwen3。

但目前因为 Qwen3 刚刚发布,所以只能使用前两种对接方式,截止发稿时,三方平台还未上线 Qwen3,但也够用了。

具体实现

接下来我们就以官方的调用方式,来实现一下 Qwen3 的具体代码对接吧,这里提供 Spring AI 和 LangChain4j 两种对接实现。

Spring AI 对接 Qwen3

1.添加依赖

Spring AI 并没有内置阿里云百炼平台,但百炼平台支持 OpenAI 协议,因此我们可以使用 OpenAI 对接百炼平台,因此我们只需要添加 OpenAI 依赖即可。

xml 复制代码
<dependency>
  <groupId>org.springframework.ai</groupId>
  <artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>

2.设置配置信息

yaml 复制代码
spring:
  ai:
    openai:
      base-url: https://dashscope.aliyuncs.com/compatible-mode/
      api-key: ${ALIYUN-AK}
      chat:
        options:
          model: qwen3-235b-a22b

其中:

  • base-url 填写百炼平台地址。
  • api-key 为准备阶段在百炼平台申请的 AK 凭证。
  • model 设置为 qwen3-235b-a22b 模型。

支持的模型列表参考官方文档:help.aliyun.com/zh/model-st...

3.编写调用代码

java 复制代码
import org.springframework.ai.openai.OpenAiChatModel;
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("/ds")
public class TestController {

    private final OpenAiChatModel chatModel;

    @Autowired
    public TestController(OpenAiChatModel chatModel) {
        this.chatModel = chatModel;
    }

    @RequestMapping("/chat")
    public String chat(@RequestParam("msg") String msg) {
        String result = chatModel.call(msg);
        System.out.println("返回结果:" + result);
        return result;
    }
}

LangChain4j 对接 Qwen3

LangChain4j 内置集成了阿里云百炼平台,所以可以直接对接。

1.添加依赖

xml 复制代码
<dependency>
  <groupId>dev.langchain4j</groupId>
  <artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
</dependency>

可以为"langchain4j-community-xxx"其添加统一版本管理:

xml 复制代码
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>dev.langchain4j</groupId>
      <artifactId>langchain4j-community-bom</artifactId>
      <version>1.0.0-beta3</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

2.设置配置信息

注意这里需要配置"chat-model"节点,官方文档有问题,如果不配置 chat-model 则不能自动注入百炼模型:

yaml 复制代码
langchain4j:
  community:
    dashscope:
      base-url: https://dashscope.aliyuncs.com/compatible-mode/
      chat-model:
        api-key: ${ALIYUN-AK}
        model-name: qwen-plus

支持的模型列表:help.aliyun.com/zh/model-st...

3.编写调用代码

java 复制代码
import dev.langchain4j.model.chat.ChatLanguageModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/qw")
public class QwenController {

    @Autowired
    private ChatLanguageModel qwenChatModel;

    @RequestMapping("/chat")
    public String chat(String question) {
        return qwenChatModel.chat(question);
    }
}

小结

当然,以上对接方式是全量输出(得到结果之后一次性返回),生产级别我们通常要使用流式输出,并且需要实现连续(上下文)对话,以及历史对话信息持久化等功能,文章篇幅有限,这里就不一一实现了,大家可以下来自己试试。

本文已收录到我的技术小站 www.javacn.site,其中包含的内容有:Spring AI、LangChain4j、MCP、Function Call、RAG、向量数据库、Prompt、多模态、向量数据库、嵌入模型等内容。

相关推荐
全栈凯哥7 分钟前
桥接模式(Bridge Pattern)详解
java·设计模式·桥接模式
PXM的算法星球11 分钟前
【软件工程】面向对象编程(OOP)概念详解
java·python·软件工程
两点王爷11 分钟前
springboot项目文件上传到服务器本机,返回访问地址
java·服务器·spring boot·文件上传
小吕学编程14 分钟前
ES练习册
java·前端·elasticsearch
qsmyhsgcs26 分钟前
Java程序员转人工智能入门学习路线图(2025版)
java·人工智能·学习·机器学习·算法工程师·人工智能入门·ai算法工程师
A林玖28 分钟前
【机器学习】朴素贝叶斯
人工智能·算法·机器学习
六边形战士DONK31 分钟前
神经网络基础[损失函数,bp算法,梯度下降算法 ]
人工智能·神经网络·算法
专注API从业者36 分钟前
《Go 语言高并发爬虫开发:淘宝商品 API 实时采集与 ETL 数据处理管道》
开发语言·后端·爬虫·golang
IT从业者张某某37 分钟前
机器学习-08-时序数据分析预测
人工智能·机器学习·数据分析
袁煦丞39 分钟前
AI视频生成神器Wan 2.1:cpolar内网穿透实验室第596个成功挑战
人工智能·程序员·远程工作