Chat Completion API Custom OpenAI endpoint failed with status 429: Resource has ...

2026年05月07日 18:29 processing

错误信息

Chat Completion API Custom OpenAI endpoint failed with status 429: Resource has been exhausted (e.g. check quota).

AI 解决方案

错误翻译


原文:Custom OpenAI endpoint failed with status 429: Resource has been exhausted (e.g. check quota).
译文:自定义OpenAI端点失败,状态码429:资源已耗尽(例如检查配额)。

原因分析


  • 根本原因:您对自定义OpenAI API端点的调用频率或总次数超过了账户的速率限制(Rate Limit)配额(Quota)。这是OpenAI API主动施加的限流措施,用于防止滥用并保障服务稳定性。

  • 具体上下文:您的代码或应用在短时间内向该端点发送了过多请求,或者本月/本日的免费/付费额度已用尽。

  • 请采取以下一项或多项措施:

    • 控制调用频率

    •     # Python 示例:使用指数退避策略进行重试
          import time
          import random
          from openai import OpenAI, RateLimitError
      
          client = OpenAI() # 假设已配置好端点和密钥
      
          def call_api_with_retry(messages, max_retries=5):
              for attempt in range(max_retries):
                  try:
                      response = client.chat.completions.create(
                          model="your-model",
                          messages=messages
                      )
                      return response
                  except RateLimitError as e:
                      if attempt == max_retries - 1:
                          raise e
                      # 指数退避:等待时间 = (2^尝试次数) + 随机抖动秒
                      wait_time = (2 ** attempt) + random.uniform(0, 1)
                      print(f"触发速率限制,等待 {wait_time:.2f} 秒后重试...")
                      time.sleep(wait_time)
              return None
      
          # 使用示例
          messages = [{"role": "user", "content": "Hello!"}]
          result = call_api_with_retry(messages)
          

      • 实现请求队列

      • 使用消息队列(如Redis Queue, Celery)或简单的队列库,确保API请求按序、平稳地发出,避免突发流量。

        • 检查并提升配额

        • - 登录您的OpenAI账户后台
          - 在 “Usage” 或 “Rate limits” 页面查看当前用量和限制。
          - 如果是免费试用用户,考虑升级为付费账户以获取更高的额度。
          - 如果已是付费用户,可以联系OpenAI支持询问是否可能临时或永久提升限额。

          预防措施


        • 监控用量:定期在OpenAI仪表板检查API使用量,设置用量告警。

        • 客户端限流:在应用端实现自己的速率限制器,确保单个用户的请求不会拖垮整个应用的API配额。

        • 优化设计:优化提示词(Prompt)减少不必要的Token消耗,对缓存友好的查询结果进行缓存,避免重复请求。