写点什么

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

作者:王磊
  • 2025-04-29
    陕西
  • 本文字数:2309 字

    阅读完需:约 8 分钟

国内首个「混合推理模型」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 依赖即可。


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

2.设置配置信息

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 模型。


支持的模型列表参考官方文档:https://help.aliyun.com/zh/model-studio/models?spm=a2c4g.11186623.0.0.78d848237YTeH1#cefdf0875dorc

3.编写调用代码

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.添加依赖

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


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


<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 则不能自动注入百炼模型:


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


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

3.编写调用代码

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、多模态、向量数据库、嵌入模型等内容。

用户头像

王磊

关注

javacn.site 2018-08-25 加入

我的小站:javacn.site

评论

发布
暂无评论
国内首个「混合推理模型」Qwen3深夜开源,盘点它的N种对接方式!_王磊_InfoQ写作社区