La recherche vectorielle est une technique de recherche qui trouve des résultats basés sur le sens, et non pas seulement sur la correspondance de mots-clés. Là où la recherche traditionnelle fait correspondre des mots exacts, la recherche vectorielle compare des embeddings. Ces représentations numériques capturent le sens du texte, des images, de l'audio et d'autres contenus.
Les résultats sont classés selon la proximité de leurs embeddings avec ceux de la requête, et non par les mots partagés. Cela fait de la recherche vectorielle une couche de récupération (retrieval) essentielle derrière les assistants IA modernes, les systèmes de recherche sémantique et la génération augmentée de récupération (RAG).
Ce guide explique le fonctionnement de la recherche vectorielle, sa comparaison avec la recherche par mots-clés et la recherche sémantique, des exemples et cas d'usage courants, ainsi que la manière de l'évaluer en pratique.
La recherche vectorielle fonctionne en trois étapes : la création d'embeddings, la construction d'un index et la mise en correspondance d'une requête avec cet index.
La recherche de ces correspondances les plus proches est appelée recherche des plus proches voisins. L'approche la plus simple, la recherche des k plus proches voisins (k-NN), compare la requête à chaque élément de l'index et renvoie les k correspondances les plus proches. Bien que précise, elle devient trop lente à mesure que les ensembles de données atteignent des millions d'éléments.
La plupart des systèmes en production utilisent plutôt la recherche des plus proches voisins approximatifs (ANN). L'ANN utilise des index spécialisés pour identifier les correspondances probables sans comparer chaque élément. Elle sacrifie une infime part de précision pour obtenir des performances nettement plus rapides, rendant la recherche vectorielle pratique à grande échelle.
Une recherche simple illustre la différence entre la recherche vectorielle et la recherche par mots-clés.
Recherchez « chien ». Une recherche par mots-clés renvoie des résultats contenant ce mot exact. Une recherche vectorielle peut également renvoyer des résultats pour « chiot », « canidé » et « golden retriever ». Ces termes sont conceptuellement liés à « chien », même s'ils utilisent des mots différents. Le moteur de recherche recherche le concept, et non le mot exact.
La recherche vectorielle fonctionne également sur différents formats. Une requête textuelle comme « baskets rouges » peut renvoyer des images de produits qui correspondent à la description, même si l'image ne contient aucun texte. La recherche par mots-clés ne peut pas faire ce lien car elle repose sur la correspondance des mots. La recherche vectorielle récupère le contenu en fonction de la similarité sémantique, quel que soit le format.
La recherche par mots-clés fait correspondre les mots. La recherche vectorielle fait correspondre le sens. Les deux approches ont leurs forces, c'est pourquoi la recherche vectorielle complète la recherche par mots-clés plutôt que de la remplacer.
La recherche par correspondance exacte reste le meilleur outil pour les requêtes structurées telles que les identifiants de commande, les codes de produits et les titres de documents connus.
| Attribut | Recherche par mots-clés | Recherche vectorielle |
|---|---|---|
| Correspondance sur | Mots exacts | Sens et contexte |
| Gère les synonymes | Faible | Fort |
| Fonctionne dans plusieurs langues | Non | Souvent oui |
| Fonctionne sur les images et l'audio | Non | Oui |
| Idéal pour les termes exacts (ID, codes) | Fort | Plus faible |
| Méthode typique | BM25 / TF-IDF | Recherche des plus proches voisins |
Les systèmes de recherche les plus performants combinent les deux approches. La section sur la recherche hybride ci-dessous explique comment.
La recherche sémantique et la recherche vectorielle sont étroitement liées, mais elles ne sont pas identiques. La recherche sémantique est le résultat : aider les utilisateurs à trouver des informations pertinentes basées sur le sens et le contexte. La recherche vectorielle est l'une des techniques les plus courantes utilisées pour y parvenir.
Parce que la recherche sémantique décrit un résultat plutôt qu'une technologie spécifique, elle peut être implémentée de différentes manières. Dans de nombreux systèmes modernes, la recherche vectorielle est le moteur principal de la recherche sémantique.
Les vecteurs denses et les vecteurs creux sont conçus pour différents types de problèmes de recherche.
Les vecteurs denses capturent le sens général et le contexte. Ils aident les systèmes à reconnaître les idées, synonymes et concepts associés, même lorsque des mots différents sont utilisés. Générés par des modèles de machine learning, ils sont bien adaptés à la correspondance sémantique et multilingue.
Les vecteurs creux fonctionnent davantage comme la recherche par mots-clés traditionnelle. La plupart des valeurs sont nulles, avec des valeurs non nulles uniquement pour les termes qui apparaissent dans le contenu. Générés par des algorithmes tels que BM25, ils excellent dans la correspondance de termes exacts. Les codes de produits, les noms propres et les identifiants spécifiques sont les domaines de prédilection des vecteurs creux.
| Type | Ce qu'il capture | Idéal pour |
|---|---|---|
| Vecteurs denses | Sens général et contexte | Correspondance sémantique, de synonymes et multilingue |
| Vecteurs creux | Mots-clés spécifiques et leurs poids | Termes exacts, noms et codes |
La combinaison de vecteurs denses et creux est la base de la recherche hybride. Cette combinaison offre souvent les résultats les plus fiables en production.
La recherche hybride fusionne les résultats basés sur les vecteurs et ceux basés sur les mots-clés en un seul classement. C'est souvent le choix par défaut pratique pour les systèmes en production car elle combine la récupération basée sur le sens et la correspondance exacte dans une seule expérience de recherche. La recherche vectorielle peut manquer des codes de produits, des noms ou des identifiants exacts car ces termes ne se regroupent pas toujours étroitement dans l'espace d'embedding. La recherche par mots-clés peut manquer des résultats pertinents qui utilisent une formulation différente. La recherche hybride répond à ces deux défis en combinant les forces de chaque approche.
La plupart des systèmes de recherche hybride incluent également une étape de reclassement (reranking). Le reclassement est une seconde passe qui réorganise les résultats pour placer les meilleures correspondances en tête. Par conséquent, la recherche hybride offre souvent une pertinence plus fiable que l'une ou l'autre méthode seule. La plateforme Databricks prend en charge les index hybrides qui combinent recherche sémantique et recherche par mots-clés, avec un reclassement intégré.
La recherche vectorielle alimente des applications qui dépendent de la recherche de résultats pertinents plutôt que de correspondances exactes de mots-clés.
La génération augmentée de récupération (RAG) aide les assistants IA à répondre aux questions en utilisant des informations récentes et pertinentes plutôt que de s'appuyer entièrement sur ce que le modèle sait déjà. Avant de répondre, l'assistant récupère le contenu pertinent dans une base de connaissances. La recherche vectorielle est la couche de récupération qui trouve ce contenu.
Les documents sont découpés en fragments plus petits (chunks) afin que le système puisse récupérer le passage le plus pertinent, et pas seulement le document le plus pertinent. Cette approche a fait de RAG l'une des applications de la recherche vectorielle qui connaît la croissance la plus rapide. En savoir plus sur RAG et les bases de données vectorielles.
Les bases de connaissances internes, les systèmes de tickets et les référentiels de documents deviennent plus utiles lorsque les utilisateurs effectuent des recherches par sens plutôt que par formulation exacte. Une requête comme « politique de congé parental » peut faire ressortir le bon document RH même s'il est intitulé « guide des prestations familiales ». La recherche vectorielle facilite la recherche des connaissances de l'entreprise sans nécessiter de formulation exacte.
Les moteurs de recommandation utilisent la recherche vectorielle pour trouver des produits, des articles, des vidéos et d'autres contenus conceptuellement similaires à ce qu'un utilisateur consulte déjà. Cela alimente des expériences familières telles que les recommandations « les clients qui ont aimé ceci ont également aimé ». Le système trouve simplement les éléments dont les embeddings sont les plus proches de l'élément actuel.
La recherche vectorielle peut établir des correspondances entre différents formats et langues. Une requête textuelle comme « chaussures de randonnée pour terrain humide » peut renvoyer des images de produits pertinentes, même si les images ne contiennent aucun texte. Une requête en anglais peut également récupérer des documents pertinents rédigés en espagnol. Cela rend la recherche vectorielle utile pour les organisations mondiales et les applications qui fonctionnent avec divers types de contenu.
La recherche vectorielle peut aider à identifier des modèles inhabituels en trouvant des éléments qui s'écartent de la normale. Dans la détection des fraudes, les transactions qui semblent très différentes de l'activité typique peuvent être signalées pour examen. La même approche peut être utilisée pour détecter des anomalies dans le trafic réseau, les systèmes de fabrication et d'autres données opérationnelles.
Pas toujours. La bonne approche dépend de votre échelle, de vos exigences de performance et de votre infrastructure existante. Les organisations implémentent généralement la recherche vectorielle à l'aide d'une base de données vectorielle, d'un moteur de recherche doté de fonctionnalités vectorielles ou d'une bibliothèque de recherche de similarité. En savoir plus sur les bases de données vectorielles.
| Option | Description | Idéal pour |
|---|---|---|
| Base de données vectorielle | Conçue spécifiquement pour les embeddings à grande échelle | Besoins de volumes élevés et de faible latence |
| Moteur de recherche avec fonctionnalités vectorielles | Ajoute des vecteurs à la recherche existante | Recherche par mots-clés déjà en place |
| Bibliothèque | Boîte à outils de code pour la recherche de similarité | Petits projets, prototypage |
Les services gérés peuvent réduire le temps de configuration, la charge opérationnelle et la maintenance continue. La plateforme Databricks comprend une base de données vectorielle intégrée via Databricks AI Search, qui combine recherche vectorielle, recherche par mots-clés, filtrage des métadonnées et réordonnancement dans un seul service. Elle s'intègre également aux fonctionnalités de gouvernance de l'AI telles que Unity Catalog, aidant les organisations à appliquer des contrôles cohérents aux applications AI.
L'implémentation de la recherche vectorielle dans un environnement de production n'est que la première étape. Pour garantir une fiabilité, des performances et une précision durables en production, ces systèmes nécessitent un ajustement et une maintenance continus dans plusieurs domaines opérationnels clés.
Les grands index vectoriels consomment de la mémoire et des ressources de calcul, ce qui augmente les coûts d'infrastructure. À mesure que les ensembles de données se développent et que les volumes de requêtes augmentent, ces coûts augmentent également. Une recherche plus rapide et plus précise nécessite souvent plus de ressources, de sorte que les équipes doivent équilibrer les performances, la qualité et le coût.
Les index vectoriels ne se mettent pas à jour automatiquement lorsque le contenu source change. Lorsque des documents sont ajoutés, modifiés ou supprimés, l'index doit être actualisé pour refléter ces changements. Sans mises à jour régulières, les résultats de recherche peuvent devenir obsolètes et passer à côté de nouvelles informations importantes.
Avant d'ajuster un système, créez un petit ensemble de tests contenant des requêtes représentatives avec des résultats connus comme corrects. Mesurer la qualité consiste à vérifier si les bons résultats apparaissent en tête de liste pour ces requêtes. Cela crée une base de référence pour évaluer les modifications futures.
Deux facteurs ont souvent un impact significatif sur la pertinence. Les filtres de métadonnées affinent les résultats par balises, dates ou catégories avant l'exécution du classement par similarité. Cela peut améliorer la précision lorsque la correspondance sémantique renvoie trop de résultats.
La qualité des embeddings dépend également du modèle utilisé pour les générer. Les modèles à usage général peuvent ne pas bien saisir la terminologie spécialisée. Pour les domaines utilisant un langage spécifique à un secteur, comme la santé, le droit ou les services financiers, un modèle adapté au domaine peut améliorer la qualité de la récupération.
Databricks AI Search est une base de données vectorielle gérée intégrée à la plateforme Databricks. Elle prend en charge la recherche sémantique, la recherche par mots-clés, le filtrage des métadonnées et le réordonnancement dans un seul service. Parce qu'elle s'intègre aux données, à la gouvernance et aux outils de productivité existants, les équipes peuvent concevoir des systèmes de récupération sans avoir à assembler des plateformes distinctes.
AI Search se connecte directement aux données que les organisations gèrent déjà dans Databricks, réduisant ainsi le besoin de déplacer ou de dupliquer les données. Elle s'intègre également aux fonctionnalités de gouvernance telles que Unity Catalog, permettant d'étendre les contrôles d'accès et les politiques de lignage existants aux charges de travail de recherche.
Comment la recherche vectorielle est-elle utilisée dans les applications RAG ?
Dans un système RAG, la requête de l'utilisateur est convertie en un embedding et comparée à une bibliothèque de fragments de documents dans un index vectoriel. Les correspondances les plus proches sont récupérées et transmises au modèle de langage en tant que contexte. Le modèle génère ensuite une réponse basée sur les propres données de l'organisation plutôt que de s'appuyer uniquement sur ses données d'entraînement.
Quand faut-il utiliser la recherche hybride plutôt que la recherche vectorielle seule ?
Lorsque les utilisateurs recherchent des identifiants spécifiques tels que des codes produits, des codes d'erreur ou des noms propres, la recherche sémantique seule peut passer à côté. Les termes exacts ne s'alignent pas toujours étroitement dans l'espace d'embedding. La recherche hybride combine les résultats vectoriels et par mots-clés, offrant à la fois une étendue sémantique et une précision de correspondance exacte dans un classement unique.
Qu'est-ce qui rend les résultats de recherche vectorielle plus précis ?
Plusieurs facteurs influencent la qualité de la récupération. La qualité du modèle d'embedding détermine la manière dont le sens est capturé. Les filtres de métadonnées restreignent l'espace de recherche avant l'exécution du classement par similarité. La fraîcheur de l'index garantit que les résultats reflètent le contenu actuel plutôt que des informations obsol ètes.
Quels sont les principaux compromis de la recherche vectorielle ?
La recherche vectorielle nécessite plus de mémoire et de calcul que la recherche par mots-clés. Les grands index entraînent des coûts d'infrastructure réels. La recherche ANN est approximative par conception, ce qui crée un léger compromis de précision par rapport à une recherche exhaustive. Les index nécessitent également des actualisations régulières pour rester à jour à mesure que les données sources changent. La recherche hybride ajoute de la complexité mais fournit souvent des résultats plus fiables que l'une ou l'autre approche seule.
Comment Databricks AI Search prend-il en charge la recherche vectorielle ?
Databricks AI Search est une base de données vectorielle gérée et serverless intégrée à la plateforme Databricks. Elle prend en charge la recherche hybride, le filtrage des métadonnées et le réordonnancement intégré. Des pipelines de synchronisation automatisés maintiennent les index à jour au fur et à mesure que les données des tables Delta changent, tandis que Unity Catalog étend les contrôles de gouvernance aux charges de travail de recherche.
La recherche vectorielle aide les systèmes AI à trouver des informations pertinentes basées sur le sens plutôt que sur des mots-clés exacts. Cette fonctionnalité alimente tout, des applications RAG aux moteurs de recommandation en passant par la recherche d'entreprise.
À mesure que les systèmes AI dépendent de plus en plus de la récupération d'informations, la recherche hybride et une infrastructure de recherche fiable deviennent de plus en plus importantes. Pour en savoir plus, découvrez AI Search sur la plateforme Databricks.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.