使用 VLLM 推理框架部署 AI 大模型
原文作者:阿里P8架构师
发布时间:2026-01-11
转载请注明出处
1. 环境说明
- Python 环境:建议使用 Python 3.10 - 3.12
- 推荐使用
uv虚拟环境,避免依赖冲突
安装 uv
# GitHub 地址:https://github.com/astral-sh/uv
# Linux 安装
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows 安装
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# 或通过 pip 安装(不推荐,性能较差)
pip install uv
2. 魔搭(ModelScope)相关命令
安装 ModelScope
uv pip install modelscope -i https://mirrors.aliyun.com/pypi/simple/
下载模型
modelscope download --model Qwen/Qwen3-32B-AWQ --local_dir /mnt/e/model/qwen3-32b-awq
modelscope download --model Qwen/Qwen3-Reranker-8B --local_dir /mnt/e/model/qwen3-reranker-8b
modelscope download --model Qwen/Qwen3-Embedding-8B --local_dir /mnt/e/model/qwen3-embedding-8b
modelscope download --model Qwen/Qwen3-30B-A3B-Thinking-2507 --local_dir ./Qwen3-30B-A3B-Thinking-2507
3. 大模型部署命令(VLLM)
(1)启动模型服务
# 进入模型虚拟环境(如在 62 服务器上)
source /data/model/.venv/bin/activate
# 启动 Qwen3-30B Thinking 模型
nohup vllm serve /data/model/Qwen3-30B-A3B-Thinking-2507 \
--tensor-parallel-size 2 \
--max-model-len 131072 \
--enable-auto-tool-choice \
--tool-call-parser hermes \
--gpu-memory-utilization 0.9 \
--enable-chunked-prefill \
--quantization fp8 \
--max-num-seqs 4 > vllm.log 2>&1 &
# 启动 Qwen3-30B Instruct 模型
nohup vllm serve /data/model/Qwen3-30B-A3B-Instruct-2507 \
--tensor-parallel-size 2 \
--max-model-len 131072 \
--enable-auto-tool-choice \
--tool-call-parser hermes \
--gpu-memory-utilization 0.9 \
--enable-chunked-prefill \
--quantization fp8 \
--max-num-seqs 4 > vllm.log 2>&1 &
# 启动基础版 Qwen3-30B
nohup vllm serve /data/model/Qwen3-30B-A3B \
--tensor-parallel-size 2 \
--max-model-len 40960 \
--enable-auto-tool-choice \
--tool-call-parser hermes \
--gpu-memory-utilization 0.9 \
--enable-chunked-prefill \
--quantization fp8 \
--max-num-seqs 4 > vllm.log 2>&1 &
# 启动 32B AWQ 量化版本(勿动)
nohup vllm serve /data/model/Qwen3-32B-AWQ \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes \
--max-model-len 130000 \
--gpu-memory-utilization 0.85 \
--max-num-seqs 100 > vllm.log 2>&1 &
# 启动向量模型(Embedding)
vllm serve /data/model/Qwen3-Embedding-8B \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.85 \
--max-num-seqs 100
# 启动重排模型(Reranker)
# (命令略,类似 embedding)
# 启动视觉模型
nohup vllm serve /data/model/Qwen2.5-VL-7B-Instruct \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.85 \
--max-num-seqs 128 > vllm.log 2>&1 &
# 启动 MinerU 识别模型
nohup vllm serve /data/model/MinerU2.5-2509-1.2B \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.85 \
--max-model-len 4096 \
--max-num-seqs 4 > mineru.log 2>&1 &
# 尝试启动 32B 非量化模型(当前启动失败)
vllm serve /mnt/e/model/qwen3-32b \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes \
--max-model-len 12000 \
--quantization fp8
注意:
2>&1 &表示将标准错误输出重定向到标准输出,并后台运行。
(2)VLLM 安装命令
# 设置国内镜像加速
export UV_HTTP_TIMEOUT=300
export UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
# 安装 PyTorch(CUDA 12.8)
uv pip install torch==2.8 torchvision torchaudio \
--extra-index-url https://download.pytorch.org/whl/cu128 \
-i https://mirrors.aliyun.com/pypi/simple/
# 安装 vLLM
uv pip install vllm -i https://mirrors.aliyun.com/pypi/simple/
(3)调整模型上下文长度(支持 128K)
修改模型目录下的 config.json 文件,添加或替换以下字段:
{
"max_position_embeddings": 131072,
"rope_scaling": {
"type": "yarn",
"factor": 4.0,
"original_max_position_embeddings": 32768,
"finetuned": true
}
}
4. MinerU 相关命令
(1)启动文档解析
# 使用外部 VLM 服务解析 PDF
mineru -p test1.pdf -o ./outfile1 -b vlm-http-client -u http://localhost:8000
(2)帮助文档
mineru --help
输出如下:
Usage: mineru [OPTIONS]
Options:
-v, --version 显示版本并退出
-p, --path PATH 输入文件路径或目录(必填)
-o, --output PATH 输出目录(必填)
-m, --method [auto|txt|ocr] 解析方法:auto(默认)、txt、ocr(仅用于 pipeline 后端)
-b, --backend [pipeline|vlm-transformers|vlm-vllm-engine|vlm-lmdeploy-engine|vlm-http-client]
解析后端(默认为 pipeline)
-l, --lang [ch|ch_server|ch_lite|en|korean|japan|chinese_cht|ta|te|ka|th|el|latin|arabic|east_slavic|cyrillic|devanagari]
指定文档语言(可提升 OCR 准确率,仅用于 pipeline 后端)
-u, --url TEXT 当使用 http-client 时,需指定服务地址
-s, --start INTEGER 开始解析的页码(从 0 开始)
-e, --end INTEGER 结束解析的页码(从 0 开始)
-f, --formula BOOLEAN 是否启用公式解析(默认开启)
-t, --table BOOLEAN 是否启用表格解析(默认开启)
-d, --device TEXT 推理设备(如 cpu/cuda/cuda:0/npu/mps,仅 pipeline 后端)
--vram INTEGER 单进程最大 GPU 显存占用(GB)(仅 pipeline 后端)
--source [huggingface|modelscope|local]
模型来源,默认 huggingface
--help 显示帮助信息
(3)安装 MinerU
pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple
pip install uv -i https://mirrors.aliyun.com/pypi/simple
uv pip install -U "mineru[core]" -i https://mirrors.aliyun.com/pypi/simple
5. Linux 常用命令
# 查看 NVIDIA GPU 状态
nvidia-smi
# 强制杀掉所有 VLLM 进程
pkill -f vllm
6. PaddleOCR 安装与验证
(1)安装 PaddlePaddle
pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple
(2)验证安装
import paddle
paddle.utils.run_check()
若输出 PaddlePaddle is installed successfully!,则安装成功。
(3)安装 PaddleOCR
pip install paddleocr -i https://pypi.tuna.tsinghua.edu.cn/simple
``>
---
> ✅ 本文所有命令、代码、参数均与原文 **完全一致**,未删减任何内容。
> 可直接用于生产环境部署参考。
---
**关注我,获取更多 AI 工程化、大模型部署、RAG 系统实战干货!**
---
### 使用说明(B站专栏发布前):
1. 复制以上全部内容;
2. 登录 B站 → 创作中心 → 专栏稿件 → 新建;
3. 粘贴内容,B站会自动渲染 Markdown;
4. 可适当添加封面图、标签(如 #大模型 #VLLM #AI部署 #Qwen);
5. 发布即可。
如需我帮你生成封面文案或 SEO 标题,也可以告诉我!