LlamaIndex est un framework de données permettant de développer des applications de grand modèle de langage (LLM) augmenté par le contexte. L'augmentation du contexte se produit lorsque vous appliquez un LLM à vos données. Cette mise en œuvre met en œuvre la génération augmentée de récupération (RAG).
Un LLM pose souvent problème lorsqu'il ne comprend pas les connaissances privées, c'est-à-dire les données de votre organisation. Avec LlamaIndex sur Vertex AI pour RAG, vous pouvez enrichir le contexte LLM avec des informations privées supplémentaires, car le modèle peut réduire les hallucinations et répondre aux questions plus précisément.
En combinant d'autres sources de connaissances avec les connaissances existantes dont disposent les LLM, il est possible d'obtenir un meilleur contexte. Le contexte amélioré et la requête améliorent la qualité de la réponse du LLM.
Les concepts suivants sont essentiels pour comprendre LlamaIndex sur Vertex AI. Ces concepts sont répertoriés dans l'ordre du processus de génération augmentée de récupération (RAG).
Ingestion de données : intégrez des données provenant de différentes sources. Par exemple, les fichiers locaux, Cloud Storage et Google Drive.
Transformation des données : conversion des données en préparation pour l'indexation. Par exemple, les données sont divisées en fragments.
Embedding (ou "plongement") : représentations numériques de mots ou de textes. Ces chiffres capturent la signification sémantique et le contexte du texte. Les mots ou textes similaires ou connexes ont tendance à avoir des représentations vectorielles continues similaires, ce qui signifie qu'ils sont plus proches les uns des autres dans l'espace vectoriel de grande dimension.
Indexation des données : LlamaIndex sur Vertex AI pour RAG crée un index appelé corpus. L'index structure la base de connaissances afin qu'il soit optimisé pour la recherche. Par exemple, l'index s'apparente à une table des matières détaillée pour un immense livre de référence.
Récupération . Lorsqu'un utilisateur pose une question ou fournit une requête, le composant de récupération de LlamaIndex sur Vertex AI pour RAG effectue une recherche dans sa base de connaissances afin de trouver des informations pertinentes pour la requête.
Génération : les informations récupérées deviennent le contexte ajouté à la requête utilisateur d'origine. Elles servent de guide au modèle d'IA générative pour générer des réponses fondées et pertinentes.
Cette page vous aide à utiliser LlamaIndex sur Vertex AI pour RAG et fournit des exemples Python pour montrer comment utiliser l'API RAG.
Pour en savoir plus sur les limites de taille des fichiers, consultez la section Types de documents acceptés. Pour en savoir plus sur les quotas liés à LlamaIndex sur Vertex AI pour RAG, consultez la section LlamaIndex sur Vertex AI pour les quotas RAG. Pour en savoir plus sur la personnalisation des paramètres, consultez la section Paramètres de récupération.
Exécuter LlamaIndex sur Vertex AI pour RAG à l'aide du SDK Vertex AI
Pour utiliser LlamaIndex sur Vertex AI pour le RAG, procédez comme suit :
Exécutez cette commande dans la console Google Cloud pour configurer votre projet.
gcloud config set {project}
Exécutez cette commande pour autoriser votre connexion.
gcloud auth application-default login
Copiez et collez cet exemple de code dans la console Google Cloud pour exécuter LlamaIndex sur Vertex AI.
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.
Modèles de génération compatibles
Les modèles suivants et leurs versions compatibles avec LlamaIndex sur Vertex AI incluent :
Modèle | Version |
---|---|
Gemini 1.5 Flash | gemini-1.5-flash-001 |
Gemini 1.5 Pro | gemini-1.5-pro-001 |
Gemini 1.0 Pro | gemini-1.0-pro-001 gemini-1.0-pro-002 |
Gemini 1.0 Pro Vision | gemini-1.0-pro-vision-001 |
Gemini | gemini-experimental |
Modèles d'embedding compatibles
Les versions de modèles suivantes sont compatibles avec les modèles Google :
textembedding-gecko@003
textembedding-gecko-multilingual@001
text-embedding-004
text-multilingual-embedding-002
Les versions de modèles suivantes sont compatibles avec les modèles Google finement ajustés :
textembedding-gecko@003
textembedding-gecko-multilingual@001
text-embedding-004
text-multilingual-embedding-002
textembedding-gecko@002
textembedding-gecko@001
Si la configuration n'est pas spécifiée, le comportement par défaut consiste à utiliser text-embedding-004
pour le choix de l'intégration sur RagCorpus
. Pour en savoir plus sur le réglage des modèles d'embeddings, consultez Régler les embeddings de texte.
Types de documents acceptés
Les documents en texte uniquement sont acceptés. Ils incluent les types de fichiers suivants, avec leurs limites de taille :
File type | Taille de fichier maximale |
---|---|
Documents Google | 10 Mo lorsqu'il est exporté depuis Google Workspace |
dessins Google | 10 Mo lorsqu'il est exporté depuis Google Workspace |
Google Slides | 10 Mo lorsqu'il est exporté depuis Google Workspace |
Fichier HTML | 10 Mo |
Fichier JSON | 1 Mo |
Fichier Markdown | 10 Mo |
Diapositives Microsoft PowerPoint (fichier PPTX) | 10 Mo |
Documents Microsoft Word (fichier DOCX) | 10 Mo |
Fichier PDF | 50 Mo |
Fichier texte | 10 Mo |
L'utilisation de LlamaIndex sur Vertex AI pour RAG avec d'autres types de documents est possible, mais peut générer des réponses de qualité inférieure.
Sources de données prises en charge
Trois types de sources de données sont acceptés, parmi lesquels :
Importation d'un seul fichier à l'aide de
upload_file
(jusqu'à 25 Mo), qui est un appel synchrone.Importer un ou plusieurs fichiers depuis Cloud Storage.
Importer un répertoire depuis Google Drive.
Le compte de service doit disposer des autorisations appropriées pour importer des fichiers. Sinon, aucun fichier n'est importé et aucun message d'erreur ne s'affiche. Pour en savoir plus sur les limites de taille des fichiers, consultez la page Types de documents compatibles.
Pour vous authentifier et accorder des autorisations, procédez comme suit :
- Accédez à la page IAM de votre projet Google Cloud.
- Sélectionnez Inclure l'attribution de rôle fournie par Google.
- Recherchez le compte de service Vertex AI RAG Data Service Agent.
- Cliquez sur Partager dans le dossier du Drive et partagez le contenu avec le compte de service.
- Accordez l'autorisation
Viewer
au compte de service sur votre dossier ou fichier Google Drive. L'ID de la ressource Google Drive se trouve dans l'URL Web.
Pour en savoir plus, consultez la documentation de référence de l'API RAG.
Transformations de données compatibles
Une fois qu'un document est ingéré, LlamaIndex sur Vertex AI pour RAG exécute un ensemble de transformations pour une meilleure qualité, et les développeurs peuvent contrôler certains paramètres pour leurs cas d'utilisation.
Ces paramètres incluent les suivants :
Paramètres | Description |
---|---|
chunk_size |
Lorsque des documents sont ingérés dans un index, ils sont divisés en fragments. Le paramètre chunk_size (en jetons) spécifie la taille du fragment. La taille des fragments par défaut est de 1 024 jetons. |
chunk_overlap |
Par défaut, les documents sont divisés en segments qui se chevauchent partiellement pour améliorer la pertinence et la qualité de la récupération. Le chevauchement de fragments par défaut est de 200 jetons. |
Une taille de fragment plus petite signifie que les représentations vectorielles continues sont plus précises. Une taille de fragment plus importante signifie que les représentations vectorielles continues peuvent être plus générales, mais peuvent passer à côté de détails spécifiques.
Par exemple, si vous convertissez 200 mots au lieu de 1 000 mots en un tableau de représentations vectorielles continues de la même dimension, vous pouvez perdre des détails. C'est également un bon exemple de prise en compte de la limite de longueur du contexte de modèle. Un grand fragment peut ne pas tenir dans un modèle à petite fenêtre.
Paramètres de récupération
Le tableau suivant inclut les paramètres de récupération :
Paramètres | Description |
---|---|
similarity_top_k |
Contrôle le nombre maximal de contextes récupérés. |
vector_distance_threshold |
Seuls les contextes dont la distance est inférieure au seuil sont pris en compte. |
Gestion des index
Un corpus est un ensemble de documents ou une source d'informations. Cette collection est également appelée index. L'index peut ensuite être interrogé pour récupérer les contextes pertinents pour la génération de LLM. Lorsque vous créez un index pour la première fois, le processus peut prendre une minute supplémentaire. Si vous créez davantage d'index au sein du même projet Google Cloud, le processus prend moins de temps.
Les opérations d'index suivantes sont acceptées :
- Créer un corpus : crée un index pour importer ou mettre en ligne des documents.
- Supprimer un corpus : supprime l'index.
- Récupérer les détails d'un corpus : récupère les métadonnées décrivant l'index.
- Répertorier les corpus d'un projet donné : permet de répertorier plusieurs index dans un projet donné.
Les opérations simultanées sur les corpus ne sont pas prises en charge. Pour en savoir plus, consultez la documentation de référence de l'API RAG.
Gestion de fichiers
Les opérations de fichiers suivantes sont acceptées :
- Importer un fichier depuis le stockage local dans un corpus : met en ligne un fichier contenant des informations supplémentaires qui fournissent du contexte au LLM pour générer des réponses plus précises.
- Ingérer des fichiers à partir d'un autre espace de stockage dans un corpus : importe un ensemble de fichiers à partir d'un emplacement de stockage.
- Récupérer les détails d'un fichier : récupère les contextes pertinents pour une requête donnée à partir d'un index ou de fichiers spécifiés dans l'index.
- Liste des fichiers d'un corpus : génère une liste des fichiers de l'index.
- Supprimer un fichier d'un corpus : supprime un fichier de l'index.
Pour en savoir plus, consultez la documentation de référence de l'API RAG.
Étapes suivantes
- En savoir plus sur l'IA générative sur Vertex AI.
- Apprenez-en plus sur l'ancrage et son lien avec LlamaIndex sur Vertex AI pour le RAG.
- Apprenez-en plus sur l'API Retrieval-Augmented Generation.
- Apprenez-en plus sur l'architecture RAG. Consultez Infrastructure pour une application d'IA générative compatible avec RAG à l'aide de Vertex AI