RateLimitError.OpenAIException - f"error":f"message":"Not Found(request id:20260...

2026年01月12日 20:17 processing

错误信息

Exception litellm.RateLimitError: RateLimitError.OpenAIException - f"error":f"message":"Not Found(request id:2026011217490293643445418465881)","type":"rix_api error","param":""'code":"upstream error"l} LiteLLM Retried: 10 times

AI 解决方案

错误翻译

原文:Exception litellm.RateLimitError: RateLimitError.OpenAIException - f"error":f"message":"Not Found(request id:2026011217490293643445418665881)","type":"rix_api error","param":""'code":"upstream error"l}
译文:异常 litellm.RateLimitError: OpenAIException - 错误信息:“未找到(请求ID:2026011217490293643445418665881)”,类型:“rix_api 错误”,参数:“”,代码:“上游错误”

##原因分析

这是一个 404 Not Found 错误,但被 litellm 库包装成了 RateLimitError。根本原因是:

  • API 端点错误:你请求的 OpenAI API 端点(URL)不存在或格式错误

  • 模型名称错误:传递给 litellm 的模型名称拼写错误或不受支持

  • 路由配置问题:litellm 的代理配置指向了不正确的上游服务地址

错误发生在 litellm 尝试重试访问 OpenAI API 时(已重试 10 次 解决方案

1. 检查并修正模型名称


# ❌ 错误的模型名称示例
response = litellm.completion(
    model="gpt-4-turbo",  # 可能存在拼写错误
    messages=[{"role": "user", "content": "Hello"}]
)

# ✅ 正确的模型名称示例
response = litellm.completion(
    model="gpt-4-turbo-preview",  # 使用正确的模型名称
    messages=[{"role": "user", "content": "Hello"}]
)

# 或者使用通用的 chatgpt 模型
response = litellm.completion(
    model="chatgpt",  # litellm 的通用标识符
    messages=[{"role": "user", "content": "Hello"}]
)

2. 检查 litellm 配置


import litellm

# 设置正确的 API 基地址(如果需要)
litellm.api_base = "https://api.openai.com/v1"  # 默认值,确保正确

# 或者如果是使用其他提供商
litellm.api_base = "https://your-custom-endpoint.com/v1"

3. 验证环境变量


# 检查 OpenAI API 密钥是否正确设置
echo $OPENAI_API_KEY

# 或者在代码中显式设置
import os
os.environ["OPENAI_API_KEY"] = "sk-your-api-key-here"

预防措施

  • ✅ 模型名称验证

  • - 使用 litellm.get_supported_openai_params("model_name") 检查支持的模型
    - 定期查看 OpenAI 官方文档更新模型列表

    • ✅ 调试模式启用

    •    import litellm
         litellm.set_verbose = True  # 启用详细日志
         

      - 这会显示实际的请求URL和响应,便于快速定位端点错误

      • ✅ 错误处理优化

      •    try:
               response = litellm.completion(...)
           except litellm.RateLimitError as e:
               print(f"详细错误信息: {e.message}")
               # 检查是否是404错误
               if "Not Found" in str(e):
                   print("请检查模型名称或API端点配置")
           except Exception as e:
               print(f"其他错误: {e}")
           

        建议立即检查:

      • 模型名称拼写是否正确

      • 是否使用了已废弃的模型

      • litellm 版本是否需要更新