给 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 小时前
Cohesity 获得 第 12,619,501 号专利,该专利涵盖了其企业数据生成式人工智能平台 Cohesity Gaia™ 的基础技术
人工智能·专利·rag·genai·ai工具·gaia·cohesity
北邮刘老师1 小时前
“移动梦网”走了,“移动智网”会来吗?
人工智能·大模型·智能体·智能体互联网
Python私教1 小时前
如意知识库工厂:我用 DocsGPT 跑通了一套私有 RAG 问答系统
人工智能
刘一说1 小时前
AI科技热点日报 | 2026年7月3日
人工智能·科技
程序喵大人1 小时前
【AI专栏】图解Transformer - 第01章:建立直觉
人工智能·深度学习·ai·transformer
2601_962344621 小时前
计算机毕业设计之基于大数据的投保数据的分析系统的设计与实现
大数据·人工智能·深度学习·机器学习·信息可视化·小程序·课程设计
手写码匠2 小时前
手写 LLM 结构化输出引擎 —— 从 JSON Schema 约束到类型安全的数据提取
人工智能·深度学习·算法·aigc
QYR-分析2 小时前
柔性传感新赛道崛起:织物压力传感器行业发展全景解析
大数据·人工智能