Base de données vectorielle
Dernière mise à jour:
Qu'est-ce qu'une base de données vectorielle
Une base de données vectorielle enregistre les données sous forme de vecteurs : de longues suites de nombres produites par un modèle d'embedding. Des textes de sens proche obtiennent des vecteurs proches. La base peut donc répondre à « quels passages enregistrés ont le sens le plus proche de ce texte ? » plutôt qu'à « quelles lignes contiennent exactement ce mot ? ».
Le terme désigne aussi bien des produits dédiés aux vecteurs que des bases de données classiques auxquelles on a ajouté des colonnes et des index vectoriels. Leur point commun : effectuer des recherches par similarité sur de grands volumes de données.
Comment ça fonctionne
À l'ajout d'un contenu, chaque portion de texte est convertie en embedding et enregistrée avec le texte d'origine et des métadonnées comme la source, le titre ou la date. Lors d'une requête, la question est convertie avec le même modèle, puis la base renvoie les vecteurs les plus proches selon une mesure de distance, par exemple la similarité cosinus.
Comparer la question à chaque vecteur stocké est exact mais lent sur de gros volumes. La plupart des bases vectorielles construisent donc un index de recherche approximative des plus proches voisins (ANN), qui sacrifie un peu de précision pour des recherches bien plus rapides.
- Stockage : le texte, son embedding et ses métadonnées sont enregistrés ensemble.
- Indexation : un index ANN organise les vecteurs pour trouver vite les voisins proches.
- Requête : la question est convertie en embedding et les vecteurs les plus proches sont renvoyés.
- Filtrage : des filtres sur les métadonnées, par exemple les seules données d'un client, affinent les résultats.
Un exemple
Un magasin de vélos compte quelques centaines d'articles d'aide. Un visiteur demande : « Puis-je rapporter mon vélo électrique si je change d'avis ? » Aucun article ne contient ces mots, mais la politique de retour parle de « remboursement après l'achat ». Comme les deux textes traitent du retour d'un produit, leurs embeddings sont proches et la base vectorielle renvoie la politique de retour en premier. Le chatbot répond ensuite à partir de cette page.
Pourquoi c'est important pour les chatbots d'entreprise
La base de données vectorielle constitue la couche de recherche de la plupart des systèmes de génération augmentée par récupération (RAG). Elle détermine quels passages le modèle de langage voit avant de répondre et influence donc directement la qualité des réponses. Si le bon passage n'est pas retrouvé, le modèle ne peut pas l'utiliser.
La recherche vectorielle seule a une faiblesse connue : les identifiants exacts, comme les références produit, les numéros de modèle ou les noms rares, ne sont pas toujours retrouvés de façon fiable par le sens. C'est pourquoi de nombreux chatbots combinent recherche vectorielle et recherche par mots-clés dans une approche hybride.
Comment intoCHAT s'en charge
Avec intoCHAT, vous n'avez aucune base de données vectorielle à installer ni à gérer. Lorsque vous ajoutez un site web, un fichier, un extrait de texte ou une paire question-réponse, intoCHAT découpe le contenu en segments, crée un embedding pour chacun, puis les stocke et les indexe pour vous. Quand un visiteur pose une question, intoCHAT lance une recherche vectorielle et une recherche par mots-clés, puis fusionne les deux classements avant que l'agent ne réponde.