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 :

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.

Tableau 1. Champs du schéma du magasin vectoriel
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.
Attention :

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.

Remarque : la taille maximale autorisée pour chaque type de fichier s'applique indépendamment. Par exemple, vous pouvez télécharger simultanément plusieurs fichiers texte dont la taille totale ne dépasse pas 5 Mo et plusieurs fichiers PDF dont la taille totale ne dépasse pas 50 Mo.
Tableau 2. Types de fichiers pris en charge pour les documents de base dans différents magasins vectoriels
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.

Restriction : vous ne pouvez pas modifier les paramètres de recherche et de reclassement des résultats pour un élément d'index vectoriel créé à l'aide de l'API.

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.

En savoir plus