Concevoir les timeouts d’API IA par phase
Guide de production : Concevoir les timeouts d’API IA par phase. Il comprend un artefact déterministe, des limites d’échec, des contrôles de déploiement et des sources vérifiées.
Guide de production : Concevoir les timeouts d’API IA par phase. Il comprend un artefact déterministe, des limites d’échec, des contrôles de déploiement et des sources vérifiées.
Décider d’abord
Concevoir les timeouts d’API IA par phase est un contrat de production explicite, pas une modification isolée. Définissez réussite, échec terminal et rollback avant de déplacer le trafic ; l’artefact sépare preuve et hypothèse.
Commencez par connect, prouvez headers avec un cas déterministe et faites de cancel une condition de mise en production.
Artefact réutilisable
Une ligne ne passe que si sa preuve vient de la même requête, fenêtre de test ou version de configuration.
| Point de contrôle | Preuve à conserver | Condition de réussite |
|---|---|---|
connect |
DNS,TCP,TLS_budget_and_failure_class |
La limite est explicite et l’échec est fermé. |
headers |
request_sent->response_headers |
La limite est explicite et l’échec est fermé. |
first_output |
headers->first_meaningful_output,separate_from_first_SSE_frame |
Le relevé relie une requête logique et une tentative précise. |
idle |
maximum_gap_between_meaningful_stream_events |
La limite est explicite et l’échec est fermé. |
total |
absolute_request_deadline_inherited_by_all_child_work |
La limite est explicite et l’échec est fermé. |
cancel |
client_cancel_reaches_queue,gateway,upstream,and_tool_work |
Le relevé relie une requête logique et une tentative précise. |
Exemple détaillé
L’exemple est synthétique et déterministe. Utilisez vos valeurs revues, sans secret ni donnée client.
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
Procédure de mise en œuvre
- Figer requête, réponse, configuration et référence observable.
- Exécuter un cas positif déterministe et conserver le résultat complet.
- Exécuter le cas négatif ou limite associé.
- Relier les tentatives à un ID logique et consigner temps, état final et usage sans contenu sensible.
- Déployer sur une cohorte bornée avec critères d’arrêt.
- Relire l’état durable et le comportement public ; revenir en arrière si une invariance échoue.
Modes d’échec
Ces échecs invalident le résultat même si le HTTP externe semble réussir :
- L’annulation n’atteint ni file ni upstream et continue de consommer.
- La route est supposée conserver un état caché.
- Des retries sans budget amplifient la charge.
- Prompts, clés ou arguments sensibles entrent dans la télémétrie.
Limite de Modelflare
Modelflare centralise routage compatible OpenAI, clés, groupes, usage et erreurs, mais une route configurée ne prouve aucune capacité optionnelle. Vérifiez modèle et canal par le protocole natif, conservez les zéros explicites et prenez le règlement durable comme vérité de facturation.
La page parente couvre la décision générale et la documentation la configuration actuelle.
Liste avant publication
- Répondre à la question principale avant le contexte.
- Nommer un owner pour chaque champ, état, métrique et formule.
- N’utiliser que des identifiants synthétiques.
- Conserver structure, code, limites et avertissements dans toutes les langues.
- Revérifier contrats, support et prix à T-1 ; déplacer la date si un fait change.
- Avant l’heure, exclure de l’API publique, des routes et du sitemap.
Sources et date de vérification
Sources vérifiées le 2026-08-07 ; elles ne prouvent pas une route non testée.