Le pipeline : (1) encoder tes documents en embeddings à l'aide d'un modèle comme BGE, E5 ou Voyage, (2) stocker ces embeddings dans une base de données vectorielle (Pinecone, Qdrant, Weaviate, pgvector), (3) quand une requête arrive, l'encoder avec le même modèle, (4) trouver les embeddings les plus proches en utilisant des métriques de similarité comme la similarité cosinus ou le produit scalaire. La requête « comment corriger une fuite de mémoire » correspond à un document intitulé « déboguer la consommation de RAM dans Node.js » parce que leurs embeddings sont proches dans l'espace vectoriel.
La recherche sémantique pure a une faiblesse : elle peut manquer des correspondances exactes que la recherche par mots-clés attrape facilement. Si quelqu'un cherche le code d'erreur « ERR_SSL_PROTOCOL_ERROR », la recherche sémantique pourrait retourner du dépannage SSL général au lieu de l'erreur exacte. La recherche hybride combine les deux : correspondance par mots-clés (BM25) pour la précision et recherche sémantique pour le rappel, puis fusionne les résultats. La plupart des systèmes de recherche en production utilisent des approches hybrides.
La qualité de la recherche sémantique dépend entièrement du modèle d'embedding. Les modèles à usage général (text-embedding-3 d'OpenAI, Cohere Embed) fonctionnent bien pour la plupart des textes. Les modèles spécialisés (entraînés sur des données médicales, juridiques ou de code) surpassent les modèles généraux dans leur domaine. Les modèles multilingues permettent la recherche interlinguistique. Le leaderboard MTEB évalue les modèles d'embedding sur de nombreuses tâches — c'est la meilleure ressource pour en choisir un.