Cette page explique comment utiliser le moteur RAG sur l'analyseur LLM de Gemini Enterprise Agent Platform.
Introduction
Le moteur RAG utilise des LLM pour analyser les documents. Les LLM peuvent traiter efficacement les documents de différentes manières :
- Comprendre et interpréter le contenu sémantique dans différents formats
- Récupérer des fragments de documents pertinents
- Extraire des informations utiles des documents
- Identifier les sections pertinentes des documents
- Résumer avec précision des documents complexes
- Comprendre les éléments visuels et interagir avec eux
- Extraire des données de graphiques et de diagrammes
- Décrire des images
- Comprendre les relations entre les graphiques et le texte
- Fournir des réponses plus précises et plus riches en contexte
Les fonctionnalités du moteur RAG améliorent considérablement la qualité des réponses générées.
Modèles compatibles
Les modèles suivants sont compatibles avec l'analyseur LLM du moteur RAG :
Types de fichiers compatibles
L'analyseur LLM est compatible avec les types de fichiers suivants :
application/pdfimage/pngimage/jpegimage/webpimage/heicimage/heif
Tarifs et quotas
Pour en savoir plus sur les tarifs, consultez la page Tarifs de Gemini Enterprise Agent Platform.
Pour connaître les quotas applicables, consultez la page Quotas de débit.
L'analyseur LLM appelle les modèles Gemini pour analyser vos documents. Cela entraîne des coûts supplémentaires, qui sont facturés à votre projet. Vous pouvez estimer approximativement le coût à l'aide de la formule suivante :
cost = number_of_document_files * average_pages_per_document * (average_input_tokens * input_token_pricing_of_selected_model + average_output_tokens * output_token_pricing_of_selected_model)
Par exemple, vous disposez de 1 000 fichiers PDF, chacun contenant 50 pages. La page PDF moyenne comporte 500 jetons, et nous avons besoin de 100 jetons supplémentaires pour le prompt. La sortie moyenne est de 100 jetons.
Gemini 2.0 Flash-Lite est utilisé dans votre configuration pour l'analyse. Il coûte 0,075 $ pour 1 million de jetons d'entrée et 0,3 $ pour les jetons de texte de sortie.
cost = 1,000 * 50 * (600 * 0.075 / 1M + 100 * 0.3 / 1M) = 3.75
Le coût est de 3,75 $.
Importer des fichiers avec LlmParser activé
Remplacez les valeurs des variables suivantes utilisées dans les exemples de code :
PROJECT_ID: ID de votre Google Cloud projet.
LOCATION: région dans laquelle votre requête est traitée.
RAG_CORPUS_RESOURCE: ID de votre corpus.
GCS_URI : URI Cloud Storage des fichiers que vous souhaitez importer.
GOOGLE_DRIVE_URI : URI Google Drive des fichiers que vous souhaitez importer.
MODEL_NAME : nom de ressource du modèle utilisé pour l'analyse.
Format:
projects/{project_id}/locations/{location}/publishers/google/models/{model_id}CUSTOM_PARSING_PROMPT : (facultatif) prompt personnalisé configuré par le client pour que l'analyseur LLM l'utilise pour analyser les documents.
MAX_PARSING_REQUESTS_PER_MIN : (facultatif) nombre maximal de requêtes que la tâche peut envoyer au modèle Agent Platform par minute. Pour en savoir plus, consultez la page Limites de débit de l'IA générative sur Agent Platform et la page Quotas et limites du système pour votre projet afin de définir une valeur appropriée.
REST
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_RESOURCE/ragFiles:import" -d '{
"import_rag_files_config": {
"gcs_source": {
"uris": ["GCS_URI", "GOOGLE_DRIVE_URI"]
},
"rag_file_chunking_config": {
"chunk_size": 512,
"chunk_overlap": 102
},
"rag_file_parsing_config": {
"llm_parser": {
"model_name": "MODEL_NAME",
"custom_parsing_prompt": "CUSTOM_PARSING_PROMPT"
"max_parsing_requests_per_min": "MAX_PARSING_REQUESTS_PER_MIN"
}
}
}
}'
Python
Pour savoir comment installer ou mettre à jour le SDK Agent Platform pour Python, consultez la page Installer le SDK Agent Platform pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
CORPUS_NAME = "RAG_CORPUS_RESOURCE"
LOCATION = "LOCATION"
MODEL_ID = "MODEL_ID"
MODEL_NAME = "projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}"
MAX_PARSING_REQUESTS_PER_MIN = MAX_PARSING_REQUESTS_PER_MIN # Optional
CUSTOM_PARSING_PROMPT = "Your custom prompt" # Optional
PATHS = ["https://drive.google.com/file/123", "gs://my_bucket/my_files_dir"]
# Initialize Agent Platform API once per session
vertexai.init(project={PROJECT_ID}, location={LOCATION})
transformation_config = rag.TransformationConfig(
chunking_config=rag.ChunkingConfig(
chunk_size=1024, # Optional
chunk_overlap=200, # Optional
),
)
llm_parser_config = rag.LlmParserConfig(
model_name = MODEL_NAME,
max_parsing_requests_per_min=MAX_PARSING_REQUESTS_PER_MIN, # Optional
custom_parsing_prompt=CUSTOM_PARSING_PROMPT, # Optional
)
rag.import_files(
CORPUS_NAME,
PATHS,
llm_parser=llm_parser_config,
transformation_config=transformation_config,
)
Rédaction de prompts
Le moteur RAG sur l'analyseur LLM de Gemini Enterprise Agent Platform utilise un prompt prédéfini et ajusté pour analyser les documents. Toutefois, si vous disposez de documents spécialisés qui ne conviennent pas à un prompt général, vous pouvez spécifier votre prompt d'analyse personnalisé lorsque vous utilisez l'API. Lorsque vous demandez à Gemini d'analyser vos documents, le moteur RAG ajoute un prompt à votre prompt système par défaut.
Tableau des modèles de prompts
Pour vous aider à analyser les documents, le tableau suivant fournit un exemple de modèle de prompt pour vous guider dans la création de prompts que le moteur RAG peut utiliser pour analyser vos documents :
| Instruction | Énoncé du modèle | Exemple |
|---|---|---|
| Spécifiez le rôle. | Vous êtes un/une [spécifiez le rôle, par exemple, un extracteur de données factuelles ou un récupérateur d'informations]. | Vous êtes un récupérateur d'informations. |
| Spécifiez la tâche. | Extrayez [spécifiez le type d'informations, par exemple, des énoncés factuels , des données clés ou des détails spécifiques] à partir de [spécifiez la source du document , par exemple, un document, un texte, un article, une image, un tableau]. | Extrayez les données clés du fichier sample.txt. |
| Expliquez comment vous souhaitez que le LLM génère la sortie en fonction de vos documents. | Présentez chaque fait dans un [spécifiez le format de sortie, par exemple, une liste structurée ou un format de texte] et créez un lien vers son [spécifiez l'emplacement de la source, par exemple, une page, un paragraphe, un tableau ou une ligne]. | Présentez chaque fait dans une liste structurée et créez un lien vers sa page d'exemple. |
| Mettez en évidence ce sur quoi le LLM doit se concentrer. | Extrayez [spécifiez les types de données clés, tels que les noms, les dates, les nombres, les attributs ou les relations] exactement comme indiqué. | Extrayez les noms et les dates. |
| Mettez en évidence ce que vous souhaitez que le LLM évite. | [Répertoriez les actions à éviter, telles que l'analyse, l'interprétation, le résumé, l'inférence ou la formulation d'opinions]. Extrayez uniquement ce que le document indique explicitement. | Ne formulez pas d'opinions. Extrayez uniquement ce que le document indique explicitement. |
Conseils généraux
Suivez ces consignes pour rédiger votre prompt à envoyer à l'analyseur LLM.
- Spécifique : définissez clairement la tâche et le type d'informations à extraire.
- Détaillé : fournissez des instructions détaillées sur le format de sortie, l'attribution de la source et la gestion des différentes structures de données.
- Contraignant : indiquez explicitement ce que l'IA ne doit pas faire, comme l'analyse ou l'interprétation.
- Clair : utilisez un langage clair et directif.
- Structuré : organisez les instructions de manière logique à l'aide de listes numérotées ou de puces pour faciliter la lecture.
Analyse de la qualité de l'analyse
Ce tableau répertorie les résultats de scénarios exécutés par les clients à l'aide du moteur RAG sur Gemini Enterprise Agent Platform. Les commentaires montrent que l'analyseur LLM améliore la qualité de l'analyse des documents.
| Scénario | Résultat | |
|---|---|---|
| Analyse des informations sur les diapositives et création de liens entre les sections | L'analyseur LLM a correctement associé les titres de section d'une diapositive aux informations détaillées présentées sur les diapositives suivantes. | |
| Compréhension et extraction d'informations à partir de tableaux | L'analyseur LLM a correctement associé les colonnes et les en-têtes d'un grand tableau pour répondre à des questions spécifiques. | |
| Interprétation des organigrammes | L'analyseur LLM a pu suivre la logique d'un organigramme et extraire la séquence d'actions correcte ainsi que les informations correspondantes. | |
| Extraction de données à partir de graphiques | L'analyseur LLM a pu interpréter différents types de graphiques, tels que des graphiques linéaires, et extraire des points de données spécifiques en fonction de la requête. | |
| Capture des relations entre les titres et le texte | Guidé par le prompt, l'analyseur LLM a prêté attention aux structures des titres et a pu récupérer toutes les informations pertinentes associées à un sujet ou à une section spécifique. | |
| Possibilité de surmonter les limites d'intégration grâce au prompt engineering | Bien qu'initialement entravées par les limites du modèle d'intégration dans certains cas d'utilisation , des expériences supplémentaires ont démontré qu'un prompt d'analyseur LLM bien conçu pouvait potentiellement atténuer ces problèmes et récupérer les informations correctes , même lorsque la compréhension sémantique est difficile pour le modèle d'intégration seul. |
L'analyseur LLM améliore la capacité du LLM à comprendre le contexte d'un document et à raisonner à son sujet, ce qui permet d'obtenir des réponses plus précises et complètes.
Requête de récupération
Après avoir saisi un prompt envoyé à un modèle d'IA générative, le composant de récupération de RAG effectue une recherche dans sa base de connaissances afin de trouver des informations pertinentes pour la requête. Pour en savoir plus sur la récupération de fichiers RAG à partir d'un corpus, consultez la page Méthode : ragFiles.get.
Étape suivante
Pour en savoir plus sur le moteur RAG sur Gemini Enterprise Agent Platform, consultez la présentation du moteur RAG sur Gemini Enterprise Agent Platform.
Pour en savoir plus sur le moteur RAG sur Gemini Enterprise Agent Platform, consultez les pages suivantes :