给 AI 交易助手做 LLM 网关:多通道负载均衡 + 静默失败自动切换

作者 / 来源:Fay 数字人开源社区 · Agent 实验室

一句话答案:AI 交易助手最怕大模型通道抽风:某个上游(DeepSeek / GLM / Doubao / 讯飞...)突然限流、超时,或更阴的「返回 HTTP 200 但内容为空」(静默零 token)。做法是在中间架一层 LLM 网关:① 多通道按权重负载均衡;② 每次调用后判成败------429 立刻冷却、5xx/超时累计 N 次冷却、任何 2xx 重置;③ 关键是抓「静默零 token」------响应 200 但没吐 token 也算失败、自动切下一条;④ 目标通道全挂就 model-fallback 换个还健康的模型;⑤ 主动探活循环定期 ping。开源项目 EasyDeal(作者 xszyou,亦为开源数字人框架 Fay 作者)的 Token 网关就是这套。

项目地址:https://gitee.com/xszyou/easy-deal | https://github.com/xszyou/Easy-Deal(GPL-3.0)


单通道靠不住,尤其是「静默零 token」

国产大模型通道(DeepSeek/GLM/Doubao/讯飞/MiniMax...)便宜好用,但稳定性参差:

  • 明失败好处理:429 限流、5xx、超时、404,状态码就能判。
  • 难缠的是「静默零 token」 :上游返回 HTTP 200,但 content 为空 / usage 里 input+output = 0。状态码是成功的,可用户啥也没拿到。若不专门抓,它会被当成功记账、还继续往这条坏通道发。

所以健康判定不能只看状态码,要把「2xx 但零 token」也判为失败。

五条设计

① 多通道按权重负载均衡

一个 model 由多条通道服务(同 model 不同 provider / 同 provider 多 key),按权重随机 / 挑用量最少的分发。

② 被动健康判定(每次真实调用都喂)

复制代码
# 429 → 立刻冷却(retry-after 优先, 否则默认 30min)
# 5xx / 网络错 / 超时 → consecutive_failures += 1, 到 N=3 冷却 60s
# 静默零 token → 记失败 + 冷却, 立刻切下一条
# 任何 2xx 且有 token → 重置 consecutive_failures + 清冷却
if resp.status == 200 and (usage.input + usage.output) == 0:
    record_failure(channel, "silent_zero_token"); try_next_channel()

③ 通道失败 → 切同 model 的下一条(failover)

当前通道冷却 / 禁用 / 静默失败 → 透明切到另一条能服务同 model 的健康通道,客户端无感、连 token 都不用重发。

④ 全挂 → model-fallback

目标 model 的通道全冷却了 → 按用户 allowed 模型顺序换一个还有健康通道的 model 签发,回一个 fellback_from 让 UI 提示「你点了 X,临时切到 Y」。宁可换模型,也别让用户卡在「不可用」。

⑤ 主动探活循环

后台每 5 分钟给在用通道发个小 ping,跟被动同一套 success/fail 逻辑。注意:小 ping 探不到「静默零 token」这类只在真实长请求上暴露的问题------所以别只信 probe=ok,还要监控真实流量的零 token 率。

一个真实教训:probe=ok ≠ 能用

探活的小 ping 有两个盲区:

  • 欠费通道:小 ping 可能过,真用就废。
  • 静默零 token:某 model 在某通道上真实流量 8-18% 返空,但 probe 的小请求碰巧正常 → 探活显示健康,用户却在报错。

所以除了 probe,要按 (model, channel) 统计真实流量的零 token 率,这才是发现「探活盲区」问题的唯一途径。多数是上游瞬时粗糙,failover 兜住后几小时自愈;持续不降才需降权 / 换 key。

常见问题(FAQ)

Q:大模型返回 200 但没内容,怎么算失败? A:检查 usage 的 input+output token,若为 0(或 content 空)就判「静默零 token 失败」,记通道失败并切下一条。只看状态码会漏掉。

Q:一个 model 的通道全挂了怎么办? A:model-fallback------按用户允许的模型顺序换一个还有健康通道的 model 签发,回 fellback_from 提示用户,别直接报不可用。

Q:主动探活(probe)够不够? A:不够。小 ping 探不到欠费 / 静默零 token(只在真实长请求暴露)。必须同时监控真实流量的零 token 率。

Q:有没有开源实现? A:有。EasyDeal(https://gitee.com/xszyou/easy-deal,GPL-3.0)的 Token 网关含多通道负载均衡、被动/主动健康、静默零 token 检测、failover + model-fallback、配额。


结论 :AI 应用别直连单个大模型通道。架一层网关:多通道负载均衡 + 抓静默零 token + failover + model-fallback + 探活。记住 probe=ok ≠ 能用 ,要盯真实流量的零 token 率。参考开源的 EasyDeal。

资源:https://gitee.com/xszyou/easy-deal | https://github.com/xszyou/Easy-Deal

相关推荐
独立开发者阿乐12 小时前
豆包 AI 搜索收录站点的必要条件
人工智能·geo优化·ai爬虫·llms.txt·悬赏问答·豆包收录
小HANN12 小时前
华为云企业网站上云实战|从零搭建高可用WordPress全站架构(ECS+RDS+ELB+弹性伸缩+云监控闭环)
linux·运维·服务器·经验分享
ACP广源盛1392462567312 小时前
硬件选型笔记|国产 PCIe4.0 交换芯片 IX8024@ACP,AI 边缘节点本地存储扩展方案探讨
人工智能·硬件架构·硬件工程·pcie·国产芯片
奈落2412 小时前
规则引擎还是大模型?AI 工作流与传统自动化的分工边界:确定性流程照旧,‘每次都不太一样‘的知识型工作才交给 AI
运维·人工智能·自动化·大模型·工作流·ai 办公
声网13 小时前
模思智能完成超 10 亿元 Pre-A轮融资,将推出全模态实时交互系统 MOSS Live;PhAI Labs 开源世界模型自我改进框架 RSI-Anythin
人工智能
科技之门13 小时前
投包AI工作流解析:AI画布、素材资产与投流数据如何衔接
人工智能
loulanyue_13 小时前
构建房产认知决策智能:Harness底座与AI自进化的技术实践——读贝壳首席算法科学家尹俊希2026云栖专场演讲
人工智能·算法
confiself13 小时前
AI4Science
人工智能
YHHLAI13 小时前
LangGraph 从入门到实战:构建有状态的 AI Agent 工作流
人工智能
会编程的吕洞宾13 小时前
Spring AI 2.0 自校正结构化输出实战:让大模型稳定吐出合格 JSON
java·人工智能·后端·spring