[Bug]: LLM classifier failed – NoneType has no attribute “update”

该报错“LLM classifier failed - 'NoneType' object has no attribute 'update' ”通常出现在 LiteLLM Proxy v1.93.0 及更早版本中,使用 LLM classifier 动态路由( classifier_type: l

快速结论:该报错“LLM classifier failed – 'NoneType' object has no attribute 'update'”通常出现在 LiteLLM Proxy v1.93.0 及更早版本中,使用 LLM classifier 动态路由(classifier_type: llm)时触发。优先升级到 v1.94.0-dev.2 或更高版本。

适用环境:LiteLLM Proxy v1.93.0(用户通过 Docker 部署,并启用了 store_model_in_db: true、Postgres 后端)。

最快修复方案:将 LiteLLM 升级至 v1.94.0-dev.2 或更高版本。该修复已在 commit fac43df9b953… 中合并,最早携带该修复的 tag 为 v1.94.0-dev.2

注意事项:如果升级后问题依旧,需进一步排查 Postgres/Docker 环境差异,或提供 --detailed_debug 完整日志。当前仅在 v1.94.0-dev.2 上验证通过。

问题场景

用户在 LiteLLM Proxy 中配置了 complexity_router,设定 classifier_type: llm 并指定 classifier_llm_config(使用 anthropic/claude-haiku-4-5-20251001 模型)。当代理收到请求尝试调用 LLM classifier 进行分类时,日志出现 LLM classifier failed 警告,并回退到 heuristic scoring,导致配置的 tier 分配未生效。

报错原文

LiteLLM Router:WARNING: complexity_router.py:390 - ComplexityRouter: LLM classifier failed ('NoneType' object has no attribute 'update'), falling back to heuristic scoring

原因分析

函数 _classifier_call_metadata 在接收 metadata 参数为 None 时,直接返回了 None。而下游的 acompletion 调用将该返回值当作 dict 处理(调用 .update()),导致 'NoneType' object has no attribute 'update' 异常。aclassify 捕获了此异常并降级为 heuristic 评分,因此 LLM classifier 实际上从未被真正调用。修复已在 v1.94.0-dev.2 中实施:将 _classifier_call_metadata 的返回值从 metadata(可能为 None)改为空字典 {}

环境排查

  • 确认 LiteLLM 版本是否为 v1.93.0 或更早版本
  • 检查是否启用了 store_model_in_db: true 并连接 Postgres 数据库(用户配置中包含此选项,但尚未确认是否为触发条件)
  • 验证 classifier_llc_config.model 是否指定了一个有效的 LLM 端点(建议使用 model_list 中已注册的 model_name 或完整的 provider/model 字符串)

解决步骤

  1. 升级 LiteLLM 到 v1.94.0-dev.2 或更高版本(例如 docker pull berriai/litellm:v1.94.0-dev.2 或通过 pip 安装最新预发布版)
  2. 重启 LiteLLM Proxy 服务
  3. 发送测试请求到 smart-router 路径(如 /chat/completions/responses

验证方法

观察代理日志,确认不再出现 LLM classifier failed 警告。如果配置正确,应看到类似 signals=['llm-classifier:COMPLEX'] 的成功分类日志。

参考来源

BerriAI/litellm #34487

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 15346

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注