Paramètres d'index vectoriel
Pour créer un index vectoriel, vous devez sélectionner un magasin de données vectorielles compatible avec vos documents de base et spécifier des paramètres permettant de contrôler la manière dont vos documents sont divisés en segments plus petits avant d'être envoyés au modèle d'intégration.
Définissez les options et paramètres suivants lorsque vous créez un index vectoriel pour générer et récupérer des intégrations à partir d'un magasin de données vectorielles :
- Type de stockage de données vectorielles
- Type de fichier du document de base
- Paramètres d'intégration du modèle et de vectorisation
Types de magasins de vecteurs
Vous pouvez utiliser l'un des magasins de données vectorielles suivants pour stocker vos documents de mise à la terre :
En mémoire : index vectoriel de la base de données Chroma associé à votre projet et fournissant un stockage vectoriel temporaire. Un modèle d'intégration doit être installé dans votre cluster pour que le magasin de vecteurs en mémoire soit accessible.
Remarque : l'actif d'index vectoriel en mémoire est créé automatiquement pour vous; vous n'avez pas besoin de configurer le magasin vectoriel.Elasticsearch : Un index vectoriel tiers externe que vous configurez et connectez à votre projet.
Milvus : Un index vectoriel tiers que vous pouvez configurer et connecter à votre projet.
Pour utiliser un magasin de vecteurs externe, vous devez configurer une connexion au magasin de données avant de créer l'index vectoriel. Pour plus d'informations, consultez Configuration d'un magasin vectoriel Elasticsearch et Configuration d'un magasin vectoriel watsonx.data Milvus.
Choisir un magasin de vecteurs
Pour déterminer le magasin de vecteurs approprié à votre cas d'utilisation, tenez compte des facteurs suivants :
Les types de fichiers de vos documents de base. Les types de fichiers pris en charge varient selon le magasin vectoriel.
Les modèles d'intégration que vous pouvez utiliser pour vectoriser les documents que vous ajoutez à l'index. Les modèles pris en charge diffèrent selon le magasin de vecteurs.
Le nombre de documents de mise à la terre que vous souhaitez pouvoir rechercher à partir de votre modèle de fondation.
Lorsque vous vous connectez à un magasin de vecteurs tiers, vous pouvez choisir d'effectuer l'une des tâches suivantes :
- Ajoutez des fichiers à vectoriser et à stocker dans un nouvel index vectoriel ou une nouvelle collection dans le magasin vectoriel.
- Utilisez les données vectorisées provenant d'un index ou d'une collection existant(e) dans le magasin vectoriel.
Le nombre de fichiers que vous pouvez ajouter au magasin vectoriel au moment où vous créez l'index vectoriel est limité. Vous pouvez télécharger jusqu'à 10 documents à la fois à partir d'un magasin vectoriel en mémoire.
Si vous souhaitez vectoriser davantage de documents, tels qu'un ensemble de fichiers PDF dont la taille dépasse 50 Mo, utilisez un magasin vectoriel tiers. Avec un magasin de vecteurs tiers, vous pouvez d'abord créer une collection ou un index contenant davantage de documents directement à partir du magasin de données. Ensuite, vous pouvez vous connecter à la collection ou à l'index existant lorsque vous créez un élément d'index vectoriel à associer à votre invite.
Attention :N'ajoutez pas plus de 10 fichiers lors d'un seul téléchargement lorsque vous créez un index vectoriel dans Prompt Lab.
Mappage des champs du schéma du magasin de vecteurs externes à un actif d'index vectoriel
Pour les magasins de vecteurs connectés, vous pouvez mapper les champs de l'index ou de la collection existants dans le magasin de vecteurs externe vers de nouveaux champs définis dans l'actif d'index vectoriel dans watsonx.ai afin de fournir un moyen cohérent d'extraire des données et de capturer des détails sur le document, tels que le nom du fichier d'origine et le numéro de page, à partir de différents types de magasins de vecteurs.
| Nouveau nom de champ d'index vectoriel | Champ provenant du magasin de vecteurs connecté |
|---|---|
| Requête vectorielle | Requis uniquement pour les index d' Elasticsearch. Champ dans lequel est spécifié le texte de la requête utilisé pour rechercher l'index d' Elasticsearch, tel que ml ou vector. |
| Nom du document | Champ qui identifie le fichier source. Vous pouvez choisir un champ qui capture le nom du fichier, tel que metadata.source, ou le titre du document, tel que metadata.title. |
| Texte | Champ contenant la majeure partie du contenu de la page, tel que body ou text. |
| Numéro de page | Champ qui identifie le numéro de page, tel que metadata.page_number. |
| URL du document | Champ contenant l' URL e du document, par exemple metadata.document_url. |
Pour utiliser un élément de dossier connecté qui utilise une connexion COS ( Cloud Object Storage ), assurez-vous de remplir les conditions suivantes :
- La connexion COS doit avoir un compartiment spécifié.
- La connexion COS doit utiliser les informations d'identification HMAC (ID d'instance de ressource, clé API, clé d'accès, clé secrète) comme authentification.
Types de fichiers de documents de base
Lorsque vous ajoutez des documents de référence à un index vectoriel, vous pouvez télécharger des fichiers ou vous connecter à une ressource de données contenant des fichiers.
Le tableau suivant répertorie les types de fichiers pris en charge et les tailles maximales des fichiers que vous pouvez ajouter lorsque vous créez un nouvel index vectoriel. Les types de fichiers pris en charge varient selon le magasin vectoriel.
Les types de fichiers sont répertoriés dans la première colonne. La taille maximale totale autorisée par défaut pour chaque type de fichier est indiquée dans les colonnes restantes.
| Type de fichier | Taille maximale totale des fichiers stockés en mémoire | Elasticsearch taille maximale totale du fichier | Milvus taille maximale totale du fichier |
|---|---|---|---|
| CSV | Non pris en charge | 50 Mo | 50 Mo |
| DOCX | 50 Mo | 500 Mo | 500 Mo |
| langage HTML | Non pris en charge | 50 Mo | 50 Mo |
| JavaScript Object Notation | Non pris en charge | 50 Mo | 50 Mo |
| format PDF | 50 Mo | 500 Mo | 500 Mo |
| pptx | 300 Mo | 300 Mo | 300 Mo |
| TXT | 5 Mo | 50 Mo | 50 Mo |
| XLSX | Non pris en charge | 50 Mo | 50 Mo |
| langage XML | Non pris en charge | 50 Mo | 50 Mo |
| YAML | Non pris en charge | 50 Mo | 50 Mo |
Paramètres de vectorisation
Lorsque vous téléchargez des documents de référence, un modèle d'intégration est utilisé pour calculer des vecteurs qui représentent numériquement le texte du document.
Vous pouvez configurer les paramètres suivants pour contrôler la manière dont les documents sont divisés en segments plus petits, ou morceaux, avant d'être envoyés au modèle d'intégration de votre choix :
- Modèles d'intégration pris en charge
Vous pouvez utiliser les modèles d'intégration fournis dans watsonx.ai avec des magasins de données vectorielles en mémoire et en mode « Milvus ». Pour plus de détails, consultez la section Détails sur l'intégration du modèle.
Vous pouvez utiliser les modèles d'intégration ELSER (Elastic Learned Sparse EncodeR ) avec le magasin de données vectorielles d' Elasticsearch. Pour plus de détails, voir ELSER – Elastic Learned Sparse EncodeR.
Votre administrateur doit installer les modèles d'intégration que vous souhaitez avec votre ressource d'index vectoriel.
- Taille des blocs de texte
Définissez le paramètre de taille de bloc pour configurer le nombre de caractères à inclure par segment de document.
Définissez une taille de segment inférieure au nombre maximal de jetons d'entrée autorisés par le modèle. Si vous divisez le document en segments plus grands, une partie du texte du document pourrait être omise, car une fois la taille maximale des tokens atteinte, tous les caractères supplémentaires du segment sont ignorés par le modèle d'intégration.
La taille des blocs est spécifiée en caractères. Le nombre de caractères par token varie selon le modèle d'intégration, mais un token équivaut à environ 2-3 caractères.
Tableau 2. Taille des blocs du modèle d'intégration Modèle d'intégration Nombre maximal de jetons d'entrée Taille approximative des blocs all-MiniLM-L6-v2 256 700 all-MiniLM-l12-v2 256 700 ELSER 512 1400 granite-embedding-107m-multilingual 512 1400 granite-embedding-278m-multilingual 512 1400 multilingual-e5-large 512 1400 slate-30m-english-rtrvr 512 1400 slate-125m-english-rtrvr 512 1400 - Chevauchement de blocs de texte
Définissez le paramètre de chevauchement des segments pour configurer le nombre de caractères à répéter dans chacun des deux segments consécutifs du document.
La répétition du texte crée un tampon entre les segments du document qui aide à capturer des phrases complètes et empêche que du texte ne soit complètement omis.
- Diviser les pages d'un fichier PDF
Lorsque le paramètre PDF fractionné est activé, un fichier PDF est divisé en un segment par page et inclut la source du numéro de page dans la réponse. Les numéros de page indiqués correspondent aux numéros de page du lecteur PDF.
Remarque : cette option n'est disponible que lorsque vous ajoutez un fichier PDF.
Paramètres de recherche
Vous pouvez ajuster les paramètres de requête afin d'améliorer les réponses renvoyées par une recherche dans le contenu de l'index vectoriel.
Vous pouvez utiliser les paramètres suivants pour contrôler le nombre et les types de résultats de recherche renvoyés par l'index vectoriel :
- K meilleurs résultats
Définissez le paramètre Top K pour configurer le nombre de résultats à échantillonner à partir d'une recherche d'index vectoriel. Les résultats échantillonnés sont utilisés comme données contextuelles pour le modèle de base.
Une valeur K maximale plus faible augmente la similitude entre une question et une réponse. Une valeur K supérieure fournit davantage d'informations au modèle de base pour générer une réponse. Cependant, le nombre de jetons dans l'entrée du modèle augmente également.
Par défaut, les trois premiers résultats de recherche sont inclus.
- Modèles de reclassement pris en charge
Sélectionnez un modèle de reclassement pour donner la priorité aux résultats de recherche les plus susceptibles de répondre à la question. Pour plus d'informations sur les modèles de reclassement fournis dans watsonx.ai, consultez la section Détails sur les modèles de reclassement.
Votre administrateur doit installer les modèles de reclassement que vous souhaitez avec votre ressource d'index vectoriel.
- N premiers
Définissez le paramètre Top N pour configurer le nombre de résultats parmi les K premiers résultats de recherche d'index vectoriel que le modèle de reclassement doit reclasser.