Aller au contenu principal
Retour au lexique

Embedding

IA

Définition courte

Un Embedding est la conversion d'un texte en vecteur numérique de haute dimension (ex : 1536 dimensions pour text-embedding-3-small). Il permet à l'IA de comprendre le SENS des mots, pas juste leur ordre alphabétique. "Chat" et "Discussion" ont des embeddings similaires car ils partagent le même sens sémantique.

Définition complète

Les embeddings sont créés par des modèles spécialisés (OpenAI text-embedding-3-small, Cohere Embed, Mistral Embed). Chaque texte devient un vecteur de floats — une liste de 384 à 3072 nombres selon le modèle. Des textes sémantiquement similaires produisent des vecteurs proches dans l'espace vectoriel. La similarité se mesure par cosine similarity : 1.0 = identique, 0.0 = aucune relation. Les embeddings transforment la recherche textuelle (mots-clés) en recherche sémantique (sens). 1M de textes peut être cherchés en millisecondes via un index vectoriel (FAISS, Pinecone, Qdrant).

Pensée simple

Un embedding, c'est comme installer chaque mot dans une constellation géante. Dans cette carte, "roi" et "reine" orbitent à côté, "roi" et "charcuterie" sont à des années-lumière. Le modèle ne comprend pas les mots un par un — il comprend leur POSITION dans cet espace. "Jeanne d'Arc" et "la Pucelle" sont collés car leurs vecteurs pointent vers la même zone.

Les 3 piliers des Embeddings

Dimension et qualité du modèle (Model Architecture)

Les modèles d'embedding varient en dimension et en performance : (1) text-embedding-3-small (OpenAI) : 1536 dimensions, performance 62% sur MTEB benchmark, (2) text-embedding-3-large : 3072 dimensions, 65% sur MTEB, (3) Cohere embed-multilingual-v3 : 1024 dimensions, 63% mais supporte 100+ langues. Les modèles de plus haute dimension capturent plus de nuances mais sont plus coûteux et plus lents.

Métriques de similarité (Cosine vs Dot Product)

Deux vecteurs sont comparés via cosine similarity (0 à 1) ou dot product. Cosine normalise la longueur — meilleur pour les textes de tailles variées. Dot product non normalisé favorise les textes longs. Applications : (1) recherche sémantique (semantic search), (2) déduplication de contenu (vecteurs similaires = contenu dupliqué), (3) classification (comparaison à des vecteurs de référence). Pinecone propose l'hybrid search (vector + keyword) pour combiner sémantique et exactitude.

Normalisation et preprocessing (Text Preparation)

La qualité de l'embedding dépend du preprocessing. Étapes critiques : (1) chunking (découper en segments de 256-1024 tokens), (2) nettoyage (supprimer URLs,代码, ponctuation excessive), (3)保留 structure (paragraphes, listes séparés). Chunking optimal : 512 tokens avec overlap de 20% entre chunks pour maintenir le contexte. Outils : LangChain, LlamaIndex pour le chunking intelligent avec métadonnées (titre, source, date).

Le cycle d'optimisation des embeddings

  1. Text extraction — parser le document (PDF, HTML, Markdown) en texte brut
  2. Chunking stratégique — définir la taille de chunk (256-1024 tokens) selon le type de contenu
  3. Preprocessing — nettoyer, conserver les métadonnées (source, titre, date)
  4. Embedding generation — appeler l'API du modèle d'embedding (OpenAI, Cohere, Mistral)
  5. Indexation vectorielle — stocker dans Pinecone/Qdrant/FAISS avec métadonnées
  6. Query embedding — embed la requête utilisateur, search dans l'index
  7. Hybrid reranking — combiner score vectoriel et BM25 keyword score

Exemple concret

Une bibliothèque numérique veut un moteur de recherche sémantique sur 50 000 articles (500M de tokens). Recherche keyword classique : 82% de pertinence perçue. Avec embeddings OpenAI text-embedding-3-small sur chunks de 512 tokens : +15% de pertinence (97% vs 82%), temps de réponse moyen 45ms pour 50 000 vecteurs indexés. Coût : $0.13 pour embed la bibliothèque entière (50 000 × 512 tokens / 1M × $0.0001). Comparaison : Pinecone serverless ($0.025/1K req) vs self-hosted FAISS (gratuit mais maintenance).

Applications

  • Moteur de recherche sémantique (RAG, knowledge base)
  • Déduplication de contenu (vecteurs similaires = doublon)
  • Classification automatique de documents
  • Recommandation de contenu similaire
  • Question answering sur corpus privé
  • Semantic clustering pour segmentation de contenu

Métriques clés

MétriqueBenchmarkObjectif
Perf text-embedding-3-small (MTEB)62%> 60%
Perf text-embedding-3-large (MTEB)65%> 64%
Temps de search (50K vecteurs)45ms< 100ms
Chunk size optimal512 tokens256-1024 selon
Overlap recommandé20%15-25%
Coût embedding (OpenAI)$0.0001/1K tok—