Files
kefu/deploy/gateway-502-20260918/DIAGNOSIS.md
T
2026-09-21 10:34:06 +08:00

26 lines
1.5 KiB
Markdown

# 2026-09-18 模型接口 502 排查
## 根因与证据
- 管理 API、模型网关 health 均正常;502 由网关 `/v1/answer` 返回。
- 当前回答和视觉模型为 `doubao-seed-2-0-lite-260428`。
- 该模型配置 `max_tokens=500000`。上游在约 118 ms 返回 HTTP 400 / InvalidParameter,明确指出参数必须小于等于 131072。
- 网关将所有候选失败统一转换为 502,而旧客户端只读取 `detail`,未读取 `candidates[].error`,因此用户仅看到“模型网关返回 502”。
## 已恢复配置
- 原配置及修改原因保存在 `config-backup.json`。
- 先以同一模型、同一凭证、合成问题 `Only reply OK.` 和 `max_tokens=8192` 验证成功(约 2753 ms)。
- 使用条件更新,仅在模型 ID、原参数和原更新时间均匹配时,将最大输出 Token 改为 8192。其他角色、密钥和客户端配置未改动。
- 2026-09-18 06:51:04 UTC 起观察到实际 `/v1/answer` HTTP 200;随后用量账本已记录 2 次回答模型成功、2 次裁判模型成功。
- 8192 限制模型生成输出长度,不是会话输入上下文长度。
## 错误诊断修复
- 网关 502 返回兼容旧客户端的可读 `detail`、错误代码和请求编号。
- 不直接返回供应商错误正文,避免供应商意外回显提示词或密钥。
- 失败请求进入原有模型调用记录,便于追踪;不改变数据库结构。
- 回滚脚本只回退代码,保留已验证有效的 8192 参数。
测试和部署结果见同目录的日志与 `deployed.json`。