vLLM + LangChain 部署生产级推理服务:3 步从本地 demo 到 200 QPS

2026 年的 LLM 工程栈已经分得很清楚:底层推理引擎与上层应用框架各管一摊。vLLM 把「高吞吐推理」这件事做到极致,LangChain 把「把模型塞进业务」这件事做到极致。把两者拼起来的关键不是 API 调用本身,而是让 vLLM 以 OpenAI 兼容 server 的形式暴露出来,让 LangChain 用统一的 ChatOpenAI 接口去消费——这是过去 12 个月里最稳的生产组合。

一、为什么是 vLLM + LangChain,而不是别的

LLM 推理有两类性能瓶颈:显存墙(KV Cache 占满了)和调度墙(请求调度不开)。vLLM 用 PagedAttention + Continuous Batching 同时解决这两件事——把 KV Cache 像操作系统分页那样切成 4-16KB 的小块、按需申请,再让一批请求在生成 token 的同时接受新请求,单卡 A100 上跑 7B 模型稳态 1500+ tokens/s 不稀奇。

LangChain 这边,1.0 GA 之后 langchainlangchain-core 拆分,模型抽象从「每个厂商一套 class」收敛成 init_chat_model + ChatOpenAI 通用入口。换句话说:只要你的推理服务对外是 OpenAI 兼容协议,LangChain 就能当本地驱动用,不需要任何额外胶水代码

两者合起来的拓扑长这样:

mermaid diagram

完整启动 + 一次 chat completion 的运行时序:

mermaid diagram

二、3 步部署流程

第 1 步:起 vLLM OpenAI 兼容 server(10 分钟)

vllm serve 一行命令把任意 HuggingFace 模型变成 OpenAI 兼容端点:


vllm serve Qwen/Qwen2.5-7B-Instruct \
  --host 0.0.0.0 --port 8000 \
  --gpu-memory-utilization 0.9 \
  --max-model-len 8192 \
  --dtype bfloat16

启动后 http://localhost:8000/v1/models 返回模型列表,/v1/chat/completions 走标准 OpenAI 协议。这一步任何 OpenAI SDK、任何 LangChain 客户端都能直接对接,连一行胶水代码都不用写。

第 2 步:LangChain 切换 base_url(5 分钟)

不用重写业务代码,把现有 ChatOpenAIbase_url 改成本地 vLLM 即可:


from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    base_url="http://localhost:8000/v1",
    api_key="EMPTY",
    model="Qwen/Qwen2.5-7B-Instruct",
    temperature=0.7,
)
print(llm.invoke("用一句话介绍 vLLM").content)

RAG、Agent、Tool Use、Structured Output 这些上层能力全部沿用。LangChain 的 langchain.agents / langchain.retrievers / langchain.tools 不知道底层模型是 GPT-4 还是本地 Qwen——这正是抽象的价值。

第 3 步:生产化加固(30-60 分钟)

demo 跑通之后,离生产还差三件事:

  • 量化:用 --quantization awq--quantization gptq 把 FP16 压到 INT4,单卡显存减半、长上下文吞吐翻倍
  • 多卡--tensor-parallel-size 4 横向切 70B 模型,KV Cache 跨卡共享
  • 可观测性:vLLM 自带 Prometheus 指标(/metrics 端点),吞吐、p99 延迟、KV Cache 使用率一应俱全;LangChain 用 LangSmith 做 trace 追踪

三、关键工程要点

  • 不要把 vLLM 跑在 K8s 单 Pod 里——Continuous Batching 的前提是 Pod 内显存稳定。生产推荐 1 Pod = 1 GPU + 独立 vLLM 实例,前置网关做请求分发
  • max-model-len 不要贪大——超过模型实际需要的 2 倍,KV Cache 浪费严重,吞吐直接腰斩
  • 量化优先 AWQ 而不是 GPTQ——AWQ 在 7B/13B 上的质量损失几乎不可测,速度还略快
  • LangChain 1.0 的 init_chat_model 函数优于直接 ChatOpenAI——它会自动从环境变量读 base_url / api_key / model,未来切换模型不用改代码
  • 网关层加超时:vLLM 单次 prefill 在长上下文下可能 10s+,前端要拆 streaming 流式增量返回

四、跑分参考

vLLM 官方在 7B 模型 + A100 80GB + 单卡场景下,稳态 1500-2500 tokens/s(生成端);接 LangChain 后链路整体 QPS 取决于业务复杂度,纯 chat 200 QPS 不奇怪,带 RAG retrieval + tool call 的 agent 通常 30-80 QPS。

五、行业影响

把推理引擎和应用框架解耦,是 2025-2026 LLM 工程化最重要的转向。以前每个团队都要在 TGI / vLLM / Triton / DeepSpeed-Mii 之间二选一,现在只关心「它是不是 OpenAI 兼容」。结果是模型推理层进入了类似数据库的标准化竞争——比 throughput、比延迟、比 $/token,应用层则专心做业务。

把 LangChain 当编排层的另一个隐性收益:Agent 框架本身的开源生态(工具、retriever、evaluator)全部通用,今天用 vLLM 跑 Qwen,明天换 Llama-3 不用动一行业务代码。

六、结语

vLLM + LangChain 不是新组合,但 2026 年才真正成熟。门槛就在三步:起 server、改 base_url、加量化与监控。剩下的,是 LangChain 在业务层能带你走多远。


参考资料

官方文档

开源项目

行业报道

社区讨论

对比基准


本文由 AI 生成。内容基于公开资料整理,可能存在事实偏差,引用链接请以原始来源为准。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注