Un retrieval correct te ramène une liste de bons candidats. Mais « bon candidat » et « meilleure réponse à cette question précise », ce n'est pas pareil. Le reranking est l'étape qui transforme un lot de passages plausibles en un classement où le bon passage est vraiment en tête.
Bi-encoder contre cross-encoder
Pour comprendre le reranking, il faut distinguer deux familles de modèles.
- Bi-encoder. C'est ce qui produit tes embeddings. La question et le document sont encodés séparément, puis comparés par une distance vectorielle. C'est rapide, donc parfait pour fouiller des milliers de chunks d'un coup. Mais comme les deux textes ne se « voient » jamais ensemble, le classement reste approximatif.
- Cross-encoder. La question et le candidat passent ensemble dans le modèle, qui produit un score de pertinence direct. C'est beaucoup plus précis, parce que le modèle compare réellement les deux textes. En contrepartie, c'est plus lourd, donc on ne l'utilise que sur une présélection.
Le pipeline en deux temps
L'astuce, c'est de combiner les deux.
- Présélection large. La recherche hybride (embeddings plus BM25) et le graphe ramènent les meilleurs candidats, par exemple le top 100. Rapide, large, tolérant.
- Reranking précis. Un cross-encoder (ici
bge-reranker-v2-m3) re-note ces candidats contre ta question, et on garde le top 5. Lent mais appliqué à peu d'éléments, donc soutenable.
Le résultat : le passage le plus juste remonte en tête, mesuré contre la question, pas contre une simple distance vectorielle.
Servir le passage, pas le fichier
Une fois le bon passage identifié, on sert le chunk qui répond, pas le fichier entier. Ça a deux effets concrets.
- Moins de tokens. Tu n'inondes pas le modèle de contenu hors sujet. Sur une mission type, c'est un ordre de grandeur de tokens en moins sur le retrieval.
- Plus de signal. Le modèle reçoit exactement ce qui répond, donc il répond mieux et reste sourcé.
Mesurer plutôt que croire
Le reranking se valide avec des chiffres. Sur des ground-truths datés, le pipeline atteint un Hit@1 de 0,909 et un Hit@5 autour de 0,98. On reste strict et honnête sur la méthode, sans annoncer un score parfait qui ne voudrait rien dire.
Le reranking est le dernier des trois étages décrits dans le retrieval hybride. Pour le contexte général, vois qu'est-ce qu'un RAG local.
En pratique
Tu n'as pas à assembler ce pipeline à la main. Smart Brain l'embarque, du hybride au reranker, prêt à brancher sur ton vault. La documentation détaille la configuration, et les offres Studio incluent le reranking cross-encoder en local.