Lección 8 — Du prototype au code

Limites, quotas et bonnes pratiques

5 min de lectura

Este contenido aún no está traducido. Se muestra la versión original.

Limites, quotas et bonnes pratiques

Les quotas : combien, à quelle vitesse

Chaque clé est soumise à des limites de débit (rate limits), qui dépendent du modèle et de votre niveau (gratuit ou payant) :

SigleSignificationExemple de dépassement
RPMrequêtes par minutelancer 200 fiches en parallèle
TPMtokens par minute (entrée)envoyer de gros documents d'affilée
RPDrequêtes par jourtraiter tout le catalogue d'un coup sur le niveau gratuit

Les valeurs exactes changent régulièrement : consultez la page Rate limits et l'onglet d'utilisation d'AI Studio plutôt qu'un chiffre recopié dans un cours.

flowchart TD
  R["Requête"] --> Q{"Quota disponible ?"}
  Q -->|"oui"| OK["200 : réponse"]
  Q -->|"non"| E["429 RESOURCE_EXHAUSTED"]
  E --> W["Attendre (5 s, 10 s, 20 s...)"] --> R
  W -->|"après N essais"| F["Abandon : erreur visible"]

Les erreurs à connaître

CodeSignificationQue faire
400 INVALID_ARGUMENTrequête mal formée, ou clé invalidecorriger ; ne pas réessayer
403 PERMISSION_DENIEDclé sans droit sur ce servicevérifier la clé et son projet
404 NOT_FOUNDnom de modèle inconnuvérifier MODEL
429 RESOURCE_EXHAUSTEDquota dépasséattendre puis réessayer
500 / 503incident ou surcharge côté serveurattendre puis réessayer

Le lab applique exactement cette règle : il réessaie sur 429, 500 et 503 avec une attente exponentielle (qui double à chaque essai), et abandonne immédiatement sur les autres codes. Ces deux cas sont vérifiés sans clé par test_reessaie_sur_429 et test_ne_reessaie_pas_sur_400 dans test_fiche_produit.py.

Coût et confidentialité

  • Coût : au niveau payant, on paie les tokens d'entrée et de sortie, et les tokens de pensée sont facturés comme de la sortie. Les prix par million de tokens sont sur la page Tarifs. Pour estimer un lot, multipliez la consommation d'une fiche (lisible dans response.usage_metadata) par le nombre de produits.
  • Confidentialité : les conditions d'utilisation diffèrent entre niveau gratuit et niveau payant, notamment sur l'usage des contenus envoyés pour améliorer les produits de Google. Lisez-les avant d'envoyer des données internes ; n'envoyez jamais de données personnelles de clients dans un prototype.

Votre script reçoit 400 INVALID_ARGUMENT « API key not valid ». Que doit-il faire ?

Quelles erreurs justifient un nouvel essai après une attente ?

Résultat obtenu

Deux erreurs provoquées volontairement le 2026-10-15, pour reconnaître leur message (extraits) :

clé invalide
400 INVALID_ARGUMENT. {'error': {'code': 400, 'message': 'API key not valid. Please pass a valid API key.',
'status': 'INVALID_ARGUMENT', 'details': [{... 'reason': 'API_KEY_INVALID' ...}]}}
modèle inconnu
404 NOT_FOUND. {'error': {'code': 404, 'message': 'models/gemini-modele-inexistant is not found for API
version v1beta, or is not supported for generateContent. Call ModelService.ListModels to see the list of
available models and their supported methods.', 'status': 'NOT_FOUND'}}

Et la consommation d'un appel simple (un slogan, leçon 1) : prompt=18 out=17 thoughts=907. Sur ce modèle, la pensée domine largement le coût des petites tâches.

Exercice

Vous devez générer 2 000 fiches cette nuit sur une clé dont le quota est, par exemple, de 60 requêtes par minute. Combien de temps faut-il au minimum, et comment organiser le script ?

Voir la solution

2 000 requêtes à 60 par minute : au moins 34 minutes environ (2 000 / 60 ≈ 33,3). Organisation :

  • traiter les produits un par un (ou par petits lots), avec une pause d'environ 1 seconde entre deux appels ;
  • garder les réessais sur 429 / 5xx, au cas où d'autres programmes partagent la clé ;
  • écrire chaque fiche dès qu'elle est prête (une ligne par fiche dans un fichier), pour pouvoir reprendre là où l'on s'est arrêté en cas d'abandon.

Le chiffre de 60 n'est qu'un exemple : lisez votre vrai quota dans AI Studio.

Je sais faire

  • Expliquer RPM, TPM et RPD
  • Reconnaître les codes 400, 404, 429 et 503 et savoir lesquels réessayer
  • Estimer le coût d'un lot à partir de usage_metadata
  • Vérifier les conditions d'utilisation avant d'envoyer des données réelles
Siguiente