跳到主要内容

本地推理高级开发

本文介绍 vLLM 部署、量化、GPU 配置与生产优化。

vLLM 部署

安装

pip install vllm
# GPU 需 CUDA 环境

启动服务

python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-3-8B-Instruct \
--served-model-name llama3

默认提供 OpenAI 兼容 API 于 http://localhost:8000

多 GPU

python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-3-8B-Instruct \
--tensor-parallel-size 2

量化模型使用

Ollama 量化模型

Ollama 自动处理量化,如 ollama pull llama3:7b-q4_0 拉取 4-bit 量化版本。

llama.cpp 与 GGUF

# 使用 GGUF 模型
./main -m model.Q4_K_M.gguf -p "你好" -n 128

vLLM 量化

支持 AWQ、GPTQ 等格式,需预先量化或使用社区量化模型。

性能调优

  • batch 大小:vLLM 中 --max-num-seqs 影响吞吐
  • KV Cache:增大可提高长文本处理能力
  • 量化等级:Q4 与 Q5 在质量与速度间权衡
  • CPU 推理:llama.cpp 的 -ngl 控制 GPU 层数,0 表示纯 CPU

生产实践

  1. 健康检查:定期探测 /health/v1/models
  2. 限流与熔断:防止过载
  3. 日志与监控:延迟、QPS、显存占用
  4. 模型版本:固化模型版本,避免自动更新

与 RAG、Agent 集成

  • 将 Ollama/vLLM 作为 LangChain 或 LlamaIndex 的 LLM 后端
  • 配合 Embedding 做本地 RAG
  • 配合 Agent 做本地工具调用

参考:RAG 开发Agent 开发