Saltar al contenido principal
Los errores utilizan el formato del endpoint al que se llama. /v1/responses y /v1/chat/completions devuelven errores con formato OpenAI. /v1/messages devuelve errores con formato Anthropic. /v1/interactions devuelve errores con formato Google. Los errores de FlexInference y los errores de los proveedores upstream siguen la misma regla, por lo que cada endpoint tiene un único formato de error. ¿Ve errores 5xx o tiempos de espera? Consulte primero status.flexinference.com. Muestra el tiempo de actividad en vivo de la API, el sitio web, la documentación y el servidor MCP, además de cualquier incidente abierto. En /v1/responses y /v1/chat/completions, los errores utilizan el formato OpenAI:
El mismo error en /v1/messages utiliza el formato de Anthropic. En /v1/interactions, utiliza el formato de Google:
El estado HTTP y el mensaje permanecen iguales en todas las superficies; solo cambia el envoltorio. El formato OpenAI contiene todos los detalles. type utiliza las categorías de OpenAI (invalid_request_error, authentication_error, rate_limit_error), además de flexinference_error para fallos internos y billing_error cuando el estado de facturación pausa las solicitudes facturables. code es la razón legible por máquina. param nombra el campo ofensivo cuando aplica. doc_url enlaza a la fila de ese código a continuación, o es null cuando se desconoce. El formato de Anthropic lleva un type de Anthropic mapeado desde el estado más el mensaje. El formato de Google lleva el code numérico, el mensaje y un status canónico. Los campos code y doc_url específicos de FlexInference solo aparecen en el formato OpenAI.

Códigos de FlexInference

Estos códigos provienen de FlexInference. Ramifique en error.code; error.message está escrito para desarrolladores e incluye la solución si existe. Varios errores involucran a start_within. Para los valores de duración en modelos compatibles con flex, FlexInference intenta primero el nivel flex más económico. Si flex no puede iniciarse dentro de esa ventana, FlexInference envía la misma solicitud al nivel estándar. El estándar es la ruta de respaldo, no el primer intento.
El array provider fija su ruta. google, openai y anthropic son rutas directas; vertex y bedrock son rutas en la nube que sirven gemini-* y claude-* en Google Vertex AI y Amazon Bedrock respectivamente. Una ruta en la nube cuya clave no está configurada devuelve no_vertex_key o no_bedrock_key, el mismo patrón de clave faltante que no_gemini_key y no_anthropic_key anteriores. upstream_auth_failed cubre cualquier credencial de proveedor adjunta que el upstream rechace, incluidas las rutas en la nube. Consulte provider routing.

Encabezados de resultado de Flex

Las respuestas 200 exitosas incluyen encabezados de resultado de Flex en cada endpoint, tanto para llamadas de streaming como no streaming. Las respuestas de error utilizan el cuerpo del error en su lugar. Valores de x-flexinference-flex-reason en vivo:
Una duración que no puede ejecutar una carrera flex devuelve 400 (flex_unsupported_for_anthropic en un modelo claude-*, flex_model_not_capable en un modelo OpenAI/Gemini no compatible con flex); las razones del encabezado describen solo las solicitudes que ejecutaron flex o no lo solicitaron.

Errores del proveedor

Los errores del proveedor upstream utilizan el mismo formato de superficie que los errores de FlexInference. FlexInference mantiene el estado y el mensaje del proveedor, luego los emite en el formato del endpoint al que llamó. Un 400 del proveedor por un parámetro incorrecto, un 401 por una clave de proveedor inválida o un límite de rate_limit 429 en el intento estándar, regresan con ese formato. No recibe el cuerpo sin procesar del proveedor. Por ejemplo, si llama a /v1/messages y un error de un modelo OpenAI regresa con formato Anthropic. Los campos code y doc_url específicos de FlexInference solo aparecen en el formato OpenAI; los errores del proveedor llevan el mensaje del proveedor con el type o status de la superficie.
En la superficie de OpenAI, ramifique en error.code para un manejo específico de FlexInference, como solicitar al usuario que agregue una clave BYOK en no_byok_key. Trate los códigos desconocidos como errores ordinarios de OpenAI.

Manejo de errores en el código

Los SDK de OpenAI lanzan excepciones en respuestas que no son 2xx y adjuntan el cuerpo analizado.