Un embedding est une représentation mathématique (un vecteur de centaines de chiffres) d’un texte, conçue pour que des textes au sens proche aient des vecteurs proches dans l’espace mathématique. C’est la brique qui permet la recherche sémantique et le RAG.
À quoi ça sert
Quand vous transformez tous vos documents en embeddings et les stockez, vous pouvez ensuite chercher par sens, pas par mot-clé. "comment annuler une commande" trouve le document "process de remboursement" même s’il n’y a aucun mot en commun.
Différence avec la recherche classique
Une recherche classique (Elasticsearch, PostgreSQL FTS) cherche par mots exacts ou approchants. La recherche par embeddings cherche par sens. Pour des documents complexes (contrats, FAQ, articles), le résultat est radicalement supérieur.
Comment c’est généré
Via un modèle d’embedding spécialisé (OpenAI text-embedding-3, Cohere embed-v4, modèles open-source). Stocké ensuite dans une base vectorielle : pgvector (PostgreSQL), Pinecone, Weaviate, ou Qdrant.
Exemple concret
Pour 10 000 articles d’un blog, générer les embeddings coûte ~5€ avec OpenAI. Stocker dans Supabase pgvector : gratuit. Recherche en 200ms.
À retenir
Les embeddings sont invisibles côté utilisateur, mais c’est ce qui rend le RAG et les agents intelligents vraiment utiles.