快速结论:这个报错通常发生在使用 LiteLLM 的 Decisions transformations(分数/选择概率转换)处理上游只返回部分概率条目的响应时:缺失的概率被填成 0.0,导致“缺失”与“显式概率为 0”无法区分。优先排查 Decisions 转换层中是否使用了 probabilities.get(key, 0.0) 这类默认值。
适用环境:LiteLLM 1.107.0rc1;Python 3.13.14;通过 pip / Python SDK 部署;复现为 provider-free(无需代理配置、凭证、网络请求)。
最快修复方案:升级到包含 PR #48524 修复的 LiteLLM 版本。该修复已合并:缺失的 choice/score 概率不再补 0.0,显式返回的 0.0 仍会保留。
注意事项:Issue 中未给出包含该修复的具体发布版本号,升级前请确认所用版本已包含 #48524;Issue 评论区也有人询问下一个 Release Candidate 的发布时间,未得到版本号答复。
问题场景
用户在 LiteLLM 1.107.0rc1 中直接调用 Decisions 转换层(litellm.llms.base_llm.decisions.transformation 中的 _ir_score_answer),并用 ScoreAnswer 校验一个 probabilities 字段只包含部分等级的数据,例如只提供 "1": 0.8。此时转换结果中出现了上游未提供的等级 0 和 2,且其概率被写成 0.0。Issue 指出同样的默认值问题也存在于 OpenAI 转换路径的 _openai_choice_answer 和 _openai_score_answer。
报错原文
[Bug]: Decisions transformations materialize missing probabilities as 0.0
missing probability != probability 0.0
Actual result:
(0, 0.0)
(1, 0.8)
(2, 0.0)
Expected result:
(1, 0.8)
原因分析
可能原因(根据 Issue 正文):Decisions 转换在投影概率集合时使用了等价于 probabilities.get(key, 0.0) 的默认值,于是上游未提供的条目被物化为 0.0。0.0 本身是合法概率观测值,不能作为“缺失”的哨兵值,因此这会造成信息丢失:provider omitted probability 应不输出任何概率条目,而 provider explicitly returned probability 0.0 应保留 0.0。Issue 认为公开 schema 无需变更,现有 choice/score 概率集合本身已允许只包含部分选项或等级。
环境排查
- 确认 LiteLLM 版本:Issue 中复现版本为 1.107.0rc1,正文称相同默认值也存在于当时的主干实现。
- 确认 Python 版本:Issue 中为 3.13.14。
- 确认部署方式:pip / Python SDK。
- 确认复现路径:是否经过 Decisions 转换层,尤其是
_ir_score_answer、_openai_choice_answer、_openai_score_answer。 - 无需检查代理配置、provider 凭证或网络,因为 Issue 明确说明复现不依赖这些。
解决步骤
- 升级 LiteLLM 到包含 PR #48524 的版本。该 PR 的修复内容为:缺失的 choice 和 score 概率不再补 0.0,显式 0.0 仍然保留。
- 升级后,用 Issue 中的 provider-free 复现代码重新运行:
ScoreAnswer仅提供"1": 0.8时,输出应只包含等级 1 的概率条目。 - 如需修改代码而非升级,可优先尝试按 Issue 建议的最小修复方向:仅为上游映射中实际存在的 key 生成概率对象,避免对缺失 key 使用 0.0 默认值。此修改方向来自 Issue 正文,具体实现以官方 PR 为准。
验证方法
运行 Issue 中的复现代码,检查结果列表中概率条目:缺失等级不应出现,结果应等价于 (1, 0.8)。再做一个对照用例,在上游显式提供 "0": 0.0 与 "1": 0.8 时,等级 0 的 0.0 必须仍然存在。这样即可确认“缺失”与“显式零”已正确区分。
参考来源
BerriAI/litellm PR #48524(已合并的修复)
BerriAI/litellm PR #48511(相关 PR)
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Bug]: 429 rate limit errors from OpenRouter FREE models not honored?](https://www.chat-gpts.plus/wp-content/uploads/2026/10/9035-c53fddfe-768x403.jpg)

