Format de réponse d’erreur
Chat Completions, Responses, Messages et Gemini sont des frontières de protocole publiques, pas des API Web. Les erreurs du protocole natif ne sont pas enveloppées dans le format Web{ success, data, error }. L’exemple suivant concerne les erreurs de gateway compatibles OpenAI pour Chat et Responses :
message et type sont présents ; code, param et les extensions d’aide sont facultatifs. Messages et Gemini utilisent leurs familles d’erreurs natives. Les erreurs de validation upstream sont préservées lorsqu’elles peuvent être renvoyées en toute sécurité ; un 400/422 déterministe ne change pas de route, et aucune nouvelle tentative n’a lieu après le premier octet livré.
Codes d’état HTTP
Types d’erreurs
Erreurs d’authentification (401)
Erreurs de paiement (402)
Erreurs d’accès (403)
Erreurs de validation (400)
model_not_found.
Erreurs de limitation de débit (429)
Lorsque vous dépassez les limites de débit :Retry-After et le champ retry_after indiquent tous deux le nombre exact de secondes à attendre avant de réessayer.
Charge utile trop volumineuse (413)
Lorsque la taille de l’entrée ou du fichier dépasse les limites :- Fichier image trop volumineux (max 20MB)
- Fichier audio trop volumineux (max 25MB)
- Le texte d’entrée dépasse la longueur de contexte du modèle
Erreurs en amont (502, 503)
Lorsque tous les canaux échouent, la réponse inclut des modèles alternatifs :
Gestion des erreurs en Python
Gestion des erreurs en JavaScript
Bonnes pratiques
Implémenter un backoff exponentiel
Implémenter un backoff exponentiel
Lorsque vous êtes limité par le débit, attendez de plus en plus longtemps entre les réessais :
Définir des délais d'attente
Définir des délais d'attente
Définissez toujours des délais d’attente raisonnables pour éviter les requêtes bloquées :
Consigner les erreurs pour le débogage
Consigner les erreurs pour le débogage
Consignez la réponse d’erreur complète, y compris l’ID de la requête, pour le support :
Gérer les erreurs spécifiques au modèle
Gérer les erreurs spécifiques au modèle
Certains modèles ont des exigences spécifiques (par ex., nombre maximal de tokens, formats d’image).
Validez les entrées avant d’effectuer des requêtes.