LiteLLM 怎样给不同 API Key 配置独立 fallback
如果不同调用方需要不同的容灾策略,LiteLLM 不必把所有 fallback 写成一套全局规则。Proxy 会按 Key > Team > Global 解析 router settings:给某个 API Key 配置了 router settings,就优先使用这份设置;没有 Key 级设置时才看它所属 Team,二者都没有才回到全局配置。
官方文档:https://docs.litellm.ai/docs/proxy/keys_teams_router_settings
因此,生产 Key 可以使用较短的 timeout 和备用模型链,开发 Key 可以保留更宽松的重试;关键是不要把“重试一次”“换模型”和“把故障部署暂时冷却”混成一个参数。
先确定每个 Key 的生效层级
先把配置对象分成三层。Key 级设置只影响使用该 Key 的请求;Team 级设置可作为团队内多个 Key 的共同默认值;Global 级设置则是没有更具体配置时的最后兜底。Key 一旦存在自己的 router settings,就不会再叠加 Team 的同名策略。
| 层级 | 适合解决的问题 | 解析优先级 |
|---|---|---|
| Key | 一个生产 Key 需要独立 fallback、timeout 或 retry | 最高 |
| Team | 一组 Key 共享同一套可靠性策略 | 中 |
| Global | 没有 Key/Team 覆盖时的默认策略 | 最低 |

实操时先问一个问题:这个策略是“只给一把 Key”,还是“给一组 Key”。前者放在 Key 的 Router Settings,后者放在 Team;不要为了让一把 Key 覆盖团队规则而修改全局配置。
在 Key 的 Router Settings 中配置 fallback 链
在 LiteLLM 管理界面编辑目标 Key,依次进入 Optional Settings → Router Settings,然后在 Fallbacks 中选择主模型组和备用模型组。官方文档给出的 Team 配置入口相同,只是从 Teams 进入;这让同一套思路可以先在单个 Key 上小范围使用,再推广到团队。
假设主模型组叫 primary-chat,备用模型组叫 backup-chat 和 backup-chat-lite,配置意图可以写成下面这样。代码中的模型名只是示例,必须替换成你自己的 model_list 名称。
# 这是一份 router_settings 结构示意,模型组名要对应现有 model_list
router_settings:
# 先尝试 primary-chat,失败后按列表顺序切换
fallbacks:
- primary-chat: ["backup-chat", "backup-chat-lite"]
# 只控制这一把 Key 的路由行为,不改其他 Key
num_retries: 1
# 约束一次路由调用允许等待的最长时间
timeout: 20
# 连续失败达到阈值后,暂时让该部署进入冷却
allowed_fails: 3
cooldown_time: 30
上面的配置表达了三件事:同一个模型组内的重试由 num_retries 控制;跨到另一个模型组由 fallbacks 控制;allowed_fails 与 cooldown_time 负责把持续失败的部署暂时移出可选范围。fallback 链按顺序处理,不能只写备用模型而忘记把它加入当前 Key、Team 或项目允许访问的模型范围。
组合 timeout、num_retries、allowed_fails 与 cooldown_time
这四个参数最好按故障处理阶段来理解。timeout 先限制一次调用不能无限等待;num_retries 决定 LiteLLM 在当前模型组内还要不要重试;当前组仍然失败时,才进入 fallbacks 的下一个模型组。allowed_fails 和 cooldown_time 不等于一次请求的重试次数,它们处理的是部署健康状态。

- timeout:给单次路由调用设上限,避免一个慢上游长期占住请求。
- num_retries:控制 LiteLLM 自己的重试循环;它和供应商 SDK 的
max_retries不是同一个旋钮。 - fallbacks:从当前模型组切换到另一个模型组,列表顺序就是故障后的候选顺序。
- allowed_fails / cooldown_time:连续失败达到阈值后暂时冷却部署,减少请求继续撞向已知异常的实例。
生产 Key 通常应该先收紧 timeout,再谨慎设置重试次数;如果主模型和备用模型都消耗同一类昂贵资源,盲目增加 retry 只会放大请求量。若备用模型受 Key 的模型权限或预算限制,LiteLLM 会跳过没有权限或超出预算的 fallback,最后仍可能返回主模型错误。
用非生产故障演练排查 fallback 没生效
排查顺序建议固定下来,避免看到一次 5xx 就直接改全局配置。
- 确认生效层级:检查这把 Key 是否已经保存了 router settings。只要 Key 级设置存在,Team 的同名设置就不是本次请求的首选。
- 确认模型权限:主模型能调用不代表备用模型也能调用。给 Key、所属 Team 和项目都授予备用模型访问权,否则 fallback 会被权限检查跳过。
- 区分重试和 fallback:同一模型组内的再次尝试属于 retry,切换到另一个模型组才是 fallback。把
num_retries调大,不会替代缺失的 fallback 链。 - 在非生产环境制造可控故障:让主模型返回可重试的限流或服务错误,再发送普通请求,观察是否落到备用模型;不要用真实生产流量做故障演练。
- 记录最终模型:结合 LiteLLM 的请求日志和 fallback 相关元数据,确认请求的原始模型组、尝试次数以及最终服务模型,而不是只看客户端收到 200。
还有一个常见误区是把“关闭 fallback”只理解为全局开关。LiteLLM 也支持在请求或 Key 元数据中设置 disable_fallbacks: true;如果某把 Key 带着这个设置,即使路由器里配置了 fallback,也可能按该 Key 的意图直接返回主模型错误。
常见问题
Key 级和 Team 级 router_settings 会合并吗?
按官方文档的层级解析规则,Key、Team、Global 是优先级关系,不应把它们当作会自动拼接的三份配置。需要独立策略时,把完整的 Key 级设置写清楚。
为什么设置了 fallback 仍然返回主模型错误?
优先检查备用模型是否在当前 Key 的可访问范围内,再检查请求是否携带 disable_fallbacks,最后确认主模型的错误类型是否属于当前 fallback 路径处理的范围。
LiteLLM 流式响应中断后怎样切到备用模型
- 上一篇
- LiteLLM 流式响应中断后怎样切到备用模型
- 下一篇
- Haystack Pipeline.run_async 怎样限制并发组件数量
-
- 科技周边 · 人工智能 | 25分钟前 |
- Accelerate load_checkpoint_and_dispatch 加载权重不匹配怎么办
- 285浏览 收藏
-
- 科技周边 · 人工智能 | 26分钟前 |
- Accelerate device_map 怎么给每张 GPU 和 CPU 设置 max_memory
- 484浏览 收藏
-
- 科技周边 · 人工智能 | 23小时前 | 性能优化 · 人工智能 · 深度学习 · PyTorch CUDA SDPA scaled_dot_product_attention Flash Attention
- PyTorch scaled dot product attention怎样选择高效注意力后端
- 214浏览 收藏
-
- 科技周边 · 人工智能 | 23小时前 | 性能优化 · python · ONNX Runtime InferenceSession SessionOptions 图优化 Execution Provider
- ONNX Runtime怎样为推理启用图优化
- 281浏览 收藏
-
- 科技周边 · 人工智能 | 23小时前 |
- OpenTelemetry GenAI怎样记录模型调用 token 属性
- 414浏览 收藏
-
- 科技周边 · 人工智能 | 23小时前 | 向量数据库 · RAG 向量检索 LlamaIndex metadata filters
- LlamaIndex metadata filters怎样按元数据筛选检索节点
- 157浏览 收藏
-
- 科技周边 · 人工智能 | 23小时前 |
- MLflow prompt registry怎样给提示词版本做回滚管理
- 234浏览 收藏
-
- 科技周边 · 人工智能 | 23小时前 |
- LangChain structured output怎样把工具结果映射到数据模型
- 135浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- Ollama embeddings怎样为本地文档生成向量
- 230浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- Transformers Trainer怎样保留自定义字段传入模型
- 344浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- vLLM prefix caching怎样减少重复提示词延迟
- 312浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- MCP 多轮往返请求怎样让工具调用继续执行
- 458浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 893次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 894次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 978次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 967次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 793次使用
-
- 量化模型本地推理的显存估算方法
- 2026-10-17 501浏览
-
- 本地大模型反复输出同一句话怎么调整生成参数
- 2026-09-06 501浏览
-
- Python 调用大模型时如何用结构化输出校验 JSON:从解析失败到可重试
- 2026-08-29 501浏览
-
- AI写作工具免费版安装教程(含豆包Clawdbot)
- 2026-05-30 501浏览
-
- WPS AI能自动生成PPT吗?输入主题一键制作演示文稿
- 2026-05-27 501浏览

