Curso

Traiter des milliers de documents : IA en lot

Classer des milliers d'avis clients avec Gemini sans exploser quotas ni budget : concurrence bornée, réessais exponentiels, reprise après incident, Batch API et Vertex AI batch prediction, suivi des coûts et contrôle qualité.

Intermedio 9 lecciones 5h
Empezar el curso
Progreso 0% · 0/9

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

Appeler Gemini sur un document, c'est une ligne de code. Sur 10 000 documents, tout change : les quotas renvoient des erreurs 429, une coupure réseau à 80 % fait tout perdre si l'on n'a rien sauvegardé, les coûts deviennent visibles, et personne ne peut relire 10 000 réponses pour vérifier la qualité.

Fil rouge : une boutique en ligne veut classer ses avis clients (sentiment, catégorie, faut-il recontacter le client ?). Le lab génère 200 avis fictifs, les classe en parallèle maîtrisé, est interrompu en plein travail puis reprend sans refaire ce qui est fait, et produit un rapport CSV avec statistiques, coût et contrôle qualité. Le même classement est ensuite lancé en mode lot asynchrone, sur l'API Gemini et sur Vertex AI. Tout a été exécuté pour de vrai le 2026-10-15.

Pour qui ?

  • Développeurs ou data analysts Python qui ont déjà appelé l'API Gemini.
  • Aucune connaissance préalable d'asyncio n'est nécessaire : la leçon 1.1 l'explique.
  • Pour le module 3, partie Vertex AI : un projet Google Cloud (facultatif).

Ce que l'on construit

flowchart LR
  G["generer_avis.py : 200 avis fictifs"] --> A["avis.csv"]
  A --> C["classer.py : lots de 10, sémaphore, débit, réessais"]
  C -->|"une ligne par lot terminé"| J["resultats.jsonl (point de reprise)"]
  J -->|"relance après incident"| C
  A --> B["batch_api.py : Batch API Gemini ou Vertex AI"]
  B --> J2["resultats_batch.jsonl"]
  J --> R["rapport.py"]
  J2 --> R
  R --> O["rapport.csv, statistiques, coût, échantillon à relire"]

Objectifs

À la fin, vous saurez :

  1. lancer des centaines d'appels en parallèle borné avec asyncio et un sémaphore, sous un plafond de débit ;
  2. réessayer les erreurs temporaires avec une attente exponentielle et aléatoire ;
  3. rendre un traitement idempotent et reprenable grâce à un point de reprise (checkpoint) ;
  4. regrouper plusieurs documents par requête et valider chaque réponse ;
  5. utiliser la Batch API de Gemini (fichier JSONL) et la prédiction par lot de Vertex AI, et savoir quand les préférer ;
  6. mesurer le coût à partir des jetons et contrôler la qualité par échantillonnage.

Programme

ModuleLeçonsDurée indicative
1. Passer à l'échelleConcurrence maîtrisée avec asyncio ; limites de débit et réessais1h15
2. RobustesseIdempotence et reprise ; lots et validation des réponses1h15
3. Le mode lot des fournisseursBatch API de Gemini ; Vertex AI batch prediction1h
4. Mesurer et livrerCoûts ; contrôle qualité ; projet final avec reprise sur incident1h30

En local ou sur Google Cloud ?

En local (clé d'API)Sur Google Cloud (Vertex AI)
Traitement synchrone parallèleclasser.py avec GOOGLE_API_KEYclasser.py avec GOOGLE_GENAI_USE_VERTEXAI=TRUE
Mode lot asynchronebatch_api.py gemini (fichier JSONL envoyé à l'API)batch_api.py vertex (fichier JSONL dans Cloud Storage)
Identitéla clévos identifiants ADC, aucune clé
À nettoyerle job de lotle bucket et le job de lot

Les fichiers du lab

FichierRôle
generer_avis.pygénère les 200 avis fictifs (reproductible, avec réponses attendues)
avis.csvles avis générés
classer.pyle traitement parallèle, robuste et reprenable
batch_api.pyBatch API Gemini et Vertex AI batch prediction
rapport.pyrapport CSV, statistiques, coût, échantillon de contrôle
rapport.csvle rapport produit le 2026-10-15
test_lot.py9 tests sans clé : réessais, reprise, concurrence, rapport, format JSONL
.env.example, requirements.txtconfiguration et dépendances

Recursos

Descargar todo (.zip)

Referencias