Aller au contenu principal

Architecture RAG

Hybrid RAG

Combiner la précision lexicale de BM25 et la compréhension sémantique des embeddings. Le meilleur des deux mondes pour le retrieval.

Mis à jour en avril 2026 - Benchmarks BEIR (Thakur et al., 2021)

Ni sparse ni dense : les deux

BM25 excelle quand la requête contient les mots exacts du document : un code erreur, un nom de fonction, un identifiant. Mais il échoue sur les synonymes et les reformulations. Les embeddings capturent le sens mais manquent les termes techniques précis. Aucun des deux ne domine l'autre - leurs forces sont complémentaires.

Hybrid RAG fusionne les résultats des deux retrievers. Sur les benchmarks BEIR (13 datasets, multi-domain), l'approche hybride surpasse systématiquement le meilleur retriever seul de 10-20 % en NDCG@10. Le gain est particulièrement élevé sur les domaines spécialisés (biomédical, finance, juridique) où le vocabulaire technique coexiste avec des requêtes en langage naturel.

La question n'est pas "sparse ou dense ?" mais "comment fusionner ?". Trois méthodes dominent : Reciprocal Rank Fusion (RRF), score linéaire pondéré, et Learn-to-Rank. Chacune a ses compromis en simplicité, robustesse et performance.

Outils interactifs

Comparez les modes de retrieval et ajustez la pondération sparse/dense.

Simulateur hybrid search

Comparez les résultats BM25, embedding et hybride sur 3 types de requêtes.

Requête utilisateur

erreur CORS preflight Access-Control-Allow-Origin

MDN : CORS errors - Access-Control-Allow-OriginPertinent
92 %
Stack Overflow : CORS preflight request failsPertinent
85 %
Chrome DevTools : Network error messagesHors sujet
61 %

Précision : 2/3 pertinents - BM25 excelle sur les termes exacts mais manque le contexte sémantique.

Simulation pédagogique. En production, les scores dépendent du modèle d'embedding, de l'index BM25 et de la méthode de fusion.

Calculateur de pondération hybride

Ajustez le ratio sparse/dense et la méthode de fusion pour estimer l'impact sur le recall.

Méthode de fusion

Reciprocal Rank Fusion

Fusionne les classements (pas les scores) des deux retrievers. Chaque document reçoit un score basé sur son rang : 1/(k+rang). Robuste car indépendant de l'échelle des scores. Paramètre k typique : 60.

50/50 - Équilibré. Point de départ recommandé pour la plupart des corpus.

Recall sparse seul

65 %

Recall dense seul

72 %

Recall hybride estimé

85 %

Gain hybride : +13points de recall vs le meilleur retriever seul. La fusion exploite la complémentarité : BM25 trouve les termes exacts, l'embedding capture le sens.

Estimation indicative basée sur les benchmarks BEIR (Thakur et al., 2021). Le recall réel dépend du corpus, du modèle d'embedding et du tuning.

Les 2 piliers du retrieval

Comprendre les forces et faiblesses de chaque retriever est essentiel pour calibrer la fusion hybride.

BM25 (sparse retrieval)

Recherche lexicale basée sur la fréquence des termes. BM25 calcule un score TF-IDF amélioré : les documents contenant les mots exacts de la requête sont favorisés.

Forces

  • Excellent sur les termes exacts (noms propres, codes erreur, identifiants)
  • Pas de modèle à entraîner - fonctionne out of the box
  • Interprétable : on voit quels termes matchent
  • Rapide et léger (index inversé)

Faiblesses

  • Ne comprend pas les synonymes ("voiture" ≠ "automobile")
  • Sensible au vocabulaire exact de la requête
  • Pas de compréhension sémantique du contexte

Embeddings (dense retrieval)

Recherche sémantique par similarité vectorielle. Les documents et requêtes sont encodés en vecteurs denses par un modèle d'embedding (e5-large, BGE, Cohere embed).

Forces

  • Comprend le sens : "voiture" ≈ "automobile"
  • Capture l'intention derrière la requête
  • Fonctionne même avec un vocabulaire différent
  • Améliore avec des modèles plus performants

Faiblesses

  • Peut manquer les termes techniques exacts
  • Nécessite un modèle d'embedding (coût, latence)
  • Opaque : difficile d'expliquer pourquoi un résultat est remonté

3 méthodes de fusion

La fusion détermine comment combiner les résultats des deux retrievers en un classement unique. Du plus simple au plus performant.

Reciprocal Rank Fusion (RRF)

Simple

Fusionne les classements, pas les scores. Chaque document reçoit score = 1/(k+rang) pour chaque retriever, les scores sont sommés.

Avantages

  • Robuste : indépendant de l'échelle des scores
  • Pas de normalisation requise
  • Un seul hyperparamètre (k, typiquement 60)

Inconvénients

  • Ignore la magnitude des scores
  • Pas de pondération sparse/dense native

Score linéaire pondéré

Simple

Combine les scores normalisés : score_final = alpha * score_sparse + (1-alpha) * score_dense. Le paramètre alpha contrôle le ratio.

Avantages

  • Intuitif et simple à implémenter
  • Contrôle direct du ratio sparse/dense
  • Facile à tuner par grid search

Inconvénients

  • Nécessite une normalisation min-max des scores
  • Sensible aux distributions de scores
  • Un seul alpha pour toutes les requêtes

Learn-to-Rank (LTR)

Avancé

Un modèle ML (XGBoost, LambdaMART) apprend la pondération optimale. Features : scores sparse, dense, overlap, longueur requête/document.

Avantages

  • Pondération adaptative par requête
  • Capture des interactions non-linéaires
  • Meilleure performance avec suffisamment de données

Inconvénients

  • Nécessite des données de relevance annotées
  • Risque d'overfitting sur le corpus d'entraînement
  • Plus complexe à déployer et maintenir

Benchmarks Hybrid Retrieval

L'hybride surpasse systématiquement le meilleur retriever seul. Le gain varie selon la diversité lexicale du corpus et la nature des requêtes.

DatasetTypeHybrideBaselineNote
BEIR (13 datasets)Multi-domain+10-20 % NDCG@10Dense seul (Contriever)Le gain hybride est maximal sur les domaines avec vocabulaire technique (BioASQ, FiQA, SciFact).
MS MARCO PassageWeb search+5-8 % MRR@10BM25 seulLes requêtes web mélangent termes exacts et intention sémantique. L'hybride capture les deux.
Natural QuestionsOpen-domain QA+8-12 % Recall@20DPR seulBM25 rattrape les entités nommées que DPR manque. Le gain est concentré sur les requêtes factuelles.
TREC-COVIDDomaine spécialisé+15-25 % NDCG@10Dense seulVocabulaire médical spécialisé. BM25 capture les termes exacts ("SARS-CoV-2"), l'embedding capture les concepts liés.

Hybrid vs sparse vs dense vs HyDE

L'hybride agit au niveau du retrieval (comment chercher), HyDE agit au niveau de la requête (quoi chercher). Les deux approches sont compatibles.

CritèreHybrideSparseDenseHyDE
Termes exactsFort (via BM25)FortFaibleModéré (via doc hypothétique)
Compréhension sémantiqueFort (via embeddings)FaibleFortFort (doc enrichi)
LatenceModérée (2 retrievers + fusion)Faible (index inversé)Modérée (ANN search)Élevée (+appel LLM)
ComplexitéModérée (2 index + fusion)FaibleModéréeModérée (+prompt)
CoûtIndex sparse + index denseFaibleModéré (embedding)Modéré (LLM par requête)
Cas d'usage idéalRequêtes mixtes (termes + sens)Requêtes techniques exactesRequêtes en langage naturelGap sémantique élevé

5 limites à connaître

L'hybride est le standard production 2026, mais il introduit une complexité opérationnelle que le retriever unique n'a pas.

1. Double index à maintenir

L'approche hybride nécessite deux index séparés : un index inversé BM25 et un index vectoriel. Chaque ajout ou modification de document doit être propagé aux deux. La synchronisation est un point de complexité opérationnelle supplémentaire.

2. Normalisation des scores

Les scores BM25 et cosine similarity vivent sur des échelles différentes. Le score linéaire pondéré nécessite une normalisation (min-max ou z-score) pour que l'alpha ait un sens. Une mauvaise normalisation biaise la fusion vers l'un des deux retrievers.

3. Alpha statique

Avec le score pondéré, l'alpha est fixe pour toutes les requêtes. Or, certaines requêtes bénéficient plus du sparse (termes exacts) et d'autres du dense (sémantique). Un alpha unique est un compromis. Le Learn-to-Rank résout ce problème mais nécessite des données annotées.

4. Latence additionnelle

Deux recherches parallèles + fusion ajoutent de la latence par rapport à un seul retriever. En pratique, BM25 est rapide (< 10 ms) et le surcoût vient surtout de la fusion. Avec RRF, l'overhead est de 1-5 ms. Avec LTR, il peut monter à 20-50 ms.

5. Gain marginal sur corpus homogène

Si le corpus est homogène et les requêtes sont systématiquement du même type (toujours sémantiques ou toujours lexicales), l'hybride apporte peu par rapport au meilleur retriever seul. Le gain est maximal sur les corpus diversifiés avec des requêtes hétérogènes.

Hybrid RAG : le standard du retrieval production

L'hybride n'est pas une optimisation marginale - c'est le socle du retrieval en production. La complémentarité entre BM25 et embeddings élimine les angles morts de chaque approche. Commencez par RRF (zéro tuning), puis passez au score pondéré ou Learn-to-Rank si vous avez des données de relevance.

Pour enrichir la requête avant le retrieval hybride, combinez avec HyDE. Pour capturer les relations entre entités en plus de la similarité, ajoutez Graph RAG. Retrouvez toutes les architectures dans le guide des 12 architectures RAG.