Recherche vectorielle (recherche sémantique)
Définition express
La recherche vectorielle renvoie les éléments dont les embeddings sont les plus proches de celui de la requête : les résultats correspondent par le sens, non par des mots communs. C'est le moteur habituel de la recherche sémantique.
Sur cette page
Comment fonctionne la recherche vectorielle
Chaque document, passage ou produit est transformé en embedding et stocké dans un index. Au moment de la requête, la question est convertie avec le même modèle, et l'index renvoie les vecteurs les plus proches, en général selon la similarité cosinus. Un client qui cherche « un truc chaud pour le ski » peut ainsi trouver une veste décrite comme « coque d'hiver isolée et imperméable », sans aucun mot en commun.
Comparer une requête à des millions de vecteurs un par un serait lent ; les index utilisent donc des algorithmes de plus proches voisins approximatifs. HNSW, un graphe hiérarchique décrit par Malkov et Yashunin en 2016, est l'un des plus répandus : il sacrifie une infime précision pour une recherche très rapide. Des extensions open source comme pgvector apportent ces index à PostgreSQL.
Recherche sémantique ou recherche par mots-clés
La recherche par mots-clés (BM25, plein texte, trigrammes) est précise sur les termes exacts : une référence produit, une marque, un code d'erreur. Elle échoue sur les synonymes et les reformulations. La recherche vectorielle fait l'inverse : forte sur le sens, faible sur les chaînes exactes et les identifiants rares.
C'est pourquoi la plupart des systèmes en production pratiquent la recherche hybride : lancer les deux, puis fusionner ou reclasser les résultats. Les travaux sur la récupération dense, comme ceux de Karpukhin et ses collègues en 2020 sur les questions-réponses, ont montré combien la récupération sémantique améliore le rappel, et les praticiens ont appris depuis combien elle gagne encore à être associée aux mots-clés.
Les pièges
La recherche vectorielle renvoie toujours quelque chose, même quand rien de pertinent n'existe : un système a donc besoin d'un seuil de pertinence ou d'une vérification avant d'exploiter les résultats. Elle ne comprend ni les nombres ni les contraintes : « moins de 50 euros, en stock, taille M » demande de vrais filtres sur des données structurées. Et la qualité dépend du découpage des contenus : des passages trop longs brouillent le sens, des passages trop courts perdent le contexte.
La recherche vectorielle dans AI SmartTalk
AI SmartTalk stocke les embeddings dans PostgreSQL avec pgvector, avec un index HNSW sur les fiches produits, et combine la similarité vectorielle à une recherche par trigrammes et en plein texte. Pour les produits, l'outil de recherche de l'assistant ajoute des filtres structurés sur le prix, le stock, la marque, la catégorie et les attributs des déclinaisons, afin de répondre à la fois à une question formulée librement et à une contrainte précise.
Questions fréquentes
Recherche sémantique et recherche vectorielle, c'est pareil ?
La recherche sémantique est l'objectif : trouver des résultats par le sens. La recherche vectorielle sur des embeddings est le moyen le plus courant d'y parvenir, souvent combinée à une recherche par mots-clés.
Faut-il une base de données vectorielle dédiée ?
Pas forcément. Des extensions comme pgvector ajoutent des index vectoriels à PostgreSQL, ce qui suffit à beaucoup d'applications et garde les vecteurs à côté du reste des données.
Qu'est-ce que la recherche hybride ?
Une recherche qui lance en parallèle recherche vectorielle et recherche par mots-clés, puis fusionne les résultats, pour traiter à la fois les questions reformulées et les termes exacts comme une référence produit.
Sources
Termes associés
- Embeddings (plongements vectoriels)
- Génération augmentée par récupération (RAG)
- Base de connaissances
- Moteur de recommandation produits
- Détection d'intention
- Garde-fous de l'IA (AI guardrails)
- Grand modèle de langage (LLM)
- Hallucination d'IA (hallucination de LLM)
- MCP (Model Context Protocol)
- Prompt engineering (ingénierie de prompt)