阿里云人工智能大模型通义千问Qwen3开发部署
本文主要描述阿里云人工智能大模型开源社区ModelScope提供的通义千问Qwen3开发部署。
与阿里云一起轻松实现数智化让算力成为公共服务:用大规模的通用计算,帮助客户做从前不能做的事情,做从前做不到的规模。让数据成为生产资料:用数据的实时在线,帮助客户以数据为中心改变生产生活方式创造新的价值。 |
Qwen3 亮点
Qwen3 是 Qwen 系列中最新一代的大规模语言模型,提供了一系列密集型和专家混合(MoE)模型。基于广泛的训练,Qwen3 在推理、指令执行、代理能力和多语言支持方面实现了突破性进展,具有以下关键特性:
在单一模型内无缝切换思考模式(用于复杂的逻辑推理、数学和编程)和非思考模式(用于高效的通用对话),确保在各种场景下的最佳性能。
显著增强其推理能力,在数学、代码生成和常识逻辑推理方面超越了之前的 QwQ(在思考模式下)和 Qwen2.5 指令模型(在非思考模式下)。
优越的人类偏好对齐,擅长创意写作、角色扮演、多轮对话和指令执行,提供更加自然、吸引人和沉浸式的对话体验。
在代理能力方面的专长,能够在思考和非思考模式下与外部工具精确集成,并在复杂代理任务中达到开源模型中的领先性能。
支持 100 多种语言和方言,具有强大的多语言指令执行和翻译能力。
模型概述
Qwen3-0.6B 具有以下特点:
类型:因果语言模型
训练阶段:预训练 & 后训练
参数数量:0.6B
非嵌入参数数量:0.44B
层数:28
注意力头数(GQA):Q 为 16,KV 为 8
上下文长度:32,768
开发环境搭建
ModelScope社区是阿里云通义千问开源的大模型开发者社区。
如上所示,安装ModelScope社区大模型基础库开发框架的命令行参数,使用清华大学提供的镜像地址
如上所示,在JetBrains PyCharm的项目工程终端控制台中,安装深度学习基础库开发框架pytorch
如上所示,在JetBrains PyCharm的项目工程终端控制台中,安装深度学习基础库开发框架tensorflow
如上所示,在JetBrains PyCharm的项目工程终端控制台中,安装ModelScope社区大模型基础库开发框架
如上所示,在JetBrains PyCharm的项目工程终端控制台中,安装ModelScope社区大模型多模态领域开发框架
如上所示,在JetBrains PyCharm的项目工程的测试代码中,使用分词器对原文执行分析操作,输出分词列表
运行千问大模型
https://www.modelscope.cn/models/Qwen/Qwen3-0.6B/files |
如上所示,从ModelScope社区的模型仓库下载开源的千问大模型到本地
如上所示,在代码中引入预训练的模型库源文件,初始化分词器以及模型实例
如上所示,在代码中设置用户的提问信息,使用分词器的文本对话模版、设置文本对话模版的属性,其中,包括开启文本对话模版的思考模式,使用分词器初始化用户的输入问题信息
如上所示,在代码中使用模型实例对输入的分词列表执行生成操作,从大模型实例中获取用户问题的答复
如上所示,在代码中使用分词器对大模型的答复执行解码操作,解码包括思考部分的答复以及非思考部分的答复
阿里云人工智能大模型百炼运行部署
SGLANG_USE_MODELSCOPE=true python -m sglang.launch_server --model-path Qwen/Qwen3-0.6B --reasoning-parser qwen3 |
如上所示,使用开源SGLANG运行环境部署大模型的命令行
VLLM_USE_MODELSCOPE=true vllm serve Qwen/Qwen3-0.6B --enable-reasoning --reasoning-parser deepseek_r1 |
如上所示,使用开源VLLM运行环境部署大模型的命令行
切换思考模式和非思考模式
默认情况下,Qwen3 启用了思考能力,类似于 QwQ-32B。这意味着模型将利用其推理能力来提高生成响应的质量。例如,在显式设置 enable_thinking=True 或在 tokenizer.apply_chat_template 中使用默认值时,模型将进入思考模式。
如上所示,在代码中使用思考模式,模型会生成用 <think>...</think> 的输出标签返回思考模式的生成内容
如上所示,在代码中使用非思考模式,模型不会生成任何思考内容,并且不会包含 <think>...</think>输出标签
高级用法:通过用户输入切换思考模式和非思考模式
我们提供了一种软开关机制,允许用户在 enable_thinking=True 时动态控制模型的行为。具体来说,您可以在用户提示或系统消息中添加 /think 和 /no_think 来逐轮切换模型的思考模式。在多轮对话中,模型将遵循最新的指令。
如上所示,在代码中定义通用函数,用于加载模型、初始化分词器、初始化模型实例、生成用户问题的答复
如上所示,在代码中使用默认的思考模式提问
如上所示,在代码中使用非思考模式提问
如上所示,在代码中使用思考模式提问
使用MCP协议代理集成
Qwen3在工具调用能力方面表现出色。我们推荐使用Qwen-Agent来最好地利用Qwen3的代理能力。Qwen-Agent内部封装了工具调用模板和解析器,极大地减少了编码复杂度。
要定义可用工具,您可以使用MCP配置文件、使用Qwen-Agent集成的工具,或者自行集成其他工具。
如上所示,在代码中定义MCP代理服务器端的LLM开放接口服务,其中,包括服务器地址以及授权认证属性信息
如上所示,在代码中定义MCP代理服务器端提供的工具命令
如上所示,在代码中使用MCP代理服务器端的工具命令实现对话功能