使用 vLLM Production Stack 安装
本教程改编自 vLLM production stack 教程
什么是 vLLM 语义路由?
vLLM 语义路由是一个智能混合模型 (MoM) 路由器,作为 Envoy 外部处理器运行,将 OpenAI API 兼容请求语义路由到最合适的后端模型。使用基于 BERT 的分类,它通过将请求(例如数学、代码、创意、通用)匹配到专业模型来提高质量和成本效率。
- 模型自动选择:将数学、创意写作、代码和通用查询路由到最适合的模型。
- 安全与隐私:PII 检测、提示词防护和敏感提示词的安全路由。
- 性能优化:语义缓存和更好的工具选择以减少延迟和令牌。
- 架构:紧密的 Envoy ExtProc 集成;双 Go 和 Python 实现;生产就绪且可扩展。
- 监控:Grafana 仪表板、Prometheus 指标和追踪,实现全面可见性。
了解更多:vLLM 语义路由
集成有什么好处?
vLLM Production Stack 提供了多种部署方式,可以启动 vLLM 服务器,将流量定向到不同模型,通过 Kubernetes API 执行服务发现和容错,并支持轮询、基于会话、前缀感知、KV 感知和分解预填充路由,原生支持 LMCache。语义路由添加了一个系统智能层,对每个用户请求进行分类,从池中选择最合适的模型,注入领域特定的系统提示词,执行语义缓存并执行企业级安全检查,如 PII 和越狱检测。
通过结合这两个系统,我们获得 了一个统一的推理堆栈。语义路由确保每个请求由最佳可能的模型回答。Production-Stack 路由最大化基础设施和推理效率,并暴露丰富的指标。
本教程将指导您:
- 部署一个最小的 vLLM Production Stack
- 部署 vLLM 语义路由并将其指向您的 vLLM 路由服务
- 通过 Envoy AI Gateway 测试端点
前置条件
- kubectl
- Helm
- Kubernetes 集群(kind、minikube、GKE 等)
步骤 1:使用您的 Helm values 部署 vLLM Production Stack
使用您的 chart 和位于 tutorials/assets/values-23-SR.yaml 的 values 文件。
helm repo add vllm-production-stack https://vllm-project.github.io/production-stack
helm install vllm-stack vllm-production-stack/vllm-stack -f ./tutorials/assets/values-23-SR.yaml
作为参考,以下是示例 value 文件:
servingEngineSpec:
runtimeClassName: ""
strategy:
type: Recreate
modelSpec:
- name: "qwen3"
repository: "lmcache/vllm-openai"
tag: "v0.3.7"
modelURL: "Qwen/Qwen3-8B"
pvcStorage: "50Gi"
vllmConfig:
# maxModelLen: 131072
extraArgs: ["--served-model-name", "Qwen/Qwen3-8B", "qwen3"]
replicaCount: 2
requestCPU: 8
requestMemory: "16Gi"
requestGPU: 1
routerSpec:
repository: lmcache/lmstack-router
tag: "latest"
resources:
requests:
cpu: "1"
memory: "2G"
limits:
cpu: "1"
memory: "2G"
routingLogic: "roundrobin"
sessionKey: "x-user-id"
识别 chart 创建的路由服务的 ClusterIP 和端口(名称可能有所不同):
kubectl get svc vllm-router-service
# 记录路由服务的 ClusterIP 和端口(例如 10.97.254.122:80)