跳转到主要内容
错误使用您调用的端点的封装。/v1/responses/v1/chat/completions 返回 OpenAI 格式的错误。/v1/messages 返回 Anthropic 格式的错误。/v1/interactions 返回 Google 格式的错误。FlexInference 错误和上游提供商错误遵循相同的规则,因此每个端点都有一种错误格式。 遇到 5xx 错误或超时?请首先查看 status.flexinference.com。它显示了 API、网站、文档和 MCP 服务器的实时运行状态,以及任何正在处理的事件。 /v1/responses/v1/chat/completions 上,错误使用 OpenAI 封装:
/v1/messages 上的相同错误使用 Anthropic 格式。在 /v1/interactions 上,它使用 Google 格式:
HTTP 状态和消息在不同接口上保持不变;只有封装方式会改变。OpenAI 封装包含完整的详细信息。type 使用 OpenAI 类别(invalid_request_errorauthentication_errorrate_limit_error),以及用于内部故障的 flexinference_error 和当计费状态暂停可计费请求时的 billing_errorcode 是机器可读的原因。当适用时,param 会指出有问题的字段。doc_url 链接到下方该代码的行,如果未知则为 null。Anthropic 格式包含从状态映射的 Anthropic type 和消息。Google 格式包含数字 code、消息和规范的 status。FlexInference 特定的 codedoc_url 仅出现在 OpenAI 封装中。

FlexInference 代码

这些代码来自 FlexInference。根据 error.code 进行分支判断;error.message 是为开发者编写的,并在存在修复方案时包含修复说明。 有几个错误涉及 start_within。对于支持 flex 的模型上的持续时间值,FlexInference 会首先尝试更便宜的 flex 层级。如果 flex 无法在该窗口内启动,FlexInference 会将相同的请求发送到标准层级。标准层级是备用路径,而不是首次尝试。
provider 数组固定了您的路由。googleopenaianthropic 是 直接路由;vertexbedrock 是云路由,分别在 Google Vertex AI 和 Amazon Bedrock 上提供 gemini-*claude-* 模型。未配置密钥的云路由会返回 no_vertex_keyno_bedrock_key,这与上述 no_gemini_keyno_anthropic_key 的密钥缺失模式相同。upstream_auth_failed 涵盖了上游拒绝的任何附加提供商凭证,包括云路由。请参阅 提供商路由

Flex 结果头部

成功的 200 响应在每个端点上都包含 Flex 结果头部,适用于流式和非流式调用。错误响应则使用错误体。 实时 x-flexinference-flex-reason 值:
无法进行 flex 竞争的持续时间会返回 400 (在 claude-* 模型上为 flex_unsupported_for_anthropic, 在不支持 flex 的 OpenAI/Gemini 模型上为 flex_model_not_capable); 头部原因仅描述了已运行 flex 或未请求 flex 的请求。

提供商错误

上游提供商错误使用与 FlexInference 错误相同的接口封装。FlexInference 保留提供商的状态和消息,然后将其在您调用的端点的封装中发出。提供商因参数错误返回的 400、因无效提供商密钥返回的 401,或标准尝试中的 429 速率限制,都会以该格式返回。您不会收到提供商的原始响应体。例如,调用 /v1/messages 时,OpenAI 模型错误会以 Anthropic 格式返回。FlexInference 特定的 codedoc_url 仅出现在 OpenAI 封装中;提供商错误会携带提供商的消息以及接口的 typestatus
在 OpenAI 接口上,根据 error.code 进行分支处理 FlexInference 特定的情况, 例如在 no_byok_key 时提示用户添加 BYOK 密钥。将未知代码视为普通的 OpenAI 错误。

代码中的错误处理

OpenAI SDK 会在非 2xx 响应时抛出异常,并附带解析后的响应体。