在当前的云原生演进中, “AI Gateway(AI 网关)” 已成为独立的功能范畴。其核心逻辑是通过网关统一管理多个 LLM 后端的鉴权、限流和协议转换,从而解耦应用层与模型供应商(如 OpenAI, Anthropic)。
目前主流支持在转发时自动附加 LLM API Key(注入 Authorization 或自定义 Header)的云原生网关项目如下:
1. 结论先行:主流项目对比
| 项目名称 | 实现机制 | 成熟度 | 关键特性 |
|---|---|---|---|
| Kong | ai-proxy 插件 | 高(生产级) | 支持最广的模型厂商,支持自动注入 Key 和 Prompt 模板。 |
| Envoy Gateway | AI Gateway 扩展 | 中(快速演进) | 基于 Envoy 原生 Filter,支持从 K8s Secret 读取 Key 并注入。 |
| Higress | Wasm 插件 / AI Proxy | 高 | 阿里开源,深度集成阿里云和主流 LLM,性能由于 Wasm 极高。 |
| Apache APISIX | ai-proxy 插件 | 中 | 支持通过配置将统一格式请求映射到不同供应商并附加 Key。 |
| Gloo Gateway | AI Gateway 模块 | 中 | Solo.io 出品,侧重于企业级安全和发现。 |
2. 深度分析与实现逻辑
从第一性原理出发,网关实现此功能的核心是:请求改写(Request Transformation) 。在将请求转发给上游(Upstream)前,网关根据路由配置从 Secret 存储中提取 Key,并修改 HTTP Header。
A. Kong (AI Gateway)
Kong 是目前在该领域最成熟的方案。它推出了专门的 AI 插件集。
-
核心插件:
ai-proxy。 -
工作流:
- 你向 Kong 发送一个标准 OpenAI 格式请求。
- Kong 识别
provider(如anthropic)。 - Kong 从配置或环境变量中读取预存的 API Key。
- Kong 将请求头改为
x-api-key: [YOUR_KEY](针对 Anthropic)并转发。
-
配置示例:
YAML
plugins: - name: ai-proxy config: route_type: "llm/v1/chat" auth: header_name: "Authorization" header_value: "Bearer <your-openai-key>" # 自动附加 model: provider: "openai" name: "gpt-4"
B. Envoy Gateway (EG)
Envoy Gateway 在 v1.1 版本后引入了 AI Gateway 功能,利用 Envoy 的可扩展性处理 LLM 流量。
- 机制:通过
BackendTrafficPolicy配置aiGateway。 - 优势:原生 K8s 支持,Key 可以安全地存储在
Kubernetes Secret中,由 Gateway 控制器动态注入。 - 实现:它会创建一个特殊的
AIProxyFilter,负责在转发阶段重写 Header。
C. Higress (云原生网关)
Higress 是基于 Envoy 和 Istio 构建的网关,它在 AI 领域非常激进。
-
机制:利用 Wasm (WebAssembly) 插件。
-
特点:
- 多模型适配:内置了通义千问、OpenAI、Gemini 等插件。
- API Key 托管:支持在网关层面配置
api-key列表,支持轮询(Round Robin)多个 Key 以突破频率限制。 - 零停机热更新:Wasm 插件更新无需重启网关。
D. Apache APISIX
APISIX 通过其插件系统提供类似支持。
- 插件:
ai-proxy。 - 逻辑:它允许你定义一个上游(Upstream)指向 LLM API,并在插件配置中定义
auth_config,网关会自动处理 Header 的封装。
3. 架构设计建议
如果你正在为自己的项目选择方案,建议从以下逻辑考虑:
- 如果你已有 K8s 基础且追求原生感:优先选择 Envoy Gateway。它正在将 AI 流量处理标准化为 K8s 自定义资源。
- 如果你需要最丰富的模型支持和生态:选择 Kong。它的
ai-proxy插件不仅处理 Key 附加,还处理不同供应商 API 之间的协议转换(Protocol Translation)。 - 如果你在中国使用多模型(含国产模型) :Higress 对国产模型的适配(如通义、文心、深求等)和 Key 管理逻辑最贴合国内场景。
4. 潜在的技术风险
- Key 安全性:确保网关与 Secret 存储之间的同步是加密的。
- 流式处理(Streaming) :注入 Header 很简单,但要确保网关在处理
text/event-stream(SSE) 时不会因 Buffer 机制导致响应延迟。