vLLM 速查表
vLLM 是一个高吞吐量的 LLM 推理服务引擎,采用 PagedAttention 和 Continuous Batching 技术,显著提升 GPU 利用率。支持多 GPU 张量/流水线并行、LoRA 热加载、OpenAI 兼容 API,是生产环境部署 LLM 的标准选择。
快速开始
``bash
# 安装
pip install vllm
# 启动模型服务 vllm serve meta-llama/Llama-3.1-8b --host 0.0.0.0 --port 8000
# 测试 API curl -s http://localhost:8000/v1/chat/completions \ -d '{"model":"meta-llama/Llama-3.1-8b","messages":[{"role":"user","content":"你好"}],"max_tokens":100}'
# 查看加载的模型
curl -s http://localhost:8000/v1/models | jq .
`
模型服务
vllm serve <模型名> 是核心命令。模型可以是 HuggingFace ID 或本地路径。关键参数:--port、--host、--dtype、--max-model-len、--gpu-memory-utilization。
多 GPU 推理
大模型用张量并行(--tensor-parallel-size)或流水线并行(--pipeline-parallel-size)跨 GPU 部署。两者可组合使用。
LoRA 适配器
vLLM 支持热加载 LoRA 适配器,无需重启服务。--enable-lora 启用,--lora-modules 注册。多个适配器共存,按请求选择。
显存优化
--gpu-memory-utilization 控制显存使用率(默认 0.9)。--kv-cache-dtype fp8 减半 KV Cache 显存。--max-model-len 限制上下文大小。--max-num-seqs 控制并发数。
OpenAI 兼容 API
vLLM 提供 /v1/chat/completions、/v1/completions、/v1/embeddings、/v1/models` 端点。任何 OpenAI SDK 只需改 base URL 即可对接 vLLM。
启动模式(2)
| 命令 | 难度 | ||
|---|---|---|---|
vllm --help显示 vLLM CLI 帮助 | 基础 | vllm --help | |
pip install vllm安装 vLLM | 基础 | pip install vllm |
ai-server(19)
| 命令 | 难度 | ||
|---|---|---|---|
vllm serve启动模型推理服务(核心命令) | 基础 | vllm serve facebook/opt-125m | |
vllm serve --port指定服务端口(默认 8000) | 基础 | vllm serve meta-llama/Llama-3.1-8b --port 8080 | |
vllm serve --host指定绑定的主机地址 | 基础 | vllm serve meta-llama/Llama-3.1-8b --host 0.0.0.0 | |
vllm serve --tensor-parallel-size设置张量并行度(多 GPU) | 高级 | vllm serve meta-llama/Llama-3.1-8b --tensor-parallel-size 2 | |
vllm serve --pipeline-parallel-size设置流水线并行度 | 高级 | vllm serve meta-llama/Llama-3.1-70b --pipeline-parallel-size 4 | |
vllm serve --dtype指定推理精度(auto/half/float16/bfloat16) | 中级 | vllm serve meta-llama/Llama-3.1-8b --dtype bfloat16 | |
vllm serve --max-model-len设置最大模型上下文长度 | 中级 | vllm serve meta-llama/Llama-3.1-8b --max-model-len 16384 | |
vllm serve --gpu-memory-utilization设置 GPU 显存利用率(0-1) | 中级 | vllm serve phi-4 --gpu-memory-utilization 0.85 | |
vllm serve --enable-lora启用 LoRA 适配器支持 | 高级 | vllm serve meta-llama/Llama-3.1-8b --enable-lora | |
vllm serve --lora-modules加载指定 LoRA 模块 | 高级 | vllm serve meta-llama/Llama-3.1-8b --enable-lora --lora-modules my-lora=/path/to/lora | |
vllm serve --api-key设置 API Key 认证 | 中级 | vllm serve meta-llama/Llama-3.1-8b --api-key sk-my-key | |
vllm serve --tokenizer-mode设置分词器模式(auto/slow) | 高级 | vllm serve microsoft/phi-4 --tokenizer-mode slow | |
vllm serve --load-format指定模型加载格式(auto/safetensors/npcache) | 高级 | vllm serve ./local-model --load-format safetensors | |
curl http://localhost:8000/v1/chat/completions向 vLLM 发送 OpenAI 兼容聊天请求 | 中级 | curl -s http://localhost:8000/v1/chat/completions -d '{"model":"meta-llama/Llama-3.1-8b","messages":[{"role":"user","content":"Hello"}]}'
| |
curl http://localhost:8000/v1/completions向 vLLM 发送文本补全请求 | 中级 | curl -s http://localhost:8000/v1/completions -d '{"model":"meta-llama/Llama-3.1-8b","prompt":"Hello","max_tokens":100}'
| |
curl http://localhost:8000/v1/models查看 vLLM 服务中加载的模型 | 基础 | curl -s http://localhost:8000/v1/models | jq . | |
curl http://localhost:8000/health检查 vLLM 服务健康状态 | 基础 | curl -s http://localhost:8000/health | |
vllm serve --kv-cache-dtype指定 KV Cache 精度(auto/fp8) | 高级 | vllm serve meta-llama/Llama-3.1-8b --kv-cache-dtype fp8 | |
vllm serve --max-num-seqs设置最大并发序列数 | 高级 | vllm serve meta-llama/Llama-3.1-8b --max-num-seqs 32 |
ai-eval(1)
| 命令 | 难度 | ||
|---|---|---|---|
vllm benchvLLM 基准测试 | 高级 | vllm bench latency --model meta-llama/Llama-3.1-8b |