Rate limits et quotas : pourquoi les outils IA te ralentissent parfois
Les rate limits limitent le nombre de requĂȘtes que tu peux envoyer par minute. ConnaĂźtre les rĂšgles permet de mieux gĂ©rer une erreur 429.
Ce qu'est un rate limit
Un rate limit est un plafond : le nombre de requĂȘtes (ou de tokens) que tu as le droit d'envoyer Ă une API IA pendant une pĂ©riode donnĂ©e. Un quota est similaire, mais souvent sur une pĂ©riode plus longue â par exemple un contingent mensuel pour un abonnement, ou une limite de dĂ©pense mensuelle pour une API.
Pourquoi ça existe
Sans limites, une seule application â par bug ou intentionnellement â pourrait envoyer tellement de requĂȘtes que la capacitĂ© des serveurs en pĂątirait pour tout le monde. Les rate limits protĂšgent l'infrastructure et assurent une rĂ©partition Ă©quitable, tout en limitant les coĂ»ts imprĂ©vus.
Le code d'erreur 429
Si tu dépasses une limite, l'API répond avec le statut HTTP 429 (« Too Many Requests ») au lieu d'un résultat. La réponse contient généralement une indication Retry-After précisant combien de secondes attendre avant de réessayer.
Comment gérer ça
- Attendre et rĂ©essayer : en cas de 429, faire une courte pause, puis rĂ©essayer â idĂ©alement avec un dĂ©lai croissant (exponential backoff), plutĂŽt que de renvoyer immĂ©diatement.
- Batching : regrouper plusieurs petites requĂȘtes en une seule plus grande, plutĂŽt que de multiplier les appels individuels.
- ModÚles plus petits : pour des sous-tùches simples, utiliser un modÚle moins cher avec son propre contingent, et réserver le modÚle principal, plus coûteux, aux étapes complexes.
EXEMPLE
Pseudocode pour un retry avec backoff : pour tentative in 1..5: reponse = appel_api() si reponse.status == 429: attendre(reponse.header['retry-after'] secondes) continuer sinon: return reponse
đ ïž EXERCICE â Ă TOI DE JOUER
Construis une logique de retry simple avec backoff pour des appels API, ou trouve-la dans un SDK existant.
- Cherche dans la documentation de ton SDK IA préféré si un comportement de retry intégré existe pour les erreurs 429.
- Si ce n'est pas le cas : écris une petite boucle qui réessaie en cas de statut 429, avec un délai croissant (3 à 5 tentatives maximum).
- VĂ©rifie que ton code respecte l'en-tĂȘte Retry-After de la rĂ©ponse, au lieu d'utiliser un dĂ©lai fixe.
- Optionnel et avec prudence : teste avec quelques requĂȘtes rapides si un 429 se dĂ©clenche â garde Ă l'esprit que les requĂȘtes rĂ©ussies avant ça consomment aussi des tokens. N'utilise pas pour cela un compte de production ou avec des limites serrĂ©es.
â AUTO-VĂRIFICATION
- â Ton code attend-il plus longtemps aprĂšs une erreur 429, au lieu de rĂ©essayer immĂ©diatement ?
- â Ton code a-t-il une limite fixe pour le nombre de tentatives ?
- â Ton code utilise-t-il l'en-tĂȘte Retry-After au lieu de supposer un dĂ©lai fixe ?
QUIZ RAPIDE
Que signifie le code de statut HTTP 429 pour une API IA ?
SOURCES
- Claude Platform Doku: Rate Limits â platform.claude.com
- MDN: HTTP 429 Too Many Requests â developer.mozilla.org
- OpenAI-Doku: Rate Limits â developers.openai.com
- MDN: HTTP 429 Too Many Requests â developer.mozilla.org