vLLM 高性能推理
简介
vLLM 是专为生产环境设计的高吞吐量 LLM 服务引擎。虽然 Ollama 和 llama.cpp 非常适合个人使用,但当你需要将 LLM 作为 API 后端提供高吞吐量和高效内存管理时,vLLM 表现出色。
可以这样理解它们的区别:
- Ollama/llama.cpp = 个人开发工具(单用户)
- vLLM = 生产服务器(多用户,高吞吐量)

安装
NVIDIA Jetson AI Lab 为 Jetson Orin 上的 vLLM 提供了官方优化的 Docker 镜像和精选模型配方——所有依赖项都已预构建和测试,无版本冲突。
步骤 1:拉取 vLLM Docker 镜像
bash
sudo docker pull ghcr.io/nvidia-ai-iot/vllm:latest-jetson-orin步骤 2:启动模型服务器
bash
sudo docker run -it --rm --pull always \
--runtime=nvidia --network host \
-e HF_ENDPOINT=https://hf-mirror.com \
-v $HOME/.cache/huggingface:/root/.cache/huggingface \
ghcr.io/nvidia-ai-iot/vllm:latest-jetson-orin \
vllm serve cyankiwi/Qwen3.5-4B-AWQ-4bit \
--gpu-memory-utilization 0.8 \
--enable-prefix-caching \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder步骤 3:测试 API
服务器启动后(你会看到 Uvicorn running on http://0.0.0.0:8000),打开一个新终端并测试:
bash
# 列出可用模型
curl http://localhost:8000/v1/models
# 发送聊天请求
curl -s http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cyankiwi/Qwen3.5-4B-AWQ-4bit",
"messages": [{"role": "user", "content": "What is edge computing?"}]
}'
尝试更多模型
以下所有模型都已验证,可以使用相同的 Docker 镜像在 Jetson Orin 上运行。只需在上面的命令中替换模型名称:
| 模型 | 命令 |
|---|---|
| Qwen3.5 2B | vllm serve Qwen/Qwen3.5-2B |
| Qwen3.5 9B | vllm serve Qwen/Qwen3.5-9B |
| Qwen3 8B | vllm serve Qwen/Qwen3-8B |
| Gemma 4 E4B | vllm serve google/gemma-4-E4B-it |
| Gemma 4 E2B | vllm serve google/gemma-4-E2B-it |
| Gemma 3 4B | vllm serve google/gemma-3-4b-it |
| Gemma 4 26B-A4B (AWQ) | vllm serve cyankiwi/gemma-4-26B-A4B-it-AWQ-4bit |
| Nemotron Nano 9B v2 | vllm serve nvidia/Nemotron-Nano-9B-v2 |
| Nemotron3 Nano 30B-A3B | vllm serve nvidia/Nemotron3-Nano-30B-A3B |
较大的模型(Qwen3.5 9B+)或 AWQ 量化模型需要更多 VRAM。在 Orin Nano 8GB 上,建议使用 2B–4B 模型。在 Orin NX 16GB 或 AGX Orin 32GB/64GB 上,你可以舒适地运行 8B–30B(MoE)模型。
浏览完整列表并复制可直接运行的命令:jetson-ai-lab.com/models
Python 示例
基本聊天
python
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="not-needed"
)
response = client.chat.completions.create(
model="Qwen/Qwen3.5-2B",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain edge computing in 3 sentences."}
],
temperature=0.7,
max_tokens=150
)
print(response.choices[0].message.content)流式响应
python
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="not-needed"
)
stream = client.chat.completions.create(
model="Qwen/Qwen3.5-2B",
messages=[{"role": "user", "content": "Write a haiku about robots."}],
stream=True,
max_tokens=100
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
print()
参考资料
- Jetson AI Lab — 模型 — 官方精选的 Jetson 优化模型列表,包含可直接运行的 Docker 命令
- NVIDIA AI IoT — vLLM 容器 — Jetson Orin 的官方 vLLM Docker 镜像
- vLLM 文档
下一步:继续学习 模块 5.5:Jetson 示例快速入门,一键部署 LLM!