私有化部署 LLM 时,别再用 Nginx 硬扛流式请求了 —— 推荐一个专为 vLLM/TGI 设计的高性能网关

在私有化部署开源大模型(如 Llama 3、Qwen、Mistral)时,很多团队会直接用 Nginx 作为反向代理,将流量转发给 vLLM 或 TGI 后端。这在非流式请求下工作良好,但一旦启用 stream=true,问题就来了:

  • 需手动关闭 proxy_buffering,否则首 token 延迟显著增加
  • SSE 响应头(Content-Type: text/event-stream)需显式设置
  • 连接超时、chunk 丢失、代理缓冲等问题频发
  • 更不用说后续的 token 用量统计、多实例负载均衡等需求

最近注意到一个新开源项目 LLMProxy ,它没有试图成为"另一个 Nginx",而是专注解决 LLM 流量调度这一具体问题,设计非常克制:

✅ 核心能力

  • 协议感知 :自动识别 OpenAI API 中的 stream 字段,分别处理流式(SSE)与非流式(JSON)请求

  • 零缓冲透传:SSE 响应逐 token 转发,不引入额外延迟,保障 TTFT(Time to First Token)

  • 异步用量计量 :请求结束后,将 prompt_tokens + completion_tokens 通过 HTTP Webhook 推送给业务系统,便于实现配额或计费

  • 轻量无依赖:单 Go 二进制,镜像 < 20MB,配置仅需 YAML,不连接数据库,不影响主链路性能

  • 生产就绪:内置 Prometheus 指标、健康检查、多后端负载均衡(轮询/最少连接)

能力 Nginx(通用反向代理) LLMProxy(LLM 专用网关)
流式请求支持 需手动配置 proxy_buffering off、proxy_cache off、proxy_http_version 1.1 等,易出错 开箱即用:自动识别 stream=true,设置正确 SSE 头并透传流
首 Token 延迟(TTFT) 若配置不当,缓冲会导致显著延迟 零缓冲透传,TTFT ≈ 后端原生延迟
协议理解能力 无语义感知,仅转发字节流 原生解析 OpenAI API,识别 /v1/chat/completions 和 stream 字段
用量计量(token 计数) 需额外日志解析 + 离线处理,延迟高、易丢失 请求结束后异步上报 prompt_tokens/completion_tokens 到 Webhook,结构化、可靠
多后端负载均衡 支持,但需手动配置 upstream + health_check 内置轮询/最少连接策略,自动剔除故障节点
部署复杂度 配置文件冗长,调试困难(尤其 SSE) 单 YAML 文件,5 行配置即可运行
镜像体积 官方镜像 ~150MB+ < 20MB(Alpine + Go 静态编译)
扩展性 需 Lua(OpenResty)才能实现高级逻辑 专注 LLM 场景,不追求通用性,避免过度设计
监控集成 需额外模块(如 Prometheus Nginx Exporter) 内置 Prometheus 指标(请求量、延迟、Webhook 成功率等)
适用场景 通用 Web 服务、静态资源、API 网关 专为 vLLM / TGI / OpenAI 兼容后端设计

🚀 快速体验

bash 复制代码
# 1. 准备配置(指向你的 vLLM/TGI 地址)
wget https://raw.githubusercontent.com/aiyuekuang/LLMProxy/main/config.yaml.example -O config.yaml

# 2. 启动服务
docker run -d \
  --name llmproxy \
  -p 8080:8080 \
  -v $(pwd)/config.yaml:/home/llmproxy/config.yaml \
  ghcr.io/aiyuekuang/llmproxy:latest

客户端即可通过 http://localhost:8080/v1/chat/completions 访问,无需关心后端细节。

🎯 适用场景

  • 企业内部 LLM 助手平台,需统一入口与用量追踪
  • 多租户 MaaS(Model-as-a-Service)服务,按客户计量 token 消耗
  • vLLM/TGI 集群的高可用接入层,避免单点故障

项目采用 MIT 开源协议 ,代码结构清晰,文档包含架构图、部署示例、Grafana 监控面板,定位明确:不做通用网关,只做好 LLM 专用代理。

GitHub 地址:github.com/aiyuekuang/...

如果你正在构建私有 LLM 服务,值得将其纳入技术选型评估。

相关推荐
掘金者阿豪8 小时前
SQL Server数据迁移完成后,凌晨的数据库告警该怎么查?
前端·后端
FPGA小迷弟8 小时前
FPGA 千兆以太网帧格式全解:从 IEEE 802.3 帧结构到 Verilog 收发实现
人工智能·5g·fpga开发·架构·硬件架构
鶴哥只手遮天8 小时前
AFSIM 2.9.0 深度解析·进阶卷第 1 章 插件源码精读:16 个 WSF 插件的架构与实现
后端
愚农搬码8 小时前
低代码表单与在线问卷不是一回事:产品定位和技术边界
后端
武子康8 小时前
固定时间步已经开了,为什么游戏回放还会走出不同位置?
人工智能·后端·agent
70后写java的老码农8 小时前
换模型只改三行配置:LangChain4j + Spring Boot 3.5 实战,一次分别接入 9 家模型服务
后端·ai编程
愚农搬码9 小时前
2026 年开源表单设计器选型:哪个更好用?
后端
Decay__9 小时前
15_MySQL 数据同步与迁移方案 —— 复制 / DataX / Canal / 异构同步(对标 Oracle GoldenGate)
运维·数据库·sql·mysql·架构
vipxieliang9 小时前
ValidX 正则表达式预编译优化:Pattern 复用策略
java·spring boot·后端
vipxieliang9 小时前
OpenTelemetry 生产实践:Skyscanner 24 集群管理经验与 Mastodon 小团队方案
后端