Qu'est-ce qu'un embedding : l'intuition
Objectifs
- Comprendre ce qu’est un embedding et pourquoi c’est utile
- Saisir l’intuition géométrique derrière les vecteurs de mots
- Découvrir les cas d’usage principaux
Le problème : les machines ne comprennent pas le texte
Les modèles de langage travaillent avec des nombres, pas des mots. Pour qu’une machine puisse comparer, rechercher ou raisonner sur du texte, il faut d’abord le convertir en une représentation numérique exploitable.
L’approche naïve : le sac de mots
La méthode la plus simple consiste à compter les occurrences de chaque mot. Mais cette approche ignore complètement le sens :
- « Le chat mange la souris » et « La souris mange le chat » ont exactement la même représentation
- « Automobile » et « Voiture » sont traités comme deux concepts sans rapport
Les embeddings : capturer le sens
Un embedding est un vecteur dense — une liste de nombres à virgule flottante — qui capture le sens sémantique d’un texte. Deux textes ayant un sens proche auront des vecteurs proches dans l’espace.
from openai import OpenAI
client = OpenAI()
# Générer un embedding
response = client.embeddings.create(
input="L'intelligence artificielle transforme l'industrie",
model="text-embedding-3-large"
)
vector = response.data[0].embedding
print(f"Dimension du vecteur : {len(vector)}") # 3072
print(f"Premiers éléments : {vector[:5]}")
Ce vecteur de 3 072 nombres encode le sens de la phrase. Chaque dimension capture un aspect différent de la sémantique.
L’intuition géométrique
Imaginez un espace à trois dimensions. Chaque mot ou phrase est un point dans cet espace :
- « Roi » et « Reine » sont proches l’un de l’autre
- « Pomme » et « Orange » sont proches entre eux, mais loin de « Roi »
- « Chien » et « Chat » forment leur propre cluster
En réalité, les embeddings modernes utilisent des milliers de dimensions (3 072 pour text-embedding-3-large), ce qui leur permet de capturer des nuances très fines.
L’analogie célèbre
Les embeddings capturent des relations sémantiques régulières. L’exemple classique :
vecteur("Roi") - vecteur("Homme") + vecteur("Femme") ≈ vecteur("Reine")
Cette propriété arithmétique montre que les embeddings encodent des concepts abstraits comme le genre, la royauté ou la taille de manière structurée.
À quoi servent les embeddings ?
Les embeddings débloquent de nombreuses applications :
Recherche sémantique
Au lieu de chercher des mots-clés exacts, vous comparez le sens des requêtes et des documents. « Comment nourrir mon chiot ? » trouvera un article intitulé « Alimentation du jeune chien ».
Classification
Regroupez automatiquement des tickets de support, des emails ou des articles par thème, sans définir de règles manuelles.
Recommandation
Suggérez du contenu similaire à ce qu’un utilisateur a déjà consulté en trouvant les vecteurs les plus proches.
RAG (Retrieval-Augmented Generation)
Enrichissez les réponses d’un LLM avec des documents pertinents trouvés par similarité sémantique. C’est le cas d’usage phare de ce cours.
Ce qui a changé en 2025-2026
L’API Embeddings d’OpenAI propose aujourd’hui deux modèles principaux :
| Modèle | Dimensions | Usage recommandé |
|---|---|---|
text-embedding-3-large | 3 072 | Haute précision, RAG, recherche |
text-embedding-3-small | 1 536 | Coût réduit, classification, recommandation |
Ces modèles supportent la réduction de dimensions : vous pouvez demander un vecteur plus court (ex. 256 dimensions) pour économiser du stockage, avec une perte de qualité maîtrisée.
Résumé
- Un embedding convertit du texte en vecteur numérique dense
- Des textes sémantiquement proches ont des vecteurs proches
- Les cas d’usage principaux sont la recherche, la classification, la recommandation et le RAG
- OpenAI propose
text-embedding-3-large(3 072 dim) ettext-embedding-3-small(1 536 dim)