Recherche Hybride — Combinaison Vectorielle et Lexicale pour le RAG

Point clé : Ni la recherche vectorielle ni la recherche lexicale n'est universellement supérieure. La recherche hybride tire le meilleur des deux en les combinant — et surpasse systématiquement chaque approche seule dans les évaluations de récupération RAG.

Définition

La recherche hybride est une architecture de récupération d'information qui combine deux signaux complémentaires : la recherche vectorielle (similarité sémantique via embeddings) et la recherche lexicale (correspondance de termes via BM25 ou TF-IDF). Les résultats des deux systèmes sont fusionnés via un algorithme de reranking, produisant une liste finale qui capture à la fois la pertinence sémantique et la précision des termes exacts.

Pourquoi la Combinaison Surpasse Chaque Approche

Forces de la Recherche Vectorielle

  • Trouve des documents sémantiquement proches même sans termes communs
  • Robuste aux paraphrases et synonymes
  • Gère bien les requêtes en langage naturel

Forces de la Recherche Lexicale (BM25)

  • Excellente précision sur les termes techniques, acronymes, noms propres
  • Rapide et peu coûteuse en ressources
  • Prévisible et interprétable

Le Problème de Chacune Seule

La recherche vectorielle peut manquer des documents contenant des termes techniques exacts mais formulés différemment du contexte d'entraînement des embeddings. La recherche lexicale manque les synonymes et variations de formulation. La recherche hybride comble ces lacunes mutuelles.

Architecture d'une Recherche Hybride

  1. Exécuter la requête en parallèle sur l'index vectoriel et l'index BM25.
  2. Obtenir deux listes de résultats classés.
  3. Fusionner via Reciprocal Rank Fusion (RRF) ou un modèle de reranking cross-encoder.
  4. Retourner les k meilleurs résultats fusionnés.

Le RRF est la technique de fusion la plus répandue : il attribue un score à chaque document basé sur son rang dans chaque liste, en donnant plus de poids aux documents classés haut dans les deux listes.

Exemple Pratique : Recherche dans une Base de Contrats

Une base de contrats enterprise contient des milliers de documents avec une terminologie juridique précise. La recherche « limitation de responsabilité clause SaaS » doit à la fois comprendre le concept sémantique (obligation de responsabilité limitée dans les contrats logiciels) et trouver les documents contenant exactement les termes « limitation de responsabilité ». La recherche hybride trouve les deux catégories là où la recherche vectorielle seule pourrait manquer les documents qui utilisent exactement cette formulation standard.

Implémentation

pgvector (via Supabase) supporte la recherche hybride en combinant un index HNSW pour les vecteurs et une recherche full-text PostgreSQL. Qdrant et Weaviate intègrent nativement le support hybride. Elasticsearch/OpenSearch proposent des sparse-dense hybrid retrieval.

FAQ

Q : La recherche hybride est-elle toujours meilleure que la recherche vectorielle seule ? Dans la grande majorité des cas d'usage enterprise, oui. Les benchmarks BEIR montrent des améliorations constantes de 5 à 20 % selon les jeux de données. L'exception est quand les requêtes sont toujours formulées en langage naturel et que les documents ne contiennent pas de terminologie technique précise.

Q : Le reranking cross-encoder est-il nécessaire ? Le RRF est souvent suffisant. Les cross-encoders (modèles qui évaluent la paire requête/passage) améliorent davantage la précision mais ajoutent une latence significative (200-500ms). À utiliser pour les cas d'usage où la précision prime sur la latence.

Q : Comment configurer le ratio vecteur/lexical dans la fusion ? RRF avec k=60 est souvent robuste sans tuning. Si un signal est clairement supérieur pour votre cas d'usage, vous pouvez pondérer les scores en conséquence, mais cela nécessite une évaluation rigoureuse.

Termes Associés