Vous pouvez utiliser les types de magasins de vecteurs suivants pour indexer vos documents de mise à la terre :
- En mémoire
- Elasticsearch
- watsonx.data Milvus
Lorsque vous optez pour un magasin de vecteurs en mémoire, l'index est créé automatiquement pour vous ; vous n'avez pas besoin de configurer le magasin de vecteurs.
Pour connaître les facteurs à prendre en compte lors du choix d'un magasin vectoriel, voir Ajout de documents vectorisés pour les invites du foundation model.
Si vous choisissez d'utiliser un magasin de vecteurs tiers, vous devez établir une connexion avec le magasin de données avant de créer l'index vectoriel. Pour plus d'informations, voir la procédure appropriée pour le magasin de vecteurs que vous souhaitez utiliser :
- Mise en place d'un Elasticsearch vectoriel
- Mise en place d'un magasin de vecteurs Milvus watsonx.data
Procédure
Pour créer un index vectoriel pour vos documents de mise à la terre, suivez les étapes suivantes. L'ordre des étapes peut varier légèrement en fonction du magasin de vecteurs que vous choisissez d'utiliser.
Dans l'aperçu du projet, cliquez sur l'onglet Assets, puis choisissez Nouvel asset > Ground gen AI with vectorized documents.
Vous pouvez également commencer à partir du Prompt Lab en mode chat en cliquant sur l'icône Grounding with documents au début de la page, puis en cliquant sur Sélectionner ou créer un index vectoriel.
Choisissez le magasin de vecteurs que vous souhaitez utiliser.
Nommez l'actif de l'indice vectoriel.
Les documents de mise à la terre peuvent être ajoutés de l'une des manières suivantes :
- Ajouter des fichiers à partir d'une ressource de données associée à votre projet
- Parcourir pour télécharger des fichiers à partir de votre système de fichiers
Les options suivantes ne sont disponibles qu'auprès de magasins de vecteurs tiers :
Ajouter du contenu existant à partir d'un magasin vectoriel connecté
Sélectionnez la source de données connectée, choisissez une base de données le cas échéant, puis cliquez sur Suivant. Choisissez l'index ou la collection que vous souhaitez utiliser.
Ajouter un nouveau contenu à un index vectoriel connecté
Pour ajouter un nouveau contenu à un magasin vectoriel connecté, sélectionnez la source de données connectée, choisissez une base de données le cas échéant, puis cliquez sur Suivant. Cliquez sur Nouvel index ou Nouvelle collection, indiquez un nom, puis ajoutez des documents en téléchargeant des fichiers ou en vous connectant à une ressource de données.
Les types de fichiers pris en charge diffèrent selon le magasin de vecteurs. Pour plus d'informations, voir Types de fichiers de mise à la terre pris en charge.
Optionnel : le cas échéant, choisissez le modèle d'intégration ou les paramètres de vectorisation que vous souhaitez utiliser pour vectoriser vos documents.
Pour plus d'informations, voir Modèle d'incorporation et paramètres de vectorisation.
Pour les magasins de données connectés uniquement : Mettez en correspondance les champs de votre index ou collection existant avec les nouveaux champs qui seront définis dans la ressource d'index vectoriel dans watsonx.ai.
Ces mappages de champs sont importants car watsonx.ai a besoin d'une méthode cohérente pour extraire des données et capturer des détails sur les documents, tels que le nom du fichier original et le numéro de page, à partir de divers magasins vectoriels pris en charge.
Tableau 1. Champs du schéma du magasin vectoriel Nouveau nom du champ de l'index vectoriel Champ de la boutique vectorielle connectée Requête vectorielle Requis pour les index Elasticsearch uniquement. Champ dans lequel est spécifié le texte de la requête utilisé pour effectuer une recherche dans l'index Elasticsearch, tel que ml
ouvector
.Nom du document Champ qui identifie le fichier source. Vous pouvez choisir un champ qui capture le nom du fichier, comme metadata.source
, ou le titre du document, commemetadata.title
.Texte Champ qui contient l'essentiel du contenu de la page, tel que body
outext
.Numéro de page Champ identifiant le numéro de page, tel que metadata.page_number
.URL du document Champ contenant l'URL du document, tel que metadata.document_url
.Cliquez sur Créer.
Le texte du fichier est vectorisé et les vecteurs sont indexés et stockés dans un nouvel index vectoriel.
Lorsque vous ajoutez un nouveau contenu à un magasin de données tiers connecté, les choses suivantes se produisent :
- Une ressource notebook est générée et s'exécute dans une tâche pour vectoriser les documents et construire l'index ou la collection dans le magasin de données tiers.
- Un index vectoriel est créé dans watsonx.ai qui peut transmettre les requêtes soumises à l'index ou à la collection dans le magasin de données tiers et obtenir des résultats de recherche.
Après la création de l'index vectoriel, testez la capacité des documents vectorisés à répondre aux questions et procédez aux ajustements nécessaires. Voir Gestion d'un index vectoriel.
Modèle d'intégration et paramètres de vectorisation
Les paramètres suivants contrôlent la manière dont les documents sont divisés en segments plus petits, ou chunks, avant d'être envoyés au modèle d'intégration :
Text chunk size : nombre de caractères à inclure par segment de document.
Définir une taille de segment inférieure au nombre maximal de jetons d'entrée autorisé par le modèle. Si vous divisez le document en segments plus grands, une partie du texte du document peut être omise parce qu'une fois que la limite maximale de la taille du jeton est atteinte, tous les caractères supplémentaires dans le segment sont ignorés par le modèle d'incorporation.
La taille du bloc est spécifiée en caractères. Le nombre de caractères par jeton varie selon le modèle d'intégration, mais un jeton équivaut à environ 2 à 3 caractères.
Tableau 2. Taille des morceaux du modèle d'intégration Modèle d'intégration Nombre maximal de jetons d'entrée Taille approximative des morceaux all-MiniLM-L6-v2 256 700 ELSER 512 1400 slate-30m-english-rtrvr 512 1400 slate-125m-english-rtrvr 512 1400 Superposition de morceaux de texte : nombre de caractères à répéter dans chacun des deux segments de document consécutifs.
La répétition du texte crée une zone tampon entre les segments du document, ce qui permet de capturer des phrases complètes et d'éviter que du texte ne soit complètement omis.
Séparation des pages PDF : Lorsque cette option est activée, le fichier PDF est divisé en un segment par page et la source du numéro de page est incluse dans la réponse. Les numéros de page affichés sont ceux de la visionneuse PDF.
Note: Cette option n'est disponible que lorsque vous ajoutez un fichier PDF.
Utilisez l'indice vectoriel avec l'invite de votre foundation model
Lorsque l'index vectoriel est prêt à être utilisé, associez-le à une invite de foundation model une des manières suivantes :
- Sur la page de l'actif de l'index vectoriel, cliquez sur l'icône Voir les informations sur l'index vectoriel au début de la page pour ouvrir le panneau A propos de cet actif, puis cliquez sur Ouvrir dans le laboratoire de l'expert.
- Dans le Prompt Lab en mode chat, cliquez sur l'icône Grounding with documents au début de la page, puis cliquez sur Sélectionner ou créer un index vectoriel.
Utilisez ce modèle d'invite dans votre application
Après avoir expérimenté des modèles de génération augmentée par récupération (RAG) qui utilisent votre ensemble de documents, enregistrez la logique de l'invite dans un carnet afin de pouvoir l'utiliser dans votre application d'IA générative.
Lorsque vous enregistrez l'invite en tant que bloc-notes, sélectionnez l'option Déployable gen AI flow. Le carnet généré fournit le code Python pour le modèle d'invite et une fonction Python déployable qui peut être consommée par les API REST.
Pour plus d'informations, voir Sauvegarde de votre travail.
En savoir plus
- Mise en place d'un Elasticsearch vectoriel
- Mise en place d'un magasin de vecteurs Milvus watsonx.data
- Laboratoire d'invites
- Dialoguer avec des documents et des images
- Génération augmentée par la recherche (RAG)
- Vectorisation de texte à l'aide de l'API
Sujet parent : Ajout de documents vectorisés pour les invites du foundation model