Recherche hybride et fusion de rangs
Interroger en parallèle deux moteurs qui ne se trompent pas de la même façon, puis fusionner leurs classements. Le moteur vectoriel retrouve le sens et rate la référence exacte ; le moteur par mots-clés (BM25) retrouve le terme littéral et rate la reformulation. Leurs scores ne sont pas comparables, on ne peut donc pas en faire la moyenne. La fusion de rangs réciproques contourne le problème en ne regardant que les positions : chaque document reçoit la somme, sur chaque liste, de 1 divisé par (k plus son rang), où k vaut 60 par défaut. Le résultat sert de première passe, avant qu'un modèle de re-classement trie la courte liste envoyée au générateur.
Forces
- Aucun réglage à trouver : la fusion travaille sur des rangs, elle marche même entre deux moteurs sans rapport
- Répare la panne la plus visible d'un RAG maison, la référence exacte que l'utilisateur cherche et ne trouve pas
- Déjà implémentée en natif par les moteurs de recherche courants, il y a rarement du code à écrire
Limites
- Deux moteurs à alimenter et à tenir synchronisés, donc une indexation plus lourde à exploiter
- La valeur 60 est un défaut hérité de corpus très larges : sur une base de quelques centaines de pages, elle mérite d'être remise en question
- Ne rattrape pas un découpage raté : si le morceau utile a été coupé en deux, aucune fusion ne le recollera
Pour qui
- Un corpus mêlant prose et identifiants, catalogues produit, documentation technique, base juridique
- Diagnostiquer un RAG qui répond à côté avant de changer de modèle ou de fournisseur