INInfraNest

← Gateway 接入

逻辑路由

逻辑路由在控制台以流程图(RouteLogicV2)配置:网关收到 SDK 请求后,读取请求中的 model 与载荷,在 /g/<public-id>/... 端点按已启用路由的 flow 解析,再转发到模型连接中的上游 Endpoint。

它解决什么问题

  • 同一 Gateway 可承载多条路由定义,但运行时仅一条为「已启用」;保存启用新路由时会自动停用其它路由。
  • 无需在客户端区分「路由名」与「厂商模型名」——model 字段与官方 SDK 一致,解析逻辑全部在网关端点完成。
  • 支持按输入格式、Header/元数据、模型 ID 等条件分支,以及多 Endpoint 回退链与拒绝(deny)节点。

请求如何被处理

  1. 客户端调用官方 SDK,baseUrl 指向 /g/<public-id>(Gemini 不含 /v1beta 后缀)。
  2. 请求携带平台 API Key;网关校验租户与 Gateway 绑定关系。
  3. 网关根据访问协议(gemini-v1beta / openai-chat 等)选择入口,并加载当前已启用的逻辑路由。
  4. 按 flow 顺序评估条件节点,命中分支则使用对应模型连接;未命中可走 ELSE、回退链或直通上游。
  5. 将请求转发至上游 Provider,响应原样返回给客户端。

入口协议与逻辑链

在 Gateway 详情启用 gemini-v1beta、openai-chat、openai-responses 等入口;请求按 URL 路径进入对应协议,再执行同一条已启用逻辑路由的 flow。未启用的协议返回 403。

流程图节点类型

Endpoint

Endpoint

绑定控制台「模型连接」中的某一上游节点;用于分支末端或直通转发。

if/else

if/else · switch

按输入格式、元数据、文件大小、模型 ID 等条件分流;可嵌套。

Fallback

Fallback(回退链)

按顺序尝试多个 Endpoint,前一节点失败时尝试下一个。

Deny

Deny(拒绝)

条件命中时直接返回 HTTP 错误,不调用上游。

示例流程(与控制台画布一致)

下图仅为说明用静态示意:可拖拽平移、滚轮缩放,与控制台路由编辑器相同的画布交互。

演示路由 id:chat · 条件为示例,实际以控制台配置为准

90%

Start

chat

入口协议(Gateway 详情启用后,各路径汇入同一条逻辑链)

Entry

Google Gen AI SDK

v1beta/**

baseUrl 不含 /v1beta

Entry

OpenAI · Chat

v1/chat/completions

baseURL 含 /v1

Entry

OpenAI · Responses

v1/responses

baseURL 含 /v1

if/else

input format = image+text

IF

Endpoint

Endpoint · Gemini 2.0 Flash

ELSE

if/else

metadata.tier = pro

Endpoint

Endpoint · GPT-4o

ELSE → Fallback

Fallback

model 来自请求 · 端点解析

① Gemini Flash② OpenAI backup

在控制台编辑

打开 Gateway → 逻辑路由 → 编辑已启用路由,使用与下方相同的画布拖拽组件、协议分列视图与组件库。保存后客户端无需改代码,继续用 SDK 传入 model 即可。

→ 控制台