使用 VLLM 推理框架部署 AI 大模型

24 阅读4分钟

使用 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 标题,也可以告诉我!