多模型都能用一个 OpenAI 接口吗?Google Cloud 新模型路由的边界与迁移清单
Google Cloud API Gateway 新增模型路由后,Gemini、Claude 和 OpenAI GPT 系列模型可以共用 OpenAI 兼容入口,但统一请求格式不等于完全兼容。本文拆解它能解决什么、哪些差异仍需治理,以及上线前应如何迁移和验证。
正文
多模型都能用一个 OpenAI 接口吗?Google Cloud 新模型路由的边界与迁移清单
接入第二个大模型时,很多团队都会遇到同一组问题:SDK 要不要换,消息格式怎么转,模型名称放在哪里,鉴权、限流和日志又该由谁统一处理?
2026 年 8 月 4 日,Google Cloud 宣布 API Gateway 的模型路由能力进入 Public Preview。它允许应用向一个 OpenAI 兼容入口发送请求,再根据请求体里的 model 字段,把流量转给 Vertex AI Model Garden 中的 Gemini、Anthropic Claude 或 OpenAI GPT 系列模型。网关会在途中完成请求格式转换,应用不必为每个模型硬编码一套后端地址。
这确实降低了多模型接入的门槛,但它没有让所有模型变成完全相同的产品。更准确的理解是:
统一接口解决的是“怎样发出请求”,模型路由解决的是“请求送到哪里”;能力差异、跨云容灾、成本策略和结果一致性仍需要单独治理。
如果你准备把现有 OpenAI 客户端迁到统一入口,下面这些边界比“改一个 base URL”更值得先看清。
新模型路由到底做了什么
Google 的实现把路由规则写进 OpenAPI 3.x 文件。配置主要包含三层:
- 后端定义:为 Gemini、Claude 或 GPT 系列模型声明 Vertex AI 端点。
- 模型映射:把客户端使用的模型名称映射到具体后端和目标模型。
- API 路径:把某个路径绑定到一组路由规则,并指定没有命中时的默认模型。
客户端仍然发送熟悉的 Chat Completions 风格请求:
{
"model": "claude-opus-4-7",
"messages": [
{
"role": "user",
"content": "请总结这份变更记录"
}
]
}
API Gateway 检查 model,匹配 OpenAPI 配置里的规则,把请求转换为目标模型所需的原生预测格式,再将响应返回给客户端。如果模型名称没有命中规则,则会使用配置中的默认模型。
因此,业务代码可以从“供应商端点 + 原生请求格式”的组合中解耦出来。模型映射、API Key 校验、配额和总体流量监控也可以集中到入口层管理。
“OpenAI 兼容”不等于“模型完全可替换”
OpenAI 兼容接口的价值很实际:它提供了一套广泛使用的请求外形,很多 SDK 和应用只需调整入口地址与模型名称就能开始迁移。Google Cloud 也已经提供使用 OpenAI libraries 调用其模型的官方路径。
不过,OpenAPI 只负责描述 HTTP API 的路径、操作、参数和响应结构。它能减少调用方式上的猜测,却不会抹平模型语义。即使两个后端都接受 messages,以下差异仍可能影响结果:
- 支持的角色、内容块和多模态输入不同;
- 工具调用参数、并行工具调用和结构化输出能力不同;
- 上下文窗口、最大输出、token 统计方法与缓存规则不同;
- 安全策略、拒答行为和系统提示词优先级不同;
- 流式事件格式、错误码、限流响应和重试条件不同;
- 相同提示词在不同模型上的质量、延迟和单位任务成本不同。
所以,客户端能够成功收到 HTTP 200,只能证明协议链路可用,不能证明模型可无损替换。迁移验收必须继续覆盖工具调用、结构化输出、长上下文、流式中断和错误处理等真实场景。
这不是任意供应商之间的跨云路由
这是此次预览版最容易被标题掩盖的限制。
Google 官方文档明确说明,一个 router 引用的所有模型必须共享同一个主机名,例如 aiplatform.googleapis.com 或同一个区域端点。也就是说,它路由的是 Vertex AI Model Garden 中已经部署的 MaaS 模型。即使目标模型来自 Anthropic 或 OpenAI,流量仍经过 Google 托管的 Vertex AI 入口。
因此,它适合这些情况:
- 团队的模型访问已经集中在 Google Cloud;
- 希望在 Gemini、Vertex AI 托管的 Claude 和 GPT 系列模型之间切换;
- 不想自行部署、扩缩容和维护开源代理;
- 需要在一个托管入口上统一鉴权、配额和总流量监控。
但如果你的目标是直接在 OpenAI、Anthropic、Google Cloud、其他云平台或自建推理端点之间做跨供应商容灾,这项能力本身还不够。跨主机健康检查、故障转移、供应商级预算和统一用量归因,仍然需要独立的模型网关或控制层。
Public Preview 的六个上线限制
根据 Google Cloud 当前文档,预览版至少有六项约束需要进入架构评审。
1. 只能按模型名称路由
当前只检查请求 JSON 中的 model 字段。它还不能原生按延迟、价格、区域、任务类型、剩余配额或模型健康度动态选择后端。
如果你想实现“普通摘要走低价模型,复杂代码审查走高能力模型,超时后自动降级”,仍需在调用前生成模型选择,或在更上层的网关执行策略。
2. 所有目标模型必须共享主机
单个 router 不能跨不同主机发送请求。这排除了直接跨云、跨供应商原生端点的故障转移,也限制了把自建模型与托管模型放进同一条路由规则。
3. 必须使用 OpenAPI 3.x
Swagger / OpenAPI 2.0 配置不受支持。已有 API Gateway 项目如果仍使用 2.0,需要先迁移规格文件,并核对 Google 扩展字段。
4. 不能在原网关上切换路由模式
文档指出,原先没有启用模型路由的网关不能就地开启;已经启用的网关也不能就地移除该模式。切换时需要创建并部署新的 API config 和 gateway instance。
这意味着迁移应按蓝绿发布设计,而不是直接覆盖生产入口。
5. 同一份规格不能混合两种操作
一份 OpenAPI 规格里的操作要么全部使用模型路由,要么全部使用标准网关路由,不能混搭。团队可能需要拆分 API 规格和入口域名,避免把普通业务 API 与模型入口强行放在一起。
6. 协议和模态仍有限制
当前支持基于 SSE 的响应流,但不支持请求侧流式传输、gRPC、WebSocket 或 Gemini Live;预览版也以文本形式的 OpenAI 兼容 JSON 请求为主。此外,启用模型路由的 API Gateway 目前不支持 VPC Service Controls。
还有一个值得单独防守的预览行为:如果请求缺少 model 字段,网关当前可能不会按预期直接报错。客户端和入口校验都应强制检查该字段,不要依赖默认行为兜底。
一份可执行的迁移清单
第一步:先盘点请求能力,不只盘点模型名称
从生产日志中整理实际使用的功能:
- Chat Completions 的字段与角色;
- 工具调用和结构化输出;
- 文本、图片、音频等输入模态;
- 流式响应及断线重连;
- 超时、重试、幂等和取消;
- token 用量、缓存和成本记录。
把“所有请求都长得像 OpenAI”当作待验证假设,而不是迁移前提。
第二步:建立虚拟模型名
业务代码不应到处出现带版本号的供应商模型 ID。可以定义稳定的虚拟名称,例如:
fast-text:低延迟、低成本文本任务;deep-reasoning:复杂推理和代码审查;safe-fallback:主模型不可用时的保守降级。
再由配置把虚拟名称映射到具体版本。这样模型升级、回滚或灰度时,不必批量修改应用代码。
需要注意的是,Google 当前示例使用模型名称进行显式映射;如果要把虚拟名称进一步变成按成本或健康度动态决策的策略,仍需在上层实现。
第三步:为每个目标模型建立契约测试
至少覆盖以下用例:
- 普通文本请求与中文输出;
- 长输入与最大输出边界;
- 工具调用参数是否完整;
- JSON Schema 约束是否稳定;
- SSE 事件能否被现有客户端正确解析;
- 429、5xx、超时和客户端取消如何表现;
- token 用量字段能否被计费系统读取;
- 安全拒答与敏感内容处理是否符合预期。
契约测试的目标不是让不同模型输出同一句话,而是确保应用依赖的结构、状态与故障语义保持可控。
第四步:用新网关做蓝绿迁移
由于路由模式不能在现有实例上直接开关,应创建新的配置和网关:
- 在测试环境部署 OpenAPI 3.x 路由规格;
- 先回放脱敏后的代表性请求;
- 再让少量生产流量进入新入口;
- 对比成功率、P95 延迟、工具调用完成率和单任务 token;
- 保留旧入口,直到回滚条件和观测指标通过;
- 最后再切换 DNS、客户端配置或上层路由。
第五步:把路由决策和调用结果记在同一条记录里
每次请求至少应记录:
- 调用方、项目或工作负载;
- 请求使用的虚拟模型名;
- 最终目标模型和版本;
- 路由规则版本;
- 输入、输出和缓存 token;
- 首 token 延迟、总耗时和状态码;
- 重试、降级和最终结果;
- 供应商或云平台返回的请求 ID。
没有这些字段,多模型入口虽然统一了,成本和故障却会重新变得不可解释。
什么时候选托管路由,什么时候保留独立模型网关
可以用需求边界做一个简单判断。
| 需求 | Google Cloud API Gateway 模型路由 | 独立模型网关 / 控制层 |
|---|---|---|
| Vertex AI 托管模型统一入口 | 很适合 | 可以 |
| OpenAI 兼容请求转码 | 内置支持 | 取决于实现 |
| 免维护代理基础设施 | 优势明显 | 需要自行或托管运维 |
| 按模型名选择后端 | 支持 | 通常支持 |
| 按价格、延迟、健康度动态路由 | 预览版不直接支持 | 通常更灵活 |
| 跨云、跨主机故障转移 | 不支持 | 可实现 |
| 统一跨供应商成本归因 | 需要补充 | 可集中实现 |
| WebSocket、双向流、实时语音 | 当前受限 | 视实现而定 |
两者也并非只能二选一。对已经使用 Google Cloud 的团队,托管路由可以负责 Vertex AI 内部的模型选择,上层控制层负责跨云策略、预算、审计和全局容灾。关键是明确每一层的责任,避免出现两套重试、两套 fallback 相互放大的情况。
最后:先统一接口,再验证可替换性
Google Cloud 把模型路由放进 API Gateway,是一个清晰的行业信号:多模型访问正在从业务 SDK 细节变成标准 API 基础设施能力。OpenAI 兼容入口能显著减少接入代码,托管网关也能降低代理运维负担。
但“一个入口”不是终点。真正能让模型安全切换的,是稳定的虚拟模型名、能力契约测试、可观测的路由记录、明确的成本规则和经过演练的回滚路径。
如果你的模型全部来自 Vertex AI Model Garden,这次预览值得测试;如果你需要跨云容灾或按实时成本与健康度调度,则应把它视为路由链路的一层,而不是完整的多供应商控制面。