Aller au contenu
Fondamentaux des LLM

Embeddings et recherche sémantique

Un embedding transforme un texte en vecteur de nombres : deux textes de sens proche donnent des vecteurs proches. C'est la base de la recherche sémantique, du regroupement et du RAG.

  • embedding
  • vecteur
  • similarité cosinus
  • recherche sémantique
  • recherche hybride

Syntaxe

Modèle
vecteur = modele_embedding("texte")             # une liste de plusieurs centaines de nombressimilarité cosinus(a, b) = (a · b) / (‖a‖ × ‖b‖)   # proche de 1 : sens voisinRecherche : vectoriser la question → comparer aux vecteurs indexés → garder les k plus proches

Exemple

Exemple concret
FAQ d'un service RH, trois entrées indexées :  A « Comment poser un congé payé ? »  B « Quelle est la procédure pour une note de frais ? »  C « Combien de jours de RTT par an ? »Question d'un salarié : « je voudrais prendre des vacances en août »Similarités cosinus (valeurs illustratives) : A 0,82 · C 0,61 · B 0,18Résultat attendu : A arrive en tête alors qu'aucun mot n'est commun(« vacances » contre « congé ») ; une recherche par mots-clés l'aurait manquée.

À retenir

  1. Indexez et interrogez avec le même modèle d'embedding : des vecteurs issus de deux modèles ne sont pas comparables, et changer de modèle impose de tout réindexer.
  2. La recherche sémantique rate souvent les identifiants exacts (référence produit, numéro d'article de loi) : combinez-la avec une recherche par mots-clés, ce qu'on appelle une recherche hybride.
  3. Les scores ne sont pas des probabilités et leur échelle varie d'un modèle à l'autre : fixez un seuil de pertinence à partir de vos propres exemples.
  4. Piège : vectoriser des documents entiers. Un vecteur unique pour 30 pages fait la moyenne de tous les sujets abordés ; découpez d'abord en passages cohérents.

Voir aussi