Guide de mise en place d'une démonstration avec RAG Engine sur Gemini Enterprise Agent Platform.

Documentation interne décrivant la mise en place d'une preuve de concept (PoC) simple utilisant RAG Engine avec Vertex AI et Gemini Enterprise Agent Platform.

Cette démonstration utilise des documents d'exemple stockés dans le bucket Rag-demo. L'objectif est de valider l'ingestion des documents, la création du corpus et les mécanismes de recherche avant l'intégration de la solution dans le backend principal basé sur NestJS.

Guide de mise en place d'une démonstration avec RAG Engine sur Gemini Enterprise Agent Platform.

Configuration d'une démonstration avec RAG Engine sur Gemini Enterprise Agent Platform

Ce document décrit les étapes nécessaires pour mettre en place une démonstration simple de RAG à l'aide de Vertex AI et de Gemini Enterprise Agent Platform. L'objectif est de valider l'ensemble du processus d'ingestion et de recherche documentaire avant l'intégration dans les services backend.

Pour une présentation plus détaillée des concepts, des architectures prises en charge et des options d'implémentation de RAG Engine, consultez la documentation officielle de Google : Présentation de RAG Engine sur Gemini Enterprise Agent Platform .

Prérequis

  • Google Cloud SDK installé
  • Accès à un projet Google Cloud
  • Python 3.10 ou version ultérieure
  • Autorisations Vertex AI activées

1. Authentification à Google Cloud

Connectez-vous à l'aide des identifiants d'application par défaut :

gcloud auth application-default login

Vérifiez le projet actif :

gcloud config get-value project

La commande doit retourner l'identifiant du projet cible.


2. Activer les services requis

gcloud services enable aiplatform.googleapis.com
gcloud services enable discoveryengine.googleapis.com

Vérifiez que Vertex AI est bien activé :

gcloud services list | grep aiplatform

3. Créer un bucket de stockage (Interface utilisateur)

Ouvrir Google Cloud Storage

Créez un bucket nommé :

Rag-demo

Sélectionnez la région adaptée à votre environnement.

Création du bucket

4. Importer les documents sources (Interface utilisateur)

Ouvrez le bucket Rag-demo et importez les documents qui seront utilisés pour la recherche. Les formats pris en charge incluent PDF, TXT, JSON et d'autres formats textuels.

Fichiers importés dans Cloud Storage

Vérification optionnelle :

gcloud storage ls gs://Rag-demo/

5. Créer un environnement Python

python3 -m venv .venv
source .venv/bin/activate

Installer les dépendances :

pip install google-cloud-aiplatform

6. Ouvrir Gemini Enterprise Agent Platform (Interface utilisateur)

Ouvrir Gemini Enterprise Agent Platform

Si nécessaire, activez les API requises avant de continuer.

Gemini Enterprise Agent Platform

7. Créer un corpus RAG

Créer le fichier create_rag.py :

import vertexai
from vertexai.preview import rag
from vertexai.preview.rag.utils.resources import (
    RagVectorDbConfig,
    RagManagedDb,
)

vertexai.init(
    project="YOUR_PROJECT_ID",
    location="YOUR_REGION",
)

corpus = rag.create_corpus(
    display_name="demo-rag",
    backend_config=RagVectorDbConfig(
        vector_db=RagManagedDb()
    ),
)

print(corpus.name)

Exécuter :

python3 create_rag.py

Conservez l'identifiant du corpus généré. Il sera nécessaire pour les étapes suivantes.

Création du corpus RAG

8. Importer les documents dans le corpus

Créer le fichier import_pdf.py :

import vertexai
from vertexai.preview import rag

vertexai.init(
    project="YOUR_PROJECT_ID",
    location="YOUR_REGION"
)

response = rag.import_files(
    corpus_name="YOUR_CORPUS_ID",
    paths=[
        "gs://Rag-demo/YOUR_DOCUMENT.pdf"
    ]
)

print(response)

Exécuter :

python3 import_pdf.py

Résultat attendu :

imported_rag_files_count: 1
Import terminé

9. Exécuter une requête de test

Créer le fichier query.py :

import vertexai
from vertexai.preview import rag

vertexai.init(
    project="YOUR_PROJECT_ID",
    location="YOUR_REGION"
)

response = rag.retrieval_query(
    rag_resources=[
        rag.RagResource(
            rag_corpus="YOUR_CORPUS_ID"
        )
    ],
    text="Summarize this document"
)

print(response)
Exemple de résultat de requête

Remarques

  • Les documents JSON et les fichiers texte offrent généralement une meilleure qualité de recherche que les feuilles de calcul volumineuses ou les PDF à plusieurs colonnes.
  • Si les données sources proviennent de fichiers Excel, il est fortement recommandé de les convertir en JSON structuré avant l'importation dans le moteur RAG.
  • Flux de travail recommandé :
Excel (.xlsx)
↓
Transformation en JSON
↓
Génération de documents texte propres
↓
Importation dans RAG Engine

Une structure JSON permet un découpage plus précis, de meilleurs embeddings et améliore significativement la qualité de la recherche par rapport à une importation directe de feuilles de calcul.


Étapes suivantes

  • Intégrer la logique de recherche dans les services backend.
  • Créer un point d'accès dédié /rag/ask.
  • Connecter les applications frontend au service RAG.
  • Mettre en place des pipelines de prétraitement pour la conversion Excel vers JSON.