
Si vous essayez de créer un chatbot ou un moteur de recherche, vous avez probablement entendu parler des bases de données vectorielles.
Les bases de données vectorielles jouent un rôle essentiel dans l'interaction entre les données, les ressources et les requêtes, mais leur utilisation peut être décourageante. Je suis passé par là : j'ai parcouru des termes ésotériques tels que "embeddings" et " fuzzy search", sans savoir si j'étais en train de faire de l'ingénierie à outrance ou si je manquais quelque chose de fondamental.
Qui détermine les vidéos YouTube à recommander ? Comment les moteurs de recherche surmontent-ils les fautes de frappe ? Comment se fait-il qu'Instagram me montre toujours le chien parfait en peluche ?
Décortiquons le monde des vecteurs, de la similarité et de la recherche sémantique, et voyons comment vous pouvez créer des applications plus personnalisées.
Qu'est-ce qu'une base de données vectorielle ?
Une base de données vectorielle stocke les données sous la forme d'une collection de représentations numériques (appelées vecteurs) qui capturent la signification des données. Cela vous permet d'effectuer des recherches basées sur la similarité, plutôt que sur des mots-clés spécifiques.
Il s'agit d'une technologie clé pour les systèmes modernes de chat, de recherche et de recommandation.
Concepts clés
Qu'est-ce qu'un modèle d'intégration ?
Les modèles d'intégration sont des modèles d'apprentissage automatique formés pour convertir les données en intégrations.
Ces modèles sont entraînés à compresser les données en un vecteur (notre intégration), puis à les régénérer. Le vecteur compressé contient autant d'informations sémantiques que possible.
Cela signifie qu'ils ne stockent pas seulement les mots, mais aussi les idées qui les sous-tendent. Par exemple, l'intégration peut capturer ce qui suit :
- Les mots "chiot" et "chien" sont étroitement liés.
- La question "Comment réinitialiser mon mot de passe ?" a le même sens que "Je ne peux pas me connecter à mon compte"
- Les termes "ordinateur portable abordable" et "ordinateur économique" désignent la même chose.
Ces types de modèles aident les agents d'intelligence artificielle et les moteurs de recherche à comparer les entrées sur la base de leur signification, et non pas uniquement sur la base de mots-clés correspondants.
Qu'est-ce que la recherche sémantique ?
Alors, comment comparer les embeddings en termes de similarité ?
Comme indiqué précédemment, un vecteur d'intégration est une série de nombres. Ces nombres sont une représentation d'un point dans un espace à haute dimension. Nous pouvons visualiser les choses en 2D ou en 3D, mais pourquoi pas en 384 ? Au lieu de X, Y et Z, nous avons des centaines de valeurs, toutes réunies pour spécifier un point unique.

Ces vecteurs nous permettent de mesurer la "proximité" de deux éléments de contenu - non pas en termes de mots, mais en termes de sens.
La recherche sémantique transforme une requête en un vecteur et recherche les vecteurs les plus proches dans la base de données. Ces vecteurs devraient, en principe, être les plus proches de la requête de l'utilisateur.

Recherche approximative du plus proche voisin (ANN)
La recherche sémantique est effectuée à l'aide d'un algorithme ANN (Approximate Nearest Neighbor). L'objectif de l'algorithme ANN est de répondre à la question suivante : "Quel vecteur de ma base de données est le plus similaire à ma requête ?"
Il existe plusieurs algorithmes ANN, chacun ayant ses propres atouts. Par exemple :
Index des dossiers inversés (IVF)
La FIV est plus adaptée aux données à grande échelle, généralement immuables. Pensez aux catalogues de commerce électronique ou aux répertoires d'articles universitaires.
Dans la pratique, l'algorithme est caché dans le moteur ou la plate-forme utilisé pour effectuer la recherche.
Cas d'utilisation des bases de données vectorielles
Maintenant que nous savons comment les vecteurs sont créés et mis en correspondance, examinons les différentes façons de les utiliser pour alimenter des applications.
RAG (Retrieval-Augmented Generation)
Cette stratégie de génération de LLM semble faire parler d'elle, et pour cause : Le RAG est fiable, précis et fournit des réponses spécifiques, ce qui est possible grâce aux bases de données vectorielles.
Avec RAG, la requête de l'utilisateur est intégrée et comparée au reste de la base de données pour trouver des éléments similaires. Le modèle fait ensuite référence à ces éléments lorsqu'il génère une réponse.
RAG évite de s'appuyer sur les connaissances internes du modèle ou sur l'historique de la conversation, qui peuvent tous deux être faux ou non pertinents.
Supposons que vous demandiez un résumé de l'enfance de Napoléon. La réponse du modèle est plausible, mais est-elle exacte ? Avec RAG, les documents pertinents pour votre requête seront utilisés pour orienter la réponse du modèle. Ainsi, vous pouvez vérifier la ressource principale, ce qui permet de vérifier les résultats du modèle.
Si vous voulez voir à quoi cela ressemble en pratique, voici un guide pour construire un chatbot avec RAG.
Recommandations sur les produits et le contenu
Les bases de données vectorielles ne sont pas seulement utilisées pour répondre aux requêtes des utilisateurs. Elles peuvent également être utilisées pour optimiser l'expérience de l'utilisateur.
Le suivi de l'historique de navigation des utilisateurs et le regroupement d'éléments similaires permettent aux entreprises de déterminer le meilleur produit ou contenu à recommander à l'utilisateur.
C'est un excellent exemple de ce que nous appelons l'algorithme: des recommandations de contenu stratégique et de la publicité ciblée.
Pensez à une plateforme de partage de vidéos : chaque vidéo a sa propre intégration stockée dans la base de données. Lorsque vous en regardez une, le système peut vous en suggérer d'autres dont l'intégration est proche, c'est-à-dire dont le contenu est similaire, même si les titres ou les étiquettes sont complètement différents.
Au fil du temps, l'historique de votre montre devient une sorte de "nuage" personnalisé d'encastrements, qui aide le système à comprendre vos préférences et à vous recommander ce que vous voudrez voir ensuite.
Les avantages des bases de données vectorielles par rapport aux bases de données traditionnelles
Maintenant que nous avons une idée du comment et du pourquoi des bases de données vectorielles, parlons du pourquoi: quels avantages offrent-elles aux chatbots et aux moteurs de recherche ?
1. Ils fournissent plus de contexte aux chatbots
LLMs sont sujets à l'oubli et à l'hallucination lors de longues conversations. Les utilisateurs et les développeurs n'ont pas une idée claire des informations qui sont retenues.
Avec des stratégies telles que RAG, le modèle recherche dans la base de données les informations nécessaires pour donner une réponse précise.
Plutôt que de rappeler et de corriger le modèle pour la énième fois, les bases de données vectorielles stockent les informations pertinentes et y font référence de manière explicite.

2. Ils rendent les résultats de recherche tolérants aux fautes de frappe
Même si nous connaissons les mots-clés exacts, la recherche est difficile.
golfen retriever ≠ golden retriever, mais votre moteur de recherche devrait le savoir.
Si nous faisons correspondre les requêtes littéralement, une faute de frappe ou un mot mal orthographié disqualifierait une option pertinente.
Lorsque nous faisons abstraction du sens de la requête de recherche, l'orthographe ou la formulation spécifique n'a pas autant d'importance.
3. Ils permettent aux utilisateurs d'effectuer des recherches floues
La recherche est moins une question de mots-clés que de ✨vibes✨.
L'abstraction du texte dans un vecteur d'intégration permet de le stocker dans un espace vibratoire ineffable. Donc, en surface,
"Où puis-je trouver un bon blanc plat dans le coin ?"
ne ressemble pas à
"Les meilleurs endroits pour prendre une dose de caféine dans les environs",
mais votre moteur de recherche les fera correspondre de la même manière. Cela est possible parce que les enchâssements des deux phrases sont très proches, même si leur formulation est différente.
4. Les BD vectorielles peuvent comparer les différentes modalités
Les données se présentent sous toutes les formes, tailles et types. Nous avons souvent besoin de comparer des données de différents types. Par exemple, utiliser du texte pour rechercher et filtrer des images de produits.
Les modèles multimodaux sont formés pour comparer différents types de données, tels que le texte, les images, l'audio et la vidéo.
Il est ainsi plus facile de parler de votre contenu. Trouvez un produit en décrivant son image, ou posez des questions sur les graphiques en utilisant un langage simple.
Comment créer un agent d'intelligence artificielle doté de capacités de recherche intelligentes ?
Si vous êtes novice en matière de recherche sémantique, vous êtes probablement inondé de questions :
Comment préparer mes données ?
Quelles données dois-je inclure ?
Quel modèle d'intégration dois-je utiliser ? et comment savoir s'il fonctionne ?
Heureusement, vous n'avez pas besoin de tout calculer d'emblée. Voici comment démarrer en quelques étapes simples :
1. Définir votre cas d'utilisation
Commencez par quelque chose de simple et d'utile. Voici quelques exemples qui vous mettront la puce à l'oreille :
- A chatbot de vente au détail qui aide les clients à trouver les bons produits en fonction de leurs besoins et de leurs préférences. Demandez-lui : "Quelle est la meilleure veste d'hiver pour la randonnée à moins de 150 dollars ?"
- A bot de billetterie qui permet de trier les demandes informatiques des employés en temps réel. Demandez : "Y a-t-il des tickets prioritaires liés à l'accès VPN qui n'ont pas encore été attribués ?".
- A agent d'automatisation des processus d'affaires qui gère l'exécution des commandes du début à la fin. Posez-lui la question suivante : "La commande de Smith a-t-elle été expédiée et avons-nous envoyé l'e-mail de confirmation ?"
Tous ces éléments sont rapides à mettre en place, faciles à tester et immédiatement utiles.
2. Choisissez votre plate-forme
Si les bases de données vectorielles vous semblent confuses ou abstraites, il existe de nombreuses plateformes de chatbot qui gèrent les embeddings et le clustering pour vous en coulisses.
3. Rassemblez vos données
Commencez par ce que vous avez déjà : fichiers texte, PDF, feuilles de calcul. Une bonne plateforme s'occupe du formatage pour vous. Il vous suffit de télécharger votre contenu et la plateforme se chargera de l'intégrer et de l'indexer en coulisses.
Certaines spécificités dépendent de la plateforme que vous utilisez. Voici quelques conseils pour tirer le meilleur parti de vos données.
4. Ajouter une description
Rédigez une brève description, en langage clair, de l'utilité de votre robot.
Cela permet de donner le ton et de définir les attentes : comment le robot doit s'adresser aux utilisateurs, quels types de questions il peut poser et à quelles données il peut faire référence.
Par exemple :
"Vous êtes un assistant de soutien pour l'équipe RH. Vous aidez les employés à trouver les politiques et répondez aux questions sur le PTO et les avantages sociaux. Utilisez les informations contenues dans le manuel de l'employé et les documents des RH. Soyez clair et poli. Si vous ne savez pas quelque chose, demandez à l'utilisateur de contacter les RH".
5. Test et mise au point
Testez votre configuration avec des requêtes réelles. Demandez ce que vos clients demanderaient. Les résultats sont-ils pertinents ? précis ?

Ajustez votre robot si nécessaire :
- Résultats incomplets ? Augmentez le nombre de morceaux pour obtenir des réponses plus complètes.
- Une réponse lente ? Choisissez un modèle plus rapide.
- Réponses incorrectes ? Essayez un modèle plus précis ou ajoutez des données pertinentes.
Les plates-formes étant hautement personnalisables, la résolution des problèmes se résume généralement à une simple configuration, par exemple en jouant sur les modèles disponibles ou en modifiant les descriptions.
Développer des capacités de recherche plus intelligentes
Avec les récents progrès de l'IA, les données consultables ne sont plus seulement un avantage, elles deviennent une attente par défaut.
Il n'est pas nécessaire de maîtriser l'ANN ou les embeddings pour construire des moteurs de recherche plus intelligents. Notre plateforme vous offre des outils prêts à l'emploi pour la recherche sémantique et la génération augmentée d'informations. Aucune préparation des données n'est nécessaire.
Commencez à construire dès aujourd'hui. C'est gratuit.
Table des matières
Partager ce message sur :
Comment fonctionnent les bases de données vectorielles ?
Les bases de données vectorielles stockent du texte, des images et des feuilles de calcul sous la forme d'une série de vecteurs, également appelés " embeddings". Chacun de ces vecteurs est une série de nombres qui, à première vue, n'a pas l'air de grand-chose, mais qui, sous le capot, capture la signification abstraite des données.
Ces données - qu'il s'agisse d'e-mails, de transcriptions de réunions ou de descriptions de produits - ne sont pas remplacées par une série de chiffres, elles sont indexées.
Ces minuscules et denses enchâssements rendent la recherche d'informations à la fois efficace et utile. Ils nous permettent de comparer des éléments sur la base de similitudes, et pas seulement sur la base de mots-clés. Explorons les différents composants.