精排或 LLM 超时等于整站失败,高峰不可用。根因是只有一条成功路径。本方法按超时熔断到 Hybrid/Naive 等降级链。降级必须单独监控质量,避免静默变差。
本文属于 RAG 工程框架中的「5 在线运营与成本治理」环节,聚焦「Fallback/SLA(回退与服务等级)」方法。
定位
| 维度 | 内容 |
|---|---|
| 角色 | 超时熔断与降级链 |
| 输入 → 输出 | query → 主链答案或降级答案 |
| 默认组合 | 网关熔断 + 应用 circuit breaker |
| 何时不用 | 离线批处理、无 SLA |
核心机制
主链 deadline $D$,超时则 $F_1,F_2,\ldots$ 更短路。P95 对主链与降级分桶报。
实现路径与心智:主链设 deadline,超时或错误切到更短路径。底层心智:可用性是路径集合不是单条成功链。降级质量必须单独监控。
优缺点
- 优点:高峰仍可用。
- 缺点:静默质量下降。
契约与走通样例
输入
1 | {"query": "GAPDH siRNA 处理多久", "deadline_ms": 800} |
中间量
精排 920 ms > 800 → 走 Hybrid 无精排,300 ms 返回。降级桶 Faithfulness $0.78$ vs 主链 $0.91$。
输出
1 | {"path": "fallback_hybrid", "latency_ms": 300} |
社区实现
Envoy / 应用层 circuit breaker。风险:降级到空缓存当成功。
工程落地
最小可运行示例
复制为 .py 后直接运行(仅标准库)。生产用并发超时(concurrent.futures)包住主链;降级禁止落到空答案。
1 | """主链超时则走降级链,并返回路径名。""" |
参数
| 参数 | 起点 | 影响 |
|---|---|---|
deadline_ms |
略小于 SLA | 过紧则长期走降级 |
| 降级链 | Hybrid/Naive/缓存 | 禁止降级到空 |
失效—信号—螺丝
- 降级占比高:螺丝:扩容主链或减精排池。
- 质量静默掉:螺丝:降级桶单独 Faithfulness。
- 无 deadline:螺丝:必须设。
规模(100 篇生物学 PDF)
配置增量可忽略。切换 毫秒–百毫秒。