首页 教程 分类 Skills下载 关于
ZH EN JA KO
模型接入

vLLM 本地推理服务器搭建教程

· 7 分钟

vLLM 简介

vLLM 是一个高性能的大语言模型推理引擎,使用 PagedAttention 技术实现高效的显存管理和请求批处理。它提供 OpenAI 兼容的 API 服务器,可以直接对接 OpenClaw,实现完全自托管的 AI 助手方案。

前置要求

  • NVIDIA GPU(推荐 RTX 3090/4090 或 A100)
  • CUDA 12.1+
  • Python 3.9+
  • 足够的磁盘空间存放模型文件

安装 vLLM

pip install vllm

使用 Docker 安装(推荐):

docker pull vllm/vllm-openai:latest

启动 vLLM 服务

以 Llama 3.1 8B 为例:

vllm serve meta-llama/Llama-3.1-8B-Instruct \
  --host 0.0.0.0 \
  --port 8000 \
  --api-key "vllm-local-key" \
  --max-model-len 8192

Docker 方式:

docker run -d \
  --name vllm \
  --gpus all \
  -p 8000:8000 \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  vllm/vllm-openai:latest \
  --model meta-llama/Llama-3.1-8B-Instruct \
  --host 0.0.0.0 \
  --port 8000 \
  --api-key "vllm-local-key"

在 OpenClaw 中配置

{
  "providers": {
    "vllm": {
      "type": "openai",
      "baseUrl": "http://localhost:8000/v1",
      "apiKey": "vllm-local-key",
      "models": ["meta-llama/Llama-3.1-8B-Instruct"]
    }
  },
  "models": {
    "local-llama": {
      "provider": "vllm",
      "model": "meta-llama/Llama-3.1-8B-Instruct",
      "temperature": 0.7,
      "maxTokens": 4096
    }
  }
}

性能调优

量化加速

使用 AWQ 量化模型减少显存占用:

vllm serve TheBloke/Llama-3.1-8B-Instruct-AWQ \
  --quantization awq \
  --max-model-len 8192 \
  --gpu-memory-utilization 0.9

张量并行(多 GPU)

vllm serve meta-llama/Llama-3.1-70B-Instruct \
  --tensor-parallel-size 4 \
  --max-model-len 8192

批处理优化

vllm serve meta-llama/Llama-3.1-8B-Instruct \
  --max-num-batched-tokens 8192 \
  --max-num-seqs 64 \
  --gpu-memory-utilization 0.9

常用模型配置参考

Qwen 2.5(中文优化)

vllm serve Qwen/Qwen2.5-14B-Instruct \
  --max-model-len 16384 \
  --gpu-memory-utilization 0.9

Mistral(通用)

vllm serve mistralai/Mistral-7B-Instruct-v0.3 \
  --max-model-len 8192

使用自定义模型

如果你有微调过的模型,可以直接加载本地路径:

vllm serve /path/to/your/finetuned-model \
  --max-model-len 4096

在 OpenClaw 中配置时使用模型路径名:

{
  "providers": {
    "vllm": {
      "type": "openai",
      "baseUrl": "http://localhost:8000/v1",
      "apiKey": "vllm-local-key",
      "models": ["/path/to/your/finetuned-model"]
    }
  }
}

健康检查

验证 vLLM 服务状态:

curl http://localhost:8000/health
curl http://localhost:8000/v1/models

在 OpenClaw 中验证:

openclaw doctor --provider vllm

生产部署建议

  1. 使用 systemd 管理服务:确保 vLLM 开机自启
[Unit]
Description=vLLM Inference Server
After=network.target

[Service]
ExecStart=/usr/local/bin/vllm serve meta-llama/Llama-3.1-8B-Instruct --host 0.0.0.0 --port 8000
Restart=always

[Install]
WantedBy=multi-user.target
  1. 使用 Nginx 反向代理:添加 SSL 和访问控制
  2. 监控 GPU 使用:定期检查 nvidia-smi 确保显存充足
  3. 设置日志轮转:避免日志占满磁盘

常见问题

Q: 显存不足怎么办? 使用量化模型(AWQ/GPTQ),或减小 max-model-lengpu-memory-utilization

Q: 首次启动很慢? 首次需要下载模型文件,后续启动会使用缓存。可以提前使用 huggingface-cli download 下载。

Q: 如何支持多个模型? 启动多个 vLLM 实例,使用不同端口,在 OpenClaw 中配置多个 provider。

总结

vLLM 是自托管 AI 推理的首选引擎,性能优异且 API 完全兼容 OpenAI 格式。配合 OpenClaw 使用,可以实现完全私有化部署,数据不出服务器,适合对隐私有严格要求的场景。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入