Embeddings (plongements vectoriels)
Définition express
Un embedding, ou plongement vectoriel, est une suite de nombres (un vecteur) qui représente le sens d'un texte, d'une image ou d'un autre élément, si bien que des éléments proches ont des vecteurs voisins. C'est ce qui rend possible la recherche par le sens.
Sur cette page
Comment fonctionnent les embeddings
Un modèle d'embedding lit un texte et produit un vecteur de longueur fixe, en général de quelques centaines à quelques milliers de nombres. Il est entraîné pour que les textes de sens proche se retrouvent voisins dans cet espace : « politique de remboursement » et « comment récupérer mon argent ? » n'ont presque aucun mot en commun mais donnent des vecteurs proches.
L'idée remonte aux vecteurs de mots comme word2vec (Mikolov et ses collègues, 2013), qui apprenaient que des mots employés dans des contextes semblables ont des sens semblables. Les modèles de phrases comme Sentence-BERT (2019) l'ont étendue à des phrases et des passages entiers, ce dont la recherche et les questions-réponses ont besoin.
À quoi ils servent
Les embeddings font fonctionner la recherche sémantique : on compare le vecteur d'une question à ceux des passages stockés et on renvoie les plus proches. C'est l'étape de récupération de la génération augmentée par récupération (RAG). Ils servent aussi à regrouper des conversations semblables, repérer des doublons, recommander des produits similaires ou orienter un message vers le bon sujet.
Les modèles d'embedding multilingues rapprochent une question en français et un passage en anglais quand ils disent la même chose, ce qui permet à une seule base de connaissances de servir des clients dans de nombreuses langues.
Points pratiques
Les vecteurs issus de modèles différents ne sont pas comparables : si vous changez de modèle d'embedding, il faut recalculer les vecteurs de tous les passages stockés. Les embeddings capturent le sens, pas les valeurs exactes ; ils sont donc mauvais pour les filtres précis comme une fourchette de prix ou une référence produit, qui demandent des champs structurés ou une recherche par mots-clés en complément. Enfin, les documents longs doivent être découpés en passages avant le calcul, car un seul vecteur pour tout un manuel en brouille le contenu.
Les modèles d'embedding diffèrent aussi par les langues couvertes, leur dimension (donc le coût de stockage) et leur lieu d'hébergement.
Les embeddings dans AI SmartTalk
Chaque assistant AI SmartTalk utilise un seul modèle d'embedding pour l'ensemble de ses connaissances. Les nouveaux assistants utilisent par défaut un modèle multilingue hébergé dans l'UE, et les modèles d'embedding d'OpenAI sont également disponibles. Les vecteurs sont stockés dans PostgreSQL avec pgvector et combinés à une recherche par mots-clés et par trigrammes, pour que les références produits et les termes exacts soient retrouvés aussi sûrement que les questions reformulées.
Questions fréquentes
Quelle différence entre un embedding et un token ?
Un token est un morceau de texte, à peu près un fragment de mot, que lit un modèle. Un embedding est un vecteur de nombres qui représente un sens — celui d'un token, d'une phrase ou d'un passage entier.
Embeddings et base de données vectorielle, c'est pareil ?
Non. Les embeddings sont les vecteurs ; une base ou un index vectoriel les stocke et retrouve rapidement les plus proches.
Peut-on changer de modèle d'embedding plus tard ?
Oui, mais il faut recalculer les vecteurs de tous les éléments stockés avec le nouveau modèle, car des vecteurs issus de modèles différents vivent dans des espaces différents et ne se comparent pas.
Sources
Termes associés
- Recherche vectorielle (recherche sémantique)
- Génération augmentée par récupération (RAG)
- Grand modèle de langage (LLM)
- Service client multilingue
- Détection d'intention
- Garde-fous de l'IA (AI guardrails)
- Hallucination d'IA (hallucination de LLM)
- MCP (Model Context Protocol)
- Prompt engineering (ingénierie de prompt)