vLLM 命令速查表 - 高性能 LLM 推理与服务部署

vLLM 与 llama.cpp、Ollama 的差别不在"能不能跑模型",而在吞吐模型:它用 PagedAttention 管理 KV 缓存、连续批处理把不同长度的请求拼成一个 batch,目标是在给定显存下把每秒 token 推到最高。所以判断该不该上 vLLM 看三个信号:需要 OpenAI 兼容接口给多业务复用、请求量足够大到 batch 优化有收益、并且愿意为显存与运维付费。要动手的是三处:先按显存算 --gpu-memory-utilization 决定能吃下多大模型,再按卡数定 --tensor-parallel-size(TP 不等于数据并行,切错会拖慢),最后在精度与成本之间选量化格式。AWQ 与 GPTQ 的取舍标准是显存是否卡住你,而不是速度本身——量化常带来吞吐下降,只有显存不够时才值得换。

AI 命令行·共 25 条命令·最后更新 2026-08-23

安装 5

pip install vllm
安装 vLLM(含 CLI 入口 vllm)
pip install vllm --upgrade
升级到最新版
vllm --version
查看已安装版本
python -c "import vllm; print(vllm.__version__)"
确认包可用
vllm --help
查看全部子命令

启动 OpenAI 兼容服务 5

vllm serve facebook/opt-125m
起服务(默认 :8000,OpenAI 协议)
vllm serve <model> --host 0.0.0.0 --port 8080
指定监听地址与端口
vllm serve <model> --api-key <key>
启用 API Key 校验(或环境变量 VLLM_API_KEY)
vllm serve <model> --tensor-parallel-size 2
多 GPU 张量并行(TP)
vllm serve <model> --gpu-memory-utilization 0.9
调高显存利用率装更大模型

客户端调用 5

curl http://localhost:8000/v1/models
列出已加载模型
curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{"model":"...","messages":[...]}'
发起 chat 请求
openai_api_base=http://localhost:8000/v1
OpenAI SDK 指向本地 vLLM
vllm serve <model> --max-model-len 8192
限制上下文长度省显存
vllm serve <model> --enforce-eager
禁用 CUDA graph,调试更稳

量化与性能 5

vllm serve <model> --quantization awq
加载 AWQ 量化权重
vllm serve <model> --quantization gptq
加载 GPTQ 量化权重
vllm serve <model> --enable-prefix-caching
开前缀缓存,重复前缀加速
vllm serve <model> --max-num-seqs 256
调并发序列数上限
vllm serve <model> --dtype half
用 fp16 省显存(默认 auto)

实用技巧 5

服务默认 :8000
与 OpenAI 默认端口不同,注意改客户端 base_url
大模型先 --gpu-memory-utilization
显存不够先调利用率
TP 数 = 显卡数
张量并行按卡数设
调试开 --enforce-eager
排除 CUDA graph 相关诡异问题
量化换吞吐/显存
awq/gptq 在精度与成本间取舍

提示

  • vLLM 是高吞吐 LLM 推理引擎(PagedAttention + 连续批处理),把开源模型以 OpenAI 兼容协议暴露出来,是自建推理服务的首选。
  • 服务默认监听 :8000(不是 OpenAI 的 :8080),客户端改 base_url=http://localhost:8000/v1 即可无缝替换。
  • 显存不够先调 --gpu-memory-utilization;多卡用 --tensor-parallel-size 按卡数设;调试诡异问题开 --enforce-eager。
  • AWQ/GPTQ 量化能在精度与成本间取舍;--enable-prefix-caching 对多轮/重复前缀场景提速明显。
  • 默认服务端口是 8000,不是 Ollama 的 11434 也不是 OpenAI 的 8080;旧客户端只需把 base_url 改成 http://host:8000/v1 并保留 /v1 后缀即可。
  • 启动报显存不足或被预分配卡住时,先把 --gpu-memory-utilization 往 0.85~0.92 收;出现数值异常或长尾卡顿再用 --enforce-eager 关 CUDA graph 换稳定性。
  • --max-model-len 显式设小可显著降低 KV 缓存占用并提升并发槽位数,比加载更小的模型代价低,前提是确认业务最长输入确实够用。

常见问题

vLLM 和直接用 Transformers 加载模型有什么区别?

vLLM 做了 PagedAttention 与连续批处理,对请求的调度更高效,高并发下吞吐显著高于朴素的逐条推理。代价是显存管理更激进、启动更重,且自定义推理逻辑的灵活度不如直接用 Transformers。自己跑单条推理或做研究用 Transformers 更省事,要对外提供服务就用 vLLM。

模型太大装不进显存怎么办?

按这个顺序试:先调 --gpu-memory-utilization 0.9 提高分配比例,再限制上下文长度 --max-model-len 8192,这两项常常就够了;仍然放不下就用 --quantization awq 或 gptq 加载量化权重,精度会有损失但在多数场景可接受。多卡场景用 --tensor-parallel-size 2 做张量并行,张量并行数通常等于显卡数。

调试时遇到诡异问题该不该开 --enforce-eager?

应该开。--enforce-eager 会禁用 CUDA graph,把问题范围从「vLLM 与 CUDA graph 的兼容性」缩小到模型本身。开启后如果问题消失,说明问题出在 CUDA graph 这一层,去查驱动与 CUDA 版本;如果依然存在,则问题在模型或你的代码里。调试阶段加上它能省下大量时间。

vLLM 服务的默认端口是多少?

默认 8000,而 OpenAI 官方 API 是 443/80 系列,这导致直接沿用 OpenAI SDK 时连不上。用 OpenAI SDK 时要把 base_url 显式指向 http://localhost:8000/v1,否则会请求到别处。起服务时也可以用 --port 8080 自己指定,配合 --host 0.0.0.0 让局域网内其他机器能访问。

怎么提高并发吞吐?

先调 --max-num-seqs 256 提高并发序列数上限,再用 --enable-prefix-caching 复用相同前缀,多轮对话场景收益明显。多卡场景用 --tensor-parallel-size 2 把模型切分到多张卡上。另外 --gpu-memory-utilization 0.9 能多装下一些 KV cache,间接提升并发能力。

官方参考来源

下方为命令对应的官方权威文档,供你核对最新用法与深入查阅。

由 巧匠 维护

公开更新于 2026年8月23日,内容持续校对官方文档。

联系我们

命令或描述有误?提交反馈、商务合作或产品建议都可发送邮件给我们。

联系我们