HyperAI超神经

使用 vLLM+Open-webUI 部署 Qwen3 系列模型

GitHub
Stars
License

一、教程简介

本教程采用资源为单卡 RTX_4090 。

👉 该项目提供了 5 种型号的模型:

  • Qwen3-14B(需要切换为单卡 RTX A6000
  • Qwen3-8B(默认使用
  • Qwen3-4B
  • Qwen3-1.7B
  • Qwen3-0.6B

点击跳转:一键部署 Qwen3-30B-A3B 教程

Qwen3 项目是由阿里巴巴 Qwen 团队于 2025 年发布,相关技术报告为  「Qwen3: Think Deeper, Act Faster」

Qwen3 是 Qwen 系列中最新一代大型语言模型,提供全面的密集模型和混合专家 (MoE) 模型。 Qwen3 基于丰富的训练经验,在推理、指令遵循、代理能力和多语言支持方面取得了突破性进展,Qwen3 的应用场景非常广泛。它支持文本、图像、音频和视频处理,能够满足多模态内容创作和跨模态任务的需求。在企业级应用中,Qwen3 的 Agent 能力和多语言支持使其能够胜任医疗诊断、法律文档分析和客服自动化等复杂任务。此外,小型模型如 Qwen3-0.6B 适合在手机等端侧设备上部署,进一步拓展了其应用场景。

最新版本 Qwen3 有以下特点:

  • 全尺寸稠密与混合专家模型:0.6B, 1.7B, 4B, 8B, 14B, 32B and 30B-A3B, 235B-A22B
  • 支持在思考模式(用于复杂逻辑推理、数学和编码)和 非思考模式(用于高效通用对话)之间无缝切换,确保在各种场景下的最佳性能。
  • 显著增强的推理能力,在数学、代码生成和常识逻辑推理方面超越了之前的 QwQ(在思考模式下)和 Qwen2.5 指令模型(在非思考模式下)。
  • 卓越的人类偏好对齐,在创意写作、角色扮演、多轮对话和指令跟随方面表现出色,提供更自然、更吸引人和更具沉浸感的对话体验。
  • 擅长智能体能力,可以在思考和非思考模式下精确集成外部工具,在复杂的基于代理的任务中在开源模型中表现领先。
  • 支持 100 多种语言和方言,具有强大的多语言理解、推理、指令跟随和生成能力。

二、运行步骤

1. 启动容器后点击 API 地址即可进入 Web 界面

若不显示「模型」,这表示模型正在初始化,由于模型较大,请等待约 1-2 分钟后刷新页面。

2. 进入网页后,即可与模型展开对话

使用步骤

以下是优化后的 API 调用方法说明,结构更清晰且增加了实用细节:

三、 OpenAI API 调用指南

1. 获取基础配置

# 必要参数配置
BASE_URL = "<API 地址>/v1"  # 生产环境
MODEL_NAME = "Qwen3-30B-A3B"  # 默认模型名称
API_KEY = "Empty"  # 未设置 API_KEY

获取 API 地址

2. 不同调用方式

2.1 原生 Python 调用

import openai
# 创建 OpenAI 客户端实例
client = openai.OpenAI(
    api_key=API_KEY,  # 请替换为你的实际 API Key
    base_url=BASE_URL  # 替换为你的实际 base_url
)
# 发送聊天消息
response = client.chat.completions.create(
    model=MODEL_NAME,
    messages=[
        {"role": "user", "content": "你好!"}
    ],
    temperature=0.7, 
)
# 输出回复内容
print(response.choices[0].message.content)
# 方法 2:requests 库(更灵活)
import requests
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}
data = {
    "model": MODEL_NAME,
    "messages": [{"role": "user", "content": "你好!"}]
}
response = requests.post(f"{BASE_URL}/chat/completions", headers=headers, json=data)

2.2 开发工具集成

如使用 VScode 安装官方 CLINE 插件

2.3 cURL 调用

curl <BASE_URL>/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": <MODEL_NAME>,
    "messages": [{"role": "user", "content": "你好!"}]
  }'

四、切换模型

本教程默认使用 Qwen3-8B 模型,如需切换其他模型,请按以下步骤操作:

1. 查看显卡要求(最低配置)

  • Qwen3-14B:NVIDIA A6000
  • Qwen3-8B:RTX 4090(默认)
  • Qwen3-4B:RTX 4090
  • Qwen3-1.7B:RTX 4090
  • Qwen3-0.6B:RTX 4090

注意:

  • 14B 模型需要 A6000(48 GB 显存),请确保已切换算力资源。
  • 8B 及以下可在 RTX 4090(24 GB 显存)上运行。

2. 切换模型步骤

2.1 关闭当前模型服务

在终端运行以下命令,找到 vllm  进程并关闭:

ps aux | grep vllm

找到进程号(PID),然后执行:

kill -9 [PID]

2.2 启动新模型

例如,启动 Qwen3-4B

vllm serve /input0/Qwen3-4B \
  --tensor_parallel_size 1 \
  --host 0.0.0.0 \
  --port 8080 \
  --gpu-memory-utilization 0.95 \
  --max-num-seqs 16 \
  --served-model-name Qwen3-4B \
  --enable-reasoning \
  --reasoning-parser deepseek_r1

修改说明:

  • /input0/Qwen3-4B → 替换为你的目标模型路径(如 Qwen3-1.7B)。
  • --served-model-name → 修改为对应模型名称(如 Qwen3-1.7B)。

完成后,新模型即可使用! 🚀

交流探讨

🖌️ 如果大家看到优质项目,欢迎后台留言推荐!另外,我们还建立了教程交流群,欢迎小伙伴们扫码备注【SD 教程】入群探讨各类技术问题、分享应用效果↓

引用信息

感谢 ZV-Liu  对本教程的制作,本项目引用信息如下:

@misc{glm2024chatglm,
      title={ChatGLM: A Family of Large Language Models from GLM-130B to GLM-4 All Tools},
      author={Team GLM and Aohan Zeng and Bin Xu and Bowen Wang and Chenhui Zhang and Da Yin and Diego Rojas and Guanyu Feng and Hanlin Zhao and Hanyu Lai and Hao Yu and Hongning Wang and Jiadai Sun and Jiajie Zhang and Jiale Cheng and Jiayi Gui and Jie Tang and Jing Zhang and Juanzi Li and Lei Zhao and Lindong Wu and Lucen Zhong and Mingdao Liu and Minlie Huang and Peng Zhang and Qinkai Zheng and Rui Lu and Shuaiqi Duan and Shudan Zhang and Shulin Cao and Shuxun Yang and Weng Lam Tam and Wenyi Zhao and Xiao Liu and Xiao Xia and Xiaohan Zhang and Xiaotao Gu and Xin Lv and Xinghan Liu and Xinyi Liu and Xinyue Yang and Xixuan Song and Xunkai Zhang and Yifan An and Yifan Xu and Yilin Niu and Yuantao Yang and Yueyan Li and Yushi Bai and Yuxiao Dong and Zehan Qi and Zhaoyu Wang and Zhen Yang and Zhengxiao Du and Zhenyu Hou and Zihan Wang},
      year={2024},
      eprint={2406.12793},
      archivePrefix={arXiv},
      primaryClass={id='cs.CL' full_name='Computation and Language' is_active=True alt_name='cmp-lg' in_archive='cs' is_general=False description='Covers natural language processing. Roughly includes material in ACM Subject Class I.2.7. Note that work on artificial languages (programming languages, logics, formal systems) that does not explicitly address natural-language issues broadly construed (natural-language processing, computational linguistics, speech, text retrieval, etc.) is not appropriate for this area.'}
}