应用里躺着 OpenAI、Anthropic 和 Gemini 的密钥,角落里还有一台便宜的 Ollama 机器。让路由器把这两类东西都当成一等公民对待,整套戏法就这一招。
关于 SentioGate,被问得最多的一个问题是:难任务走云端,容易的那 80% 请求跑在本地一台性能不错的 Ollama / vLLM 机器上,怎么在两者之间智能路由,而不必为每一头单独写一套集成?
答案是:不用写。这正是 BYOK 大模型路由器的意义所在。
“直接调 API”的问题出在哪
大多数团队最后写出来的代码长这样:判断任务难度,超过阈值就调前沿模型,否则调本地模型。于是就有了下面这些麻烦:
- 两套 SDK、两种错误结构、两种流式协议;
- 没有故障转移:本地机器一 OOM,整条链路就断了;
- 没有成本感知:路由器不知道本地机器每月成本约 0 美元,而 OpenAI 是每千 token 0.06 美元;
- 没有遥测:你看不到哪条路径实际在赢。
自定义供应商路由器做了什么
SentioGate 允许在运行时注册任何兼容 OpenAI 的端点——Ollama、vLLM、LM Studio、私有大模型一体机、GPU 节点上的内部微调模型——它和云端密钥走同一套打分与故障转移流水线。
注册一次本地 Ollama 端点即可,base_url 指向 Ollama 的 OpenAI 兼容端点,api_key 可以填占位符,headers 可以携带网关需要的认证信息。此后路由器就知道四件事:
- 成本——本地模型推理成本约每月 0 美元,你付的是 GPU 的钱,不是按 token 计费。路由器学会这一点,会优先把它用于高并发、低难度的活。
- 延迟——持续测量。某个模型上本地机器比云端快,它就在延迟这一维胜出。
- 容量——本地机器有硬上限(显存、并发数)。路由器尊重这些限制,机器饱和时把负载卸到云端。
- 质量——由应用通过结果信号回报。路由器据此学习哪个模型对你的任务实际更好。
浮现出来的路由矩阵
对一个同时跑 gpt-4.1、claude-sonnet 和本地 llama3.1:8b 的典型团队来说,这张矩阵不是硬编码的,而是从路由器持续打分中浮现出来的。你把本地模型换成更大的,路由器会适应;云端供应商哪天状态不好,路由器也会适应。你不用动。
实际注册一个自定义供应商
供应商由几项信息描述:
- Base URL——兼容 OpenAI 的端点,Ollama 是 http://your-box:11434/v1,vLLM 是 http://your-vllm:8000/v1,LM Studio 是 http://localhost:1234/v1;
- API key——端点不需要认证时可以填占位符;
- 模型列表——该端点提供的模型 ID;
- 可选 headers——给需要自定义认证或路由头的网关用。
注册完成后,你在请求里用 provider/model 的写法引用该模型,和引用任何其他模型一样,路由器把它当一等公民对待。
流式、错误处理,以及流水线的其余部分
云端供应商能用的,自定义供应商全都能用:流式走 OpenAI 风格的 SSE 分块,与云端路径一致;错误处理带退避重试、熔断器、感知 429 的容量控制;语义压缩对本地模型上的长会话同样生效;遥测把延迟、成本(本地为 0 美元)、错误率都汇到同一块面板上。
“混合”模式
真正让这套东西在生产环境里出彩的,是这样一个组合:
- 确实需要前沿能力的任务(难推理、长上下文)交给前沿模型;
- 长尾的、简单的、高并发的活交给本地模型;
- 任何一侧宕机时自动故障转移;
- 成本感知路由,把云端账单压到它实际需要的最低水平。
你得到的是前沿质量的输出、本地规模的 economics,以及自动冗余。这就是混合栈。
这一系列下一篇讲的是限流感知路由——路由器如何读取 Retry-After 和 x-ratelimit-* 头,把供应商的 429 变成平滑、无声的故障转移。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.