RAG-05在线治理-Fallback-SLA-RAG

本文属于 RAG 工程框架中的「5 在线运营与成本治理」环节,聚焦「Fallback/SLA(回退与服务等级)」方法。可先阅读 RAG-00.方法概述 再进入本篇。

原理

当链路超时或依赖异常时,按预设服务等级(SLA)自动降级到轻量路径,保障可用性。

关键技术/实现路径

  • 超时熔断与重试策略。
  • 多级降级路径(full -> lite -> cached)。
  • SLA 分层(VIP/普通)。

优缺点

  • 优点:高峰期稳定性强。
  • 缺点:降级状态下答案质量可能下降。

性能与资源

  • 显著降低极端场景尾延迟(P95/P99)。

应用场景

  • 高并发企业问答与 API 服务。

统一合成数据示例

输入数据片段

1
{"query":"机票报销上限","timeout_ms":1200}

中间结果(降级判定)

1
{"primary_chain":"timeout","fallback_chain":"cache_first_rag_lite"}

最终生成示例(含引用)

1
{"answer":"机票报销上限为2000元。","latency_ms":180,"citations":[{"doc_id":"D01","evidence_span":"机票报销上限2000元"}]}

原始发表与工程实现

  • 代表性原始发表:SRE 熔断降级模式。
  • 核心解决问题:解决高峰与异常可用性。
  • 成熟实现工具:Envoy, 降级网关, circuit breaker。

详细原理拆解

  • 超时或错误触发降级链路,优先保证 SLA 可用性。
  • 典型实现可拆为:输入预处理 -> 方法核心计算 -> 候选/证据构建 -> 生成与引用。
  • 工程调优重点:质量(准确率/引用率)与成本(时延/token)的联合优化。
1
2
3
4
5
flowchart LR
In[输入 Query 与知识] --> Core[方法核心计算]
Core --> Rank[匹配/路由/排序]
Rank --> Build[证据组装]
Build --> Out[答案与引用]

工程落地扩展示例

伪代码

1
2
3
4
5
6
def sla_rag(query, primary, fallback, deadline_ms: int):
try:
with timeout(deadline_ms):
return primary(query)
except Timeout:
return fallback(query) # cache / lite / 无重排

参数示例

1
2
3
primary_timeout_ms: 1200
fallback_chain: [cache_hit, dense_only_no_rerank, short_answer]
circuit_breaker_error_rate: 0.05

常见失败案例

  • 失败模式 1:降级路径 质量骤降,用户看到大量「无法回答」。
  • 失败模式 2:熔断误触发,全局降级 放大事故。
  • 失败模式 3:未区分 可缓存 FAQ强时效政策,缓存兜底传播错误。

Demo 数据带入计算示例

1
2
p95 目标 900ms,实测 1180ms → 关闭重排仅 dense top-k,p95→640ms,SLA 恢复。
代价:nDCG@10 可能从 0.74→0.68——需在 **可用性 vs 质量** 显式权衡。
-------------本文结束感谢您的阅读-------------