Diseñar timeouts de API de IA por fase
Guía de producción: Diseñar timeouts de API de IA por fase. Incluye un artefacto determinista, límites de fallo, controles de despliegue y fuentes verificadas.
Guía de producción: Diseñar timeouts de API de IA por fase. Incluye un artefacto determinista, límites de fallo, controles de despliegue y fuentes verificadas.
Decisión primero
Diseñar timeouts de API de IA por fase es un contrato explícito de producción, no un cambio aislado. Defina éxito, fallo terminal y rollback antes de mover tráfico; el artefacto separa evidencia de supuestos.
Empiece por connect, demuestre headers con un caso determinista y convierta cancel en una condición de despliegue.
Artefacto reutilizable
Una fila solo pasa cuando la evidencia procede de la misma solicitud, ventana de prueba o versión de configuración.
| Punto de control | Evidencia | Condición de aprobación |
|---|---|---|
connect |
DNS,TCP,TLS_budget_and_failure_class |
El límite es explícito y falla de forma cerrada. |
headers |
request_sent->response_headers |
El límite es explícito y falla de forma cerrada. |
first_output |
headers->first_meaningful_output,separate_from_first_SSE_frame |
El registro une una solicitud lógica y un intento concreto. |
idle |
maximum_gap_between_meaningful_stream_events |
El límite es explícito y falla de forma cerrada. |
total |
absolute_request_deadline_inherited_by_all_child_work |
El límite es explícito y falla de forma cerrada. |
cancel |
client_cancel_reaches_queue,gateway,upstream,and_tool_work |
El registro une una solicitud lógica y un intento concreto. |
Ejemplo resuelto
El ejemplo es sintético y determinista. Sustituya parámetros por valores revisados; no incluya secretos ni datos de clientes.
total_deadline_ms: 60000
phases:
connect_ms: 3000
response_headers_ms: 10000
first_meaningful_output_ms: 25000
stream_idle_ms: 15000
rules:
- child_deadline_must_not_exceed_total
- client_cancel_propagates_immediately
- timeout_records_phase_and_attempt
Procedimiento de implantación
- Congele solicitud, respuesta, configuración y línea base observable.
- Ejecute un caso positivo determinista y conserve el resultado completo.
- Ejecute el caso negativo o límite correspondiente.
- Una todos los intentos con un ID lógico y registre tiempo, estado final y uso sin contenido sensible.
- Despliegue en una cohorte acotada con condiciones de parada.
- Relea el estado duradero y el comportamiento público; revierta si falla una invariante.
Modos de fallo
Estos fallos invalidan el resultado aunque el HTTP exterior parezca correcto:
- La cancelación no llega a cola ni upstream y sigue consumiendo capacidad.
- Se supone estado oculto que la ruta no conserva.
- Se reintenta sin presupuesto y se amplifica la carga.
- Se registran prompts, claves o argumentos sensibles.
Límite de Modelflare
Modelflare centraliza rutas compatibles con OpenAI, claves, grupos, uso y fallos, pero una ruta configurada no prueba todas las capacidades del proveedor. Verifique modelo y canal por el protocolo nativo; conserve ceros explícitos y use la liquidación duradera como verdad de facturación.
Consulte la guía principal para el límite de decisión y la documentación para la configuración actual.
Lista previa a publicación
- Responder primero a la pregunta principal.
- Asignar un owner a cada campo, estado, métrica y fórmula.
- Usar solo identificadores sintéticos.
- Mantener estructura, código, límites y advertencias en todos los idiomas.
- Revalidar contratos, soporte y precios en T-1; mover la fecha si cambia un hecho.
- Antes de la hora, excluir la página de API pública, rutas y sitemap.
Fuentes y fecha de verificación
Fuentes verificadas el 2026-08-07; no demuestran compatibilidad de una ruta no probada.