| 维度 | RPM / TPM / 并发连接 |
|---|---|
| 信号 | 429 + retry-after 头 |
| 观察头 | x-ratelimit-remaining-requests / x-ratelimit-remaining-tokens / x-ratelimit-reset-* |
| 提升 | 付费档升级或申请提额,代码层无法突破账户配额 |
按 retry-after 退避(Python)
按 retry-after 退避(Python)
import time
from openai import OpenAI, RateLimitError
client = OpenAI()
for attempt in range(5):
try:
r = client.chat.completions.create(model="gpt-4o-mini", messages=[{"role": "user", "content": "你好"}])
break
except RateLimitError as e:
time.sleep(float(e.response.headers.get("retry-after", 5)))排查 429 时同时看请求数与 token 数:常见是 TPM 先打满(长上下文请求更容易触发)。