接入大模型 API 的第一天,你大概率不会先遇到成功响应,而是先遇到一段英文报错:401、429、timeout。这三个错误占了新手排障时间的 90%,但绝大多数并不需要联系服务商——按本文的方法,三分钟内自己就能定位。
| 状态码 | 含义 | 常见原因 | 第一动作 |
|---|---|---|---|
| 401 | 鉴权失败 | Key 错误/未传/格式不对 | curl 直测 Key |
| 403 | 无权限 | 模型不在套餐内、账户被停 | 查模型清单与余额 |
| 429 | 触发限流 | 超过 RPM/TPM 上限 | 指数退避重试 |
| 500/502 | 服务端错误 | 网关或上游模型异常 | 等 30 秒重试 |
| 超时 | 无响应 | 本地网络/长文本推理慢 | 加大 timeout 分层定位 |
401 是最常见也最容易误判的错误。很多人一看"Invalid API Key"就去反复生成新 Key,其实问题往往不在 Key 本身。按下面三步走:
第一步:用 curl 绕过你的代码直测。这一步能立刻把"Key 有问题"和"代码有问题"切开:
curl https://yingsuan.top/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的Key" \
-d '{"model": "deepseek-chat", "messages": [{"role": "user", "content": "hi"}]}'
curl 返回正常回复,说明 Key 和网络都没问题,问题一定在你的代码里。常见代码侧坑有三个:
.env 但进程没重启,代码读到的还是空值或旧值;Authorization: Bearer sk-xxx,注意 B 与earer 之间一个空格,Key 前后不能有换行;ping 或浏览器确认域名真实可达。429 表示你触发了速率限制(RPM = 每分钟请求数,TPM = 每分钟 token 数)。免费额度通常限 5 RPM 左右,并发跑批时很容易撞上。正确姿势是指数退避重试,而不是疯狂刷新:
import time, requests
def call_with_backoff(payload, headers, max_retry=5):
for i in range(max_retry):
r = requests.post(
"https://yingsuan.top/v1/chat/completions",
json=payload, headers=headers, timeout=60)
if r.status_code == 429:
wait = 2 ** i # 1, 2, 4, 8, 16 秒
time.sleep(wait)
continue
return r
raise RuntimeError("多次重试后仍被限流,请降低并发或申请提额")
三个实用建议:
time.sleep(13) 是简单粗暴但有效的方案;超时最忌讳"哪里慢就无限等"。正确做法是先给足合理的 timeout,再分层排查。用 curl 的计时参数可以看清每一段耗时:
curl -w "DNS解析: %{time_namelookup}s\nTCP连接: %{time_connect}s\n服务响应: %{time_starttransfer}s\n总耗时: %{time_total}s\n" \
-o /dev/null -s https://yingsuan.top/v1/models \
-H "Authorization: Bearer sk-你的Key"
stream: true)先拿到首 token。5xx 是服务端问题,重试策略与 429 类似但等待时间可以更长(30 秒起步)。如果同一模型连续失败超过 10 分钟,换个模型先跑通业务,再向服务商反馈——这也是聚合网关的价值:一个模型故障,一键切到备选模型。
九成是环境变量没加载(进程没重启)或 base_url 域名不对。先跑本文第二节的 curl 命令,确认 Key 和域名都没问题后,再检查代码里的请求头拼接。
指数退避 5 次(累计等待约 31 秒)是业界常规。如果 5 次后仍限流,说明你的业务量已经超出当前套餐配额,该升级而不是继续重试。
普通对话模型 60 秒;推理类模型(deepseek-reasoner 等)建议 120~180 秒;开流式输出后首 token 通常几秒内返回,体验更稳。
5xx 表示请求没有被成功处理,重试是安全的。规范的服务商只对成功响应计费,失败请求不产生 token 消耗。
curl 是最可靠的。另外大部分聚合平台(如盈算智服网关)提供模型列表接口 GET /v1/models,用它做"轻量探活"比真实对话请求便宜且快。
盈算智服 LLM API 网关:免费试用 100 次请求,60 秒即时开通,无需信用卡,兼容 OpenAI 接口格式,DeepSeek、Kimi K3 等主流模型一站切换。
🎁 免费试用100次