Cette page explique comment utiliser l'analyseur LLM du moteur RAG de Vertex AI.
Introduction
Le moteur RAG de Vertex AI 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 de Vertex AI 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 de Vertex AI :
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 Vertex AI.
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 la requête. 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) requête personnalisée configurée 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 Vertex AI par minute. Pour en savoir plus, consultez la page Limites de débit de l'IA générative sur Vertex AI 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 Vertex AI pour Python, consultez la section Installer le SDK Vertex AI 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 Vertex AI 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
L'analyseur LLM du moteur RAG de Vertex AI utilise une requête prédéfinie et ajustée pour analyser les documents. Toutefois, si vous disposez de documents spécialisés qui ne conviennent pas à une requête générale, vous pouvez spécifier votre requête d'analyse personnalisée lorsque vous utilisez l'API. Lorsque vous demandez à Gemini d'analyser vos documents, le moteur RAG de Vertex AI ajoute une requête à votre requête 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 requêtes que le moteur RAG de Vertex AI 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 déclarations factuelles , des données clés ou des détails spécifiques] à partir de [spécifiez la source du document , par exemple, un document, du 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 texte] et créez un lien vers son [spécifiez l’emplacement 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 ne voulez pas que le LLM fasse. | [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 requête à 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 présente les résultats de scénarios exécutés par les clients à l'aide du moteur RAG de Vertex AI. 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 lié les titres des sections 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 mis en relation 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 | L'analyseur LLM, guidé par la requête, 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 particulière. | |
| 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'une requête d'analyseur LLM bien conçue 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
Une fois que vous avez saisi une requête envoyée à 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 obtenir un exemple de récupération de fichiers RAG à partir d'un corpus en fonction d'un texte de requête, consultez la section Requête de récupération.
Étape suivante
- Pour en savoir plus sur le moteur RAG de Vertex AI, consultez la présentation du moteur RAG de Vertex AI.
- Pour en savoir plus sur le moteur RAG de Vertex AI, consultez l'API du moteur RAG de Vertex AI.