Skip to Content
GGPU API错误处理

错误处理

先判断错误属于地址、鉴权、参数、资源、额度还是临时服务异常,再决定修正配置、降低请求或有限重试。

排障日志可以记录请求时间、请求 ID、模型和状态码,但不要记录完整 API Key;业务输入和模型输出也应按数据安全要求脱敏。

推荐排查顺序

保留原始错误上下文

记录请求时间、HTTP 状态码、响应体和 X-Request-Id。没有这些信息时,后续很难把客户端日志与平台记录对应起来。

检查地址与路径

Base URL 应为 https://api.ggpu.ai,其后直接拼接 /v1/...。确认没有重复 /api、路径拼写错误或多余空格。

检查鉴权

确认 Authorization 使用 Bearer <secret>,Key 完整、状态可用且没有混用其他环境的凭证。

检查模型与参数

模型名称来自当前可用列表,请求 JSON 可以解析,必填字段存在,可选参数也确实受该模型支持。

检查额度与请求节奏

额度不足时先处理账户或 Key 配置;触发限流时降低并发并使用有上限的退避重试。

最后处理临时服务异常

只对适合重试的请求处理临时 5xx。达到重试上限后保留上下文并结束,避免形成持续请求风暴。

常见 HTTP 状态码

状态码通常表示第一处理动作是否直接重试
400JSON、必填字段或参数不正确修正请求体与模型名称否
401未认证或凭证无效检查 Authorization 与 Key 状态否
402余额或额度不可用检查账户余额、总额度或单 Key 额度否
403当前凭证无权访问检查账号状态和访问范围否
404路径、模型或任务不存在核对接口路径和资源 ID否
429请求频率或并发过高降低并发,等待后退避重试可以,需限次
500/502服务暂时不可用保留请求 ID,短暂等待后重试可以,需限次

不要依赖单一错误结构

最简错误可能只有一个字段:

{ "error": "unauthorized" }

实际错误体可能提供更多信息。客户端应先保留原始响应,再安全读取已知字段;不要让“解析错误消息失败”覆盖真正的 HTTP 错误。

建议记录的信息

信息用途注意事项
请求时间缩小平台记录与业务日志的检索范围使用带时区的统一格式
X-Request-Id标识某一次具体请求每次请求唯一,并贯穿业务日志
HTTP 方法与路径判断是否调用了正确接口不记录 URL 中的敏感参数
模型名称判断资源是否存在、是否可用保留准确拼写
状态码与响应体判断错误类型和平台信息对业务敏感内容脱敏
请求耗时与重试次数识别超时、限流和重复调用每次尝试分别记录

重试边界

场景推荐策略
参数、鉴权、权限、资源错误修改请求或配置后再发起,不自动重试原请求
429降低并发,使用带退避和次数上限的重试
临时 5xx短暂等待后有限重试,持续失败则停止并告警
已返回部分流式内容谨慎重放,避免重复展示和重复消耗
可能产生异步任务的创建请求先确认是否已经返回或创建任务,再决定是否重试

继续排查