API call failed after 3 retries: HTTP 404: Invalid URL (POST /v1/chat/completion...

2026年06月26日 11:27 29.52 秒 success

错误信息

API call failed after 3 retries: HTTP 404: Invalid URL (POST /v1/chat/completions/chat/completions)

AI 解决方案

🌐 错误翻译


原文:Invalid URL (POST /v1/chat/completions/chat/completions)
译文:无效的URL (POST /v1/chat/completions/chat/completions)

🎯 原因分析


错误的根本原因是 请求的URL路径重复拼接
  • API客户端的基础URL(Base URL)很可能已经包含了端点路径(例如 https://api.openai.com/v1/chat/completions)。

  • 在发送请求时,代码又手动或错误地拼接了一次 /chat/completions,导致最终的请求路径变成了 /v1/chat/completions/chat/completions,这是一个无效的端点,因此服务器返回了 404 Not Found
  • 💡 解决方案


    修正API客户端的基础URL,使其不包含 chat/completions 这个具体端点。

    # 错误示例 - URL包含了完整的端点路径
    base_url = "https://api.openai.com/v1/chat/completions"  # ❌
    client = OpenAI(base_url=base_url)
    
    # 正确示例 - 只设置API的基础地址
    base_url = "https://api.openai.com/v1"  # ✅
    client = OpenAI(base_url=base_url)
    

    🛡️ 预防措施


  • 查阅官方文档:仔细阅读所使用API库的文档,明确base_url参数应设置为API的基础域名(如 https://api.openai.com/v1),还是完整的端点路径。OpenAI、Azure等不同提供商的配置可能不同。

  • 统一配置管理:将API端点地址存放在环境变量或配置文件中,避免在代码中硬编码,便于维护和切换环境(如开发、测试、生产)。