如何使用 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 虚拟环境

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

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

source $HOME/.local/bin/env

uv venv vllm-env --python 3.12 --seed
source "$HOME/vllm-env/bin/activate"

## 设置环境变量,使得python虚拟环境永久有效
cat <<EOF >> $HOME/.bashrc
source $HOME/.local/bin/env
source "$HOME/vllm-env/bin/activate"
EOF


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

2. 源码安装 vLLM

vLLM 是一个专门优化 LLM 推理性能的工具,安装 vLLM 是为了在本地高效运行和优化大语言模型的推理任务, 它可以有效提升推理速度,提高资源利用率。

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

# 编译前的一些准备工作
sudo apt-get update -y
sudo apt-get install -y gcc-12 g++-12 libnuma-dev python3-dev git
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 10 --slave /usr/bin/g++ g++ /usr/bin/g++-12

## 克隆 GitHub 仓库
git clone https://github.com/vllm-project/vllm.git vllm_source
cd vllm_source

## 安装依赖(建议使用虚拟环境),虚拟环境安装参考我的博客 https://pengtech.net/python/linux_install_python.html
pip install --upgrade pip
pip install "cmake>=3.26" wheel packaging ninja "setuptools-scm>=8" numpy
pip install -v -r requirements/cpu.txt --extra-index-url https://download.pytorch.org/whl/cpu

## 调整目标设备的硬件架构,编译并安装vLLM
VLLM_TARGET_DEVICE=cpu python setup.py install

验证 vllm 是否安装成功

1
2
$ vllm --version
0.16.0rc2.dev236+g3b30e6150.cpu

或者使用python指令验证

1
2
3
4

user@server $ python3 -c "import vllm; print('vLLM OK')"
vLLM OK

更多细节参考 如何使用源码安装 vLLM?

3. 下载千问 Qwen3 大模型

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

1
2
3
4
5
6

pip install "huggingface_hub<1.0" --force-reinstall

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

[api_server.py:500] Starting vLLM API server 0 on http://0.0.0.0:8000
......

INFO: Started server process [11234]
INFO: Waiting for application startup.
INFO: Application startup complete.

......

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

5. 安装 open-webui

1
2
3
4
5
6
7
8
cd ~

# 为了避免open-webui与vLLM的依赖冲突,强烈建议为open-webui创建独立的python环境
uv venv webui-env --python 3.12 --seed
source ~/webui-env/bin/activate
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 即可

6. 设置开机启动

使用以上安装方式无论 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

7. 后记

本技术博客原创文章位于鹏叔的 IT 技术博客空间 - 如何使用 vLLM 部署千问 3 大语言模型?, 获取最近更新请访问原文.

更多技术博客请访问: 鹏叔的 IT 技术博客空间

8. 参考文档

本地 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

更新于

2026-02-17

许可协议

评论