今日凌晨,通义千问团队正式开源了 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、多模态、向量数据库、嵌入模型等内容。

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

  1. 「BZOJ 2534」 L - gap字符串

    「BZOJ 2534」 L - gap字符串 题目描述 有一种形如 \(uv u\) 形式的字符串,其中 \(u\) 是非空字符串,且 \(v\) 的长度正好为 \(L\), 那么称这个字符串为 \( ...

  2. 国内首款 FPGA 云服务器,性能是通用 CPU 服务器 30 倍以上

    版权声明:本文由薛梁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/628340001485134638 来源:腾云阁 ht ...

  3. 「C语言」常量和变量的表示、应用和变量命名规则

    在程序运行中,其值不能改变的量成为常量. 在基本数据类型中,常量可分为整型常量.实型常量.符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下: 目录: 一.常量 二.C语言标识符 三.变 ...

  4. 声网教育aPaaS 产品灵动课堂:「低代码」开发,15分钟极速上线

    1 月 20 日,声网Agora 在官网正式发布教育行业首款 aPaaS 产品灵动课堂,帮助教育机构和开发者最快 15 分钟上线自有品牌.全功能的在线互动教学平台,节省 90% 开发时间.目前,声网面 ...

  5. 「zigbee - 1」工欲善其事必先利其器 - IAR for 8051 IDE customization

    最近在实验室做一些 Zigbee 相关的事情,然而一直没在博客上记录啥东西,也不像原来在公司有动力在 Confluence wiki 上扯东扯西.直到前些阵子,跑到 feibit 论坛上(国内较大的一 ...

  6. 从零开始单排学设计模式「策略模式」黑铁 II

    阅读本文大概需要 1.7 分钟. 本篇是设计模式系列的第三篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统.所以现在打算重写,加上距离现在也有一段时间了, ...

  7. 【转】具透 | 你可能不知道,iOS 10 有一个中国「特供」的联网权限功能

    9 月底,苹果正式在北京成立了苹果中国研发中心.近几年,我们也在每年更新的 iOS 系统中不断看到,苹果对中国市场的关照.从早前的九宫格输入法,到最近的骚扰电话拦截,都照顾了国内用户的需求. 在 iO ...

  8. CDH 6.0.1 集群搭建 「After install」

    集群搭建完成之后其实还有很多配置工作要做,这里我列举一些我去做的一些. 首先是去把 zk 的角色重新分配一下,不知道是不是我在配置的时候遗漏了什么在启动之后就有报警说目前只能检查到一个节点.去将 zk ...

  9. Linux 小知识翻译 - 「架构 续」(arch)

    上次,从「计算机的内部构造」的角度解释了架构这个术语.这次,介绍下架构中经常提到的「i386架构」及之后的「i486」,「i586」. 安装Linux的时候,很多人即使不了解但也会经常听到i386架构 ...

  10. NLP领域的ImageNet时代到来:词嵌入「已死」,语言模型当立

    http://3g.163.com/all/article/DM995J240511AQHO.html 选自the Gradient 作者:Sebastian Ruder 机器之心编译 计算机视觉领域 ...

随机推荐

  1. Vue项目实战:构建你的第一个项目

    Vue项目实战:从零到一构建你的第一个应用 准备工作 在开始使用Vue之前,请确保您已经安装了Node.js 16.0或更高版本.Node.js是运行Vue项目所必需的JavaScript运行环境. ...

  2. AGC043E

    抄一下 https://www.luogu.com.cn/article/n32presk,写的非常好. 下面是要把问题转化为一个群论问题. 定义拓扑空间:全集 \(X\) 和它的一个子集族 \(T\ ...

  3. FreeSql学习笔记——11.LinqToSql

    前言   Linq的强大大家有目共睹,可以以简便的方式对数据集进行复杂操作,LinqToSql经常使用在数据库的联表.分组等查询操作中:FreeSql对LinqToSql的支持通过扩展包FreeSql ...

  4. 2023LN省选游记

    前言 CSP第一轮都考完了,我才写这个游记.我真懒惰 书接上回 正文 Day -114514 我也没想到我居然能报省选. 报上了.准备去爆零. Day -114513~Day -1 学习暴力算法以及痛 ...

  5. IPTools for .NET:快速查询全球IP信息

    IPTools 是一个用于快速查询全球 IP 地址信息的库,支持国内和国际 IP 查询,提供详细的地理位置信息(如国家.省份.城市)以及经纬度等数据. 1. IPTools.China IPTools ...

  6. Ansible - [08] 模块应用

    firewalld 模块 使用firewalld模块可以配置防火墙策略 [root@control ~]# cat ~/ansible/firewall.yml --- - hosts: agent ...

  7. Keepalived学习,双机主备高可用

    一.主机安装 1.解压 tar -zxvf keepalived-2.0.18.tar.gz 2.解压后进入到解压出来的目录,看到会有configure,那么就可以做配置了 3.使用configure ...

  8. [解决方案]git pull : error: cannot lock ref 'refs/remotes/origin/*' (unable to update local ref)

    错误 git pull 报错不能更新本地分支 错误分析 本地分支跟远程分支不匹配 导致更新失败 解决方案 备份自己修改的代码 .git\refs\remotes (文件路径)对应删除你报错的分支 gi ...

  9. 青岛oj集训1

    2025/3/4 内容:有向无环图(DAG) 优点:DAG有很多良好性质 拓扑排序 用处:可以根据拓扑序进行dp 这次计算所用的所有边的权值都是有计算过的 一张DAG图肯定有拓扑序(bfs序,dfs序 ...

  10. git 命令手册【不定时更新】

    本地分支 --> 远程服务器 git add xxx git commit -m "xxx" git push origin xxx 远程服务器 --> 本地分支 gi ...