接入教程

LLM API 网关是什么:它解决什么问题、什么时候需要、怎么选

Kenji Watanabe

LLM API 网关是一层夹在你的应用与一个或多个模型服务商之间的服务。你的代码只对一个地址、一把凭据说话;由网关决定这次请求交给哪个上游模型、执行配额、记录消耗,并按你的客户端已经预期的结构把响应返回。

它是基础设施,不是"更聪明的模型"。网关不会让模型输出变好,它让调用模型这件事在运维上变得可预期:密钥、限额、故障切换、账目。

网关到底做了什么

一个入口,多个上游。 客户端只设置一次 base URL。之后增加模型、更换模型、做 A/B,都变成服务端的配置改动,而不是一次发版。

凭据隔离。 应用代码里放的是网关密钥,不是服务商密钥。密钥泄露或有人离职时,你轮换的是一把有边界的凭据,而不是所有服务共用的那把根凭据。

路由与兜底。 请求可以按模型名、按租户、按成本档路由;上游失败或过载时可以切到第二个。切换是否自动、切换后还能不能保持流式,是各家实现真正的差别所在。

配额与限速。 按密钥设消耗上限、每分钟请求数、有效期——这样你才敢把一把密钥交给某个团队或某个客户,而不是把整个预算一起交出去。

用量记账。 按密钥、按模型、按时间窗归集 token 与成本。服务商后台通常只给你一个总数。

可观测性。 延迟、按上游拆分的错误率、重试次数。没有这些,"今天模型有点慢"这句话是无法证伪的。

协议转换。 多数网关对外暴露 OpenAI 兼容接口,让现有客户端不改代码就能用。这层兼容覆盖到哪、覆盖不到哪,值得先弄清楚再依赖——见什么是 OpenAI 兼容 API

网关、代理、SDK 路由,怎么分

这三个词日常用起来常混在一起,区别主要在于逻辑放在哪一层

运行在哪

通常负责

什么时候合适

SDK 层路由

你的应用进程内

选模型、重试

单服务、单团队,没有跨应用的策略需求

代理

客户端与服务商之间

请求转发、请求头改写,有时带鉴权

主要解决可达性或隐藏凭据,其他不多

网关

独立服务

以上全部,外加配额、记账、多租户密钥、可观测性

多个服务或团队共享模型访问

范围更窄的那种情况——单客户端、单服务商,主要图可达性和隐藏密钥——见 Claude API 中转的说明

什么情况下其实不需要

  • 单应用、单服务商、一把密钥,也不需要按团队分账。
  • 延迟预算紧到多一跳都不能接受,并且你已经实测确认这一跳有影响。
  • 还在做原型。在摸清流量形态之前先上网关,是在优化一个你还没遇到的问题。

真正触发"该上网关了"的信号,通常不是技术性的,而是组织性的:第二个团队要接入了,或者有人开始问哪个项目花了多少钱。

选型前要核什么

协议兼容度,要具体核。 "OpenAI 兼容"是一个范围,不是一个开关。逐项验证你实际用到的字段——工具调用、结构化输出、system prompt、多模态输入、stop 序列,别默认整面都兼容。

流式行为。 网关是把 token 透传出来,还是把整个响应缓冲完再吐?缓冲会把一个即时响应的界面变成一个转圈圈,这也是引入网关后最常见的体验回退。

超时与重试语义。 明确问清楚:上游返回 429 或 500 时,网关是退避重试、切换上游,还是把错误原样抛回。对非幂等请求做静默重试,可能让你被计费两次。

密钥的边界能力。 每把密钥能否限定模型范围、消耗上限与有效期。发密钥这件事只有在能设边界时才是安全的——见给 API 密钥设置配额与有效期

日志与数据处理。 提示词和返回内容是否落库、保留多久、能不能关闭。凡是涉及用户数据的场景,这一条通常直接决定选型。

延迟开销。 拿你自己的网络路径、你自己的报文体积,和直连服务商做对照实测。厂商公布的数字很少能代表你所在的地区。

故障可见性。 请求失败时,你能不能看出是哪个上游、因为什么失败?把所有错误压成一个通用 500 的网关,会显著拉长每次故障排查。

三个 curl 验证一个网关

在把应用接到新地址之前,三次 curl 能回答大部分问题:

  1. 列模型——确认凭据可用,并看清这个网关实际接受哪些模型标识。
  2. 一次非流式请求——确认请求与响应结构符合客户端预期,包括你打算用来计费的 usage 字段。
  3. 一次流式请求——确认 token 是逐步到达,而不是最后一次性吐出来。

三项都正常,多数客户端库改个 base URL 就能跑。第三项如果是缓冲的,你会在生产环境发现,而不是在测试里。

ROIBest AI 提供 OpenAI 兼容接口,支持按密钥设置配额与有效期,可在 Claude Code、Codex 及标准 OpenAI 客户端库中使用;涉及的两个环境变量见接入指南

常见问题

什么是 LLM API 网关?

一层位于应用与模型服务商之间的服务,对外只暴露一个地址和一把凭据,在服务端负责路由、兜底切换、配额、用量记账与日志。

网关和代理是一回事吗?

不完全是。代理主要做请求转发、可以隐藏凭据;网关在此之上加了策略层:按密钥配额、消耗上限、多上游路由、用量归集。

网关会增加延迟吗?

会多一跳,一定有开销。是否构成问题,取决于你的延迟预算和网关相对应用的部署位置——用你自己的链路实测,别直接采信公开数字。

现有的 OpenAI 客户端能直接接网关吗?

通常可以,只要网关暴露的是 OpenAI 兼容接口,多数情况下改 base URL 和密钥即可。但要逐项验证你依赖的特性,尤其是流式和工具调用。

网关怎么帮助控制花费?

把 token 与成本按密钥、按模型归集,并在请求到达服务商之前就执行上限。这样原本一张合并账单,就变成了可以落到团队或客户头上、能据此行动的数字。