Lesson 1 — Rag engine sync

01. Kit RAG Google Drive — RAG Engine + synchro automatique

3 min read

This content is not translated yet. Showing the original version.

Le but : vous donnez un dossier Google Drive (ou glissez des fichiers), vous obtenez un assistant qui répond à partir de ces documents, avec les sources, et qui reste à jour tout seul (ajouts, modifications, suppressions). Tout est managé sur Google Cloud, déployable en une commande.

 Dossier Drive ─┐                       ┌───────────────────────────────┐
 Glisser-déposer┼─► synchro (10 min) ─► │ Vertex AI RAG Engine (corpus) │ ◄─ agent ADK (Gemini) ◄─ vous
                │   + bouton            └───────────────────────────────┘     interface web privée

Testé en vrai le 14/10/2026 sur main-project-511608 (compte Gmail, sans organisation, sans Workspace) : déploiement Terraform et shell, synchro Drive (sous-dossiers), dépôt, modification, suppression, chat cité, relance sans changement, suppression. Test automatique : scripts/test_e2e.py.

Démarrage en 5 commandes

Raccourci : ./ragkit status, ./ragkit deploy, ./ragkit ouvrir (docs/11).

cd gcp_rag/01-rag-engine-sync
cp config/test.env config/moi.env && nano config/moi.env           # PROJECT_ID, USERS, DRIVE_FOLDERS
gcloud services enable cloudresourcemanager.googleapis.com --project=<PROJET>
source scripts/config.sh config/moi.env                            # affiche les 2 adresses de partage Drive
(cd terraform && terraform init && terraform apply)                # ≈ 4 min
bash scripts/ouvrir_interface.sh                                   # http://localhost:8080

Puis, au choix : Se connecter avec Google (après l'étape console de 04-bis) et choisir « Tout mon Drive » ou des dossiers ; ou partager un dossier avec les 2 adresses affichées (04). Posez vos questions.

Les tutos

#DocumentPour
00SpécificationExigences, architecture, choix, faits vérifiés
01Comprendre et choisirLe RAG, le marché (Gemini Enterprise, RAG Engine, SaaS), les 3 approches
02PrérequisPoste, compte, projet, région
03-1Déployer : shellgcloud seul, sans Terraform
03-2Déployer : TerraformRecommandé
03-3Déployer : consoleÀ la souris + Cloud Shell
04Connecter Drive : dossier partagéSans connexion : partage avec 2 adresses
04-bisConnexion Google« Se connecter avec Google », tout mon Drive ou des dossiers, synchro auto (push)
05Utiliser l'interfaceÉcran, questions, messages, mode local
06Synchro et exploitationAlgorithme, fréquence, surveillance, limites
07Droits (IAM)Matrice complète, variantes, IAP
08CoûtsCoût fixe RagManagedDb, coûts à l'usage, exemple
09DépannageToutes les erreurs rencontrées, avec leur solution
10Tout supprimerDestroy, arrêt du coût fixe, partages
11CLI ragkitActiver/désactiver les briques, déployer, synchro, journaux, tests

Le code

FichierRôle
app/kit.pySources (config dans le bucket), listing Drive, synchro, recherche avec reranking
app/gdrive.pyComptes Google connectés (OAuth), miroir GCS, API changes, canaux push
app/hook.pyService public des notifications push Drive
app/sync_job.pyLe job Cloud Run : une passe de synchro
app/agents/assistant_documents/agent.pyL'agent ADK : répond uniquement avec les documents, cite ses sources
app/main.pyServeur : API ADK (/run_sse…) + /api/* (sources, dépôt, documents, synchro) + page
app/static/index.htmlL'interface (une page, sans framework ni build)
terraform/Toute l'infrastructure
scripts/config.sh, deployer_shell.sh, supprimer_shell.sh, ouvrir_interface.sh, connexion_google.sh, test_e2e.py
tests/test_sync.pyTests de la logique de synchro (sans réseau) : pytest -q tests/

Versions testées : google-adk 2.10.0, google-cloud-aiplatform 1.165.1 (imposé par ADK), Terraform 1.16, provider hashicorp/google 8.7, gcloud 587, modèle gemini-2.5-flash (europe-west4, option gemini-3.5-flash sur global), embeddings text-multilingual-embedding-002.

Voir aussi : 02 Gemini Enterprise natif (droits par utilisateur), 03 hybride (ce kit + une app Gemini Enterprise), 04 local (sans GCP, avec Claude).

Next