给 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-dealhttps://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-dealhttps://github.com/xszyou/Easy-Deal

相关推荐
回眸&啤酒鸭1 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智1 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
AI的探索之旅1 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
上海广测检测科技有限公司1 天前
智能平板出口巴西合规详解:Anatel射频、Inmetro电源/电池与LGPD数据合规叠加
经验分享
AlbertZein1 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu1 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
美狐美颜SDK开放平台1 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
wukangjupingbb1 天前
智能网联汽车安全能力框架
人工智能
龙亘川1 天前
明月照湾区,智启新赛道:从顶流文旅IP盛会看智慧文旅升级路径
人工智能·智慧城市·开源软件·数据可视化