响应数据异常问题
当你收到的 API 响应不符合预期时,可按以下思路排查。
常见异常情况
1. 响应的模型不是你指定的模型
如果你使用 model: "amax-router"(智能路由),响应中返回的模型名可能与你预期不同,这是正常行为——网关自动选择了路由策略下的最优模型。
确认方法:查看响应中的 model 字段,即为实际调用的模型。
2. 返回内容格式异常
模型返回的内容格式由模型本身决定,不同模型对于同一条 Prompt 的回复格式可能不同。
解决:
- 优化 Prompt,更明确地指定期望的输出格式
- 检查
response_format参数(如 JSON 模式)是否被支持
3. 流式输出断断续续或未完整返回
可能原因:
- 网络不稳定导致 SSE 连接中断
- 上游模型返回了不完整的 chunk
解决:
- 检查客户端是否正确处理了 SSE 连接中断
- 实现重试逻辑
- 如果问题持续,尝试切换到其他模型
4. 返回的 Token 用量与实际不符
Token 数由各模型厂商的 tokenizer 计算,不同厂商算出的 Token 数可能略有差异。
5. 收到空响应
可能原因:
max_tokens设置过小- 模型触发了安全过滤
- 上游厂商返回了异常
解决:
- 增大
max_tokens参数 - 检查 Prompt 是否包含可能触发过滤的内容
- 尝试不同的模型