如何使用 vLLM 部署千问 3 大语言模型?

本文主要讲述如何使用 vLLM 部署 千问 3 大语言模型。本文使用的是 Qwen3-0.6B 一个参数较小的模型,主要是为了体验整个部署过程。另外大模型运行在 CPU 上(因为支持 GPU 的 VPS 普遍较贵, 一直是用爱发电,能省则省).最后我们安装了一个 open-webui 用于和 self-hosted 的千问模型以图形界面的方式与模型进行对话。整个部署过程非常丝滑,适合有一定动手能力的用户,部署体验, 成本非常低, 仅需一台 8U32G 的 VPS, 不需要显卡。在本文的基础上略做修改也可以用于开发自己的 AI Agentic 应用。

本文的实验环境是一台 8 核心 32G 内存的 hostinger vps 运行的操作系统是 ubuntu 24.04 LTS。
VPS 申请过程参考这篇文章 快速注册 Hostinger 账号以及创建 Hostinger VPS

1. 安装 python 虚拟环境

参考 如何使用 Astral UV 管理 Python 虚拟环境?

2. 源码安装 vLLM

参考 如何使用源码安装 vLLM?

3. 下载千问 Qwen3 大模型

由于 VPS 位于海外,可以直接使用 huggingface 下载大模型。

1
2
3
4
5

pip install -U huggingface_hub
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download --resume-download Qwen/Qwen3-0.6B --local-dir ~/Qwen3-0.6B

4. 运行 Qwen3 大模型

1
2
3
4

cd ~
python -m vllm.entrypoints.openai.api_server --model ~/Qwen3-0.6B --served-model-name Qwen3-0.6B --max-model-len=2048

看到如下信息表示大模型启动成功

1
2
3
4
5
6
7
8
9
10

......
INFO: Started server process [11234]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: 185.241.41.102:56290 - "OPTIONS /v1/models HTTP/1.1" 200 OK
INFO: 185.241.41.102:56290 - "GET /v1/models HTTP/1.1" 200 OK
INFO: 185.241.41.102:39654 - "OPTIONS /v1/chat/completions HTTP/1.1" 200 OK
......

此时使用 http://your_vps_server_id:8000/version 即可查到大模型版本信息

5. 安装 open-webui

1
2
3
4

pip install open-webui
open-webui serve

open-webui 默认开启在 8080 端口上。

然后访问http://your_vps_server_id:8080/,在初次开启服务时需要新建管理员账户,邮箱只用做登录名无须验证, 如果只是测试目的可以随便填。

接下来,点击右上角头像,进入管理员面板,找到设置。点击外部链接 =》点击管理 OpenAI API 连接旁边的+加号。

URL 输入:
http://your_vps_server_id:8000/v1

密钥随便填写,不会实际验证,

然后点击保存。保存成功后回到主页,在模型选择框会看到 Qwen3-0.6B 选项,选择该模型,就可以进行对话了。

因为我们是以 vllm.entrypoints.openai.api_server 模式启动的大模型,所有 api 是与 OpenAI 的 API 兼容的,所以这里添加 OpenAI API 即可

设置开机启动

使用以上安装方式无论 Qwen3 大模型,还是 open-webui 都是运行在前台。一旦 ssh 连接断开或者服务器重启, 进程就会关闭,每次重新开启非常麻烦。

首先创建一个启动脚本

1
2
3
4
5

[user@server]vi /home/username/start_vllm.sh

python -m vllm.entrypoints.openai.api_server --model ~/Qwen3-0.6B --served-model-name Qwen3-0.6B --max-model-len=2048

给脚本赋予可执行权限

1
chmod +x /home/username/start_vllm.sh

创建一个 systemd 服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19


[user@server] vi /etc/systemd/system/vllm.service

[Unit]
Description=VLLM Service for qwen3
After=network.target

[Service]
Type=simple
User=username
WorkingDirectory=/home/username
RestartSec=5s
ExecStart=/bin/bash /home/username/start_vllm.sh
Restart=always

[Install]
WantedBy=multi-user.target

记得将username替换成实际的用户名,如果是root用户 WorkingDirectory 设置为WorkingDirectory=/root

重新加载 systemd 服务:

1
2
3
4
5
6
7
8
9
# 重新加载 systemd 服务
sudo systemctl daemon-reload
# 启动服务以测试
sudo systemctl start vllm.service
# 启用服务以便开机启动
sudo systemctl enable vllm.service
# 检查服务状态
systemctl status vllm.service

6. 参考文档

本地 vllm 部署 DeepSeek,但 CPU

Qwen3 在 Linux 服务器上部署流程

vLLM+OpenWebUI 本地部署 QwQ-32B 网页问答简易指南

vllm serve 设置加载 conda 环境并开机自启动

如何使用 vLLM 部署千问 3 大语言模型?

https://pengtech.net/ai/vllm_install_qwen3.html

作者

鹏叔

发布于

2025-05-26

更新于

2025-05-30

许可协议

评论