← Retour au blog

Les modèles d'embedding : types, cas d'usage et guide de choix

Écouter cet article (14 min)

Version audio générée localement (Pocket TTS, Kyutai, voix Estelle). Les exemples de code et tableaux sont à retrouver sur cette page.

Dans notre article RAG classique vs RAG par raisonnement, on a croisé un mot un peu mystérieux : embedding. C'est la brique qui permet à une IA de chercher « par le sens » plutôt que « par les mots exacts ». Aujourd'hui, on prend le temps de bien comprendre cette brique — parce qu'elle est partout : recherche, RAG, recommandation, classement… et qu'un mauvais choix d'embedding peut faire couler tout un projet.

1C'est quoi un embedding ?

Un ordinateur ne comprend pas les mots. Il comprend les nombres. Un embedding (« plongement » en français, mais tout le monde dit embedding) est une façon de transformer un texte — un mot, une phrase, un paragraphe — en une longue liste de nombres : un vecteur.

Embedding

Une représentation d'un texte sous forme de vecteur (une liste de nombres, par exemple 1024 valeurs) calculée par un modèle d'IA, de telle sorte que deux textes proches par le sens donnent deux vecteurs proches dans l'espace.

La magie tient dans une seule idée : la proximité géométrique = proximité de sens. Les phrases « le chat dort sur le canapé » et « un félin se repose sur le sofa » n'ont quasiment aucun mot en commun, mais elles parlent de la même chose. Un bon modèle d'embedding leur donnera deux vecteurs très proches.

Pour mesurer cette « proximité », on n'utilise pas une règle mais un petit calcul, le plus souvent la similarité cosinus : un score entre -1 et 1, où 1 signifie « sens quasi identique » et 0 « sans rapport ». C'est cousin de la recherche fuzzy qu'on a vue ailleurs — sauf qu'ici on rapproche par le sens, pas par l'orthographe.

"Quel temps fait-il ?"        → [0.021, -0.118, 0.337, ... ]   (1024 nombres)
"Va-t-il pleuvoir ?"          → [0.038, -0.092, 0.301, ... ]   ← vecteur proche
"Recette de la tarte Tatin"   → [-0.412, 0.255, -0.067, ... ]  ← vecteur éloigné

Quelques mots de vocabulaire qui reviendront tout le temps :

  • Dimension : le nombre de valeurs dans le vecteur (souvent 384, 768, 1024, 1536 ou 3072). Plus c'est grand, plus le modèle peut capturer de nuances… mais plus ça coûte cher à stocker et à comparer.
  • Fenêtre de contexte : la longueur maximale de texte que le modèle peut « avaler » d'un coup (de 512 jusqu'à 32 000 tokens selon les modèles).
  • Base vectorielle : la base de données spécialisée qui stocke les vecteurs et retrouve très vite les plus proches (pgvector, Qdrant, Milvus, Weaviate…).

2Les grandes familles de modèles

Tous les embeddings ne se ressemblent pas. Voici les types que vous croiserez, du plus courant au plus spécialisé.

🔹 Les embeddings denses (le standard)

C'est le cas par défaut : un seul vecteur « plein », où presque toutes les valeurs comptent. Il capture le sens global d'un texte. 99 % des projets démarrent ici. Exemples : OpenAI text-embedding-3, Gemini Embedding, Qwen3-Embedding, mistral-embed.

🔸 Les embeddings creux (sparse)

Ici, le vecteur est immense mais presque vide : seules quelques positions correspondant à des mots-clés précis sont actives. C'est l'héritier moderne de la recherche par mots-clés (BM25), version apprise par IA (ex. SPLADE). Très fort pour retrouver un terme exact : un code produit, un nom propre, une référence. On le combine souvent avec du dense, c'est la fameuse recherche hybride.

🔻 Les multi-vecteurs (style ColBERT)

Au lieu d'un seul vecteur par document, on en garde un par mot (ou presque). La comparaison est beaucoup plus fine — donc plus précise — mais aussi plus lourde à stocker. Réservé aux cas où la précision prime sur le coût.

🪆 Les embeddings « Matriochka » (MRL)

Astuce devenue incontournable : le modèle range l'information par ordre d'importance dans le vecteur. Vous pouvez donc tronquer un vecteur de 3072 à 256 dimensions et garder l'essentiel — comme des poupées russes. Résultat : vous divisez vos coûts de stockage par 10 en ne perdant qu'un peu de précision. OpenAI text-embedding-3, Gemini et Codestral Embed le proposent nativement.

🖼️ Les modèles multimodaux

La grande nouveauté de 2025-2026 : des modèles qui placent texte, images, PDF — parfois audio et vidéo — dans le même espace vectoriel. On peut alors chercher une image avec une phrase, ou retrouver un graphique dans un PDF. Exemples : Cohere Embed v4, Gemini Embedding, Jina v4.

🎯 Les modèles spécialisés

Certains modèles sont entraînés pour un domaine précis et y écrasent les généralistes : le code (Codestral Embed de Mistral, Voyage Code 3), le juridique (voyage-law), ou une langue particulière. Si votre métier est pointu, un modèle dédié vaut souvent mieux qu'un gros généraliste.

À retenir

Dense pour le sens général, creux pour les termes exacts, multi-vecteurs pour la précision maximale, Matriochka pour économiser, multimodal pour les images/PDF, spécialisé pour un métier. La plupart des projets commencent avec un dense multilingue et ajoutent du creux (hybride) si besoin.

3Les cas d'usage

Une fois que vos textes sont devenus des vecteurs, beaucoup de choses deviennent possibles. Les plus fréquentes :

  • Recherche sémantique — trouver les documents qui parlent du même sujet, même avec des mots différents. La base de tout moteur de recherche « intelligent ».
  • RAG (génération augmentée) — donner à un LLM les bons extraits de vos documents avant qu'il réponde. L'embedding est l'étape de récupération. (Voir le Guide RAG.)
  • Classification — ranger automatiquement des textes dans des catégories (spam / pas spam, type de ticket, sentiment d'un avis…).
  • Regroupement (clustering) — laisser l'IA découvrir toute seule les grands thèmes d'un corpus, sans catégories prédéfinies.
  • Recommandation — « les articles qui ressemblent à celui-ci » : on recommande les vecteurs voisins.
  • Détection de doublons — repérer deux contenus quasi identiques (avis copiés, fiches en double).
  • Détection d'anomalies — un texte dont le vecteur est isolé de tous les autres est probablement bizarre (fraude, erreur, contenu hors sujet).
  • Reranking — après une première récupération large, reclasser finement les résultats pour ne garder que les meilleurs.
Le saviez-vous

Le pipeline RAG d'ExploDev indexe déjà 943 documents avec le modèle bge-m3, combiné à de la recherche par mots-clés et à un graphe de connaissances. C'est exactement de la recherche sémantique « maison » — la preuve que c'est accessible sans cloud.

4héberger ses embeddings ?

Deux grandes voies. Le choix dépend surtout de votre volume, de votre budget, et de votre sensibilité aux données.

☁️ Voie 1 — L'API (le modèle tourne chez un fournisseur)

Vous envoyez votre texte, on vous renvoie le vecteur. Zéro infrastructure à gérer. C'est le chemin le plus rapide pour démarrer.

  • Pour : aucune machine à entretenir, mises à jour automatiques, démarrage en quelques minutes.
  • Contre : coût à l'usage qui grimpe avec le volume, vos textes partent chez un tiers (attention RGPD), dépendance au fournisseur.
  • Acteurs : OpenAI, Google (Gemini), Cohere, Voyage AI, et Mistral côté européen.

🖥️ Voie 2 — L'auto-hébergement (le modèle tourne chez vous)

Vous faites tourner un modèle open-source sur votre propre serveur. Plus d'effort au départ, mais vous gardez la maîtrise et le coût marginal tend vers zéro.

  • Pour : vos données ne sortent jamais, coût fixe et prévisible, idéal pour la souveraineté et les gros volumes.
  • Contre : il faut une machine (souvent un GPU pour les gros modèles) et un peu de savoir-faire.
  • Outils : Ollama (le plus simple pour débuter en local), sentence-transformers (Python), Text Embeddings Inference (TEI) de Hugging Face, ou vLLM / SGLang pour la production à grande échelle.
# Générer des embeddings en local avec Ollama, en deux lignes
ollama pull bge-m3
curl http://localhost:11434/api/embeddings -d '{
  "model": "bge-m3",
  "prompt": "Le chat dort sur le canapé"
}'
Règle d'or

Le modèle qui vectorise vos documents doit être exactement le même que celui qui vectorise les questions. Si vous changez de modèle, il faut tout réindexer. Choisissez donc en pensant aussi au long terme.

Et où ranger tous ces vecteurs ? Dans une base vectorielle. Pour rester simple et souverain : pgvector (une extension de PostgreSQL, parfait si vous avez déjà une base) ou Qdrant. Pour de très gros volumes : Milvus ou Weaviate. En cloud clé en main : Pinecone.

5Guide de choix des modèles

Voici un panorama des modèles de référence début 2026. Les scores viennent du benchmark MTEB (Massive Text Embedding Benchmark), la référence pour comparer les embeddings.

Modèle Type Dimensions Licence Point fort
Gemini Embedding (Google) API 3072 (réductible) Propriétaire En tête du MTEB anglais, très fort en multilingue et multimodal
Qwen3-Embedding (Alibaba) Open-source jusqu'à 4096 Apache 2.0 Meilleur open-source ; existe en 8B / 4B / 0,6B ; excellent sur texte long
BGE-M3 (BAAI) Open-source 1024 MIT Hybride (dense+creux+multi-vecteurs), multilingue, léger — le choix d'ExploDev
OpenAI text-embedding-3 API 1536 / 3072 (MRL) Propriétaire Valeur sûre, bien documenté, versions small (économique) et large
Cohere Embed v4 API variable Propriétaire Multimodal (texte + images + PDF), supporte int8/binaire pour réduire les coûts
Voyage (3.x) API 1024+ Propriétaire Très bons modèles domaine (code, juridique, finance)
mistral-embed (Mistral) API 1024 Propriétaire (🇪🇺) Option européenne, contexte 8k, simple à intégrer
Codestral Embed (Mistral) API jusqu'à 3072 (MRL) Propriétaire (🇪🇺) Spécialisé code, devance les concurrents sur le code
llama-embed-nemotron-8B (NVIDIA) Open-source 4096 Open-weights État de l'art multilingue / cross-lingual
Jina v4 Open-source variable Apache 2.0 Bon rapport qualité/taille, multimodal
Nomic Embed Open-source 768 Apache 2.0 Entièrement reproductible, léger, données d'entraînement ouvertes
Prudence avec les scores

Les scores MTEB sont auto-déclarés par les fournisseurs et il existe deux versions du benchmark (v1 et v2) qui ne se comparent pas directement. Un classement est un point de départ, jamais une vérité absolue : le seul vrai test, c'est sur vos propres données.

Le bon modèle selon votre profil

🌱 Débutant / petit projet
OpenAI text-embedding-3-small ou Gemini

Aucune infra, intégration en quelques lignes, coût négligeable à faible volume. On démarre, on valide l'idée, on optimise plus tard.

🇪🇺 Souveraineté / RGPD
Mistral (API) ou auto-hébergé

Soit l'API d'un acteur européen, soit BGE-M3 / Qwen3 sur vos serveurs pour que rien ne sorte de chez vous.

🏠 RAG local multilingue
BGE-M3 ou Qwen3-Embedding-0.6B

Tournent sur une machine modeste via Ollama. BGE-M3 fait dense + creux d'un coup. C'est l'approche ExploDev.

🏆 Qualité maximale (auto-hébergé)
Qwen3-Embedding-8B

Le top open-source, mais gourmand : prévoyez un GPU avec assez de VRAM. À servir via vLLM ou TEI.

💻 Recherche dans du code
Codestral Embed ou Voyage Code

Les modèles spécialisés code battent largement les généralistes pour retrouver des fonctions, des bugs, des exemples.

🖼️ Images, PDF, documents riches
Cohere Embed v4, Gemini ou Jina v4

Indispensable si vos contenus mêlent texte, graphiques et images dans un même espace de recherche.

La checklist en 7 questions

Avant de figer votre choix, posez-vous ces questions dans l'ordre :

  1. Qualité — le modèle retrouve-t-il bien les bons documents sur vos données ? (testez !)
  2. Langue — gère-t-il le français et vos autres langues ? Tous les modèles ne sont pas multilingues.
  3. Longueur — vos textes sont-ils longs ? Vérifiez la fenêtre de contexte.
  4. Dimensions — petites dimensions = stockage et recherche moins chers. Le MRL aide beaucoup.
  5. Coût — à l'usage (API) ou en matériel (local) ? Estimez votre volume mensuel.
  6. Latence — temps de réponse acceptable pour votre usage (temps réel vs traitement par lot) ?
  7. Licence & données — usage commercial autorisé ? Vos données peuvent-elles sortir ?
Le conseil pragmatique

Ne cherchez pas « LE meilleur modèle » dans l'absolu — il change tous les trois mois. Investissez plutôt dans un petit pipeline d'évaluation sur vos propres exemples : vous pourrez alors tester n'importe quel nouveau modèle en quelques minutes le jour où il sort.

En résumé

Un embedding transforme du texte en vecteur pour que l'IA puisse comparer par le sens. C'est la fondation de la recherche sémantique, du RAG, de la classification et bien plus.

Il existe plusieurs familles (dense, creux, multi-vecteurs, Matriochka, multimodal, spécialisé), deux façons d'héberger (API simple mais payante à l'usage, ou auto-hébergé souverain mais plus technique), et une foule de modèles dont les leaders bougent constamment.

La bonne stratégie n'est pas de courir après le score du moment, mais de partir simple — un bon dense multilingue comme BGE-M3 ou une API — de mesurer sur vos données, puis de monter en sophistication uniquement là où ça rapporte vraiment.


Sources

  • MTEB — Massive Text Embedding Benchmark, leaderboard Hugging Face (versions v1 et v2).
  • Classements MTEB 2026 — Awesome Agents, Ailog RAG, Milvus Blog (comparatifs janvier–avril 2026).
  • Alibaba — famille Qwen3-Embedding (8B / 4B / 0,6B, Apache 2.0).
  • BAAI — BGE-M3, modèle hybride dense + creux + multi-vecteurs.
  • Mistral AI — documentation mistral-embed et Codestral Embed (embeddings de code, MRL, int8).
  • NVIDIA — llama-embed-nemotron-8B, rapport technique (MMTEB, octobre 2025).
  • OpenAI, Google (Gemini), Cohere, Voyage AI, Jina, Nomic — documentations officielles.
  • Outils d'hébergement : Ollama, Hugging Face Text Embeddings Inference, vLLM, SGLang, sentence-transformers.
Article publié le 15 juin 2026. Le domaine des embeddings évolue très vite : les classements et les modèles cités peuvent changer en quelques mois. Vérifiez toujours sur vos propres données avant de vous engager.