Calculateur de limites 429 & concurrence de workers LLM
Calculez les débits RPM, Input TPM (ITPM) et Output TPM (OTPM) requis sur 60 modèles 2026 actifs, détectez les goulets de quota avant la mise en production et copiez vos politiques de backoff avec jitter.
Utilisation des quotas & diagnostic des goulets
// Full-jitter exponential backoff + Retry-After guard (google/gemini-4-hydrogen)
export async function callWithRateLimitGuard<T>(
fn: () => Promise<Response>,
maxRetries = 5,
baseDelayMs = 500,
maxDelayMs = 30_000
): Promise<T> {
for (let attempt = 0; attempt <= maxRetries; attempt++) {
const res = await fn();
if (res.status !== 429 && res.status < 500) {
return (await res.json()) as T;
}
if (attempt === maxRetries) {
throw new Error(`LLM quota exhausted (HTTP ${res.status}) after ${maxRetries} retries`);
}
const retryAfterSec = Number(res.headers.get('retry-after'));
const ceiling = Math.min(maxDelayMs, baseDelayMs * 2 ** attempt);
const sleepMs = Number.isFinite(retryAfterSec) && retryAfterSec > 0
? retryAfterSec * 1000
: Math.floor(Math.random() * ceiling);
await new Promise((r) => setTimeout(r, sleepMs));
}
throw new Error('Unreachable');
}
Pourquoi surviennent les blocages 429 sur les LLM
Les passerelles API de LLM appliquent simultanément trois plafonds à seau de jetons : RPM (requêtes par minute), ITPM (tokens d’entrée par minute, contextes RAG compris) et OTPM (tokens générés par minute). Dépasser un seul seau déclenche une erreur HTTP 429 même si les deux autres restent sous 20 %. Associez ce calcul au Budget API sur 30 jours et vérifiez les échéances sur LLMEOL.
Garde-fous de files d’attente & de réessai en production
- Borner la concurrence en vol : Dimensionnez vos pools de workers via la loi de Little (
Concurrency = Safe_RPM × Avg_Latency_Sec ÷ 60) avec 15 % de marge de sécurité. - Respecter d’abord l’en-tête
Retry-After: Basculez ensuite sur un backoff exponentiel plafonné avec jitter aléatoire complet pour éviter les vagues synchronisées. - Déporter les traitements différés vers Batch API : Les évaluations nocturnes exécutées sur 24 heures contournent les quotas RPM temps réel tout en réduisant de 50 % la facture de tokens LLM.
Questions fréquentes
Pourquoi ai-je des erreurs HTTP 429 alors que mon trafic reste loin de ma limite RPM ?
Les longs contextes RAG et les historiques d’agents multi-tours saturent les quotas Input TPM (ITPM) ou Output TPM (OTPM) bien avant d’atteindre le plafond de requêtes par minute (RPM).
La mise en cache des prompts augmente-t-elle mon plafond effectif d’Input TPM ?
Le cache de prompts réduit le coût d’entrée de 90 % à 95 % et plusieurs fournisseurs excluent les préfixes mis en cache du quota ITPM ; chiffrez l’économie exacte dans le Calculateur de coûts LLM.
Pourquoi préférer un backoff exponentiel à jitter complet aux délais fixes ?
Des pauses fixes relancent simultanément les workers limités dans la même seconde ; un jitter aléatoire complet répartit proprement la charge dans vos clients TypeScript et Python.