ArtefactNeural
RAG local2 min de lecture

Reranking cross-encoder : servir le bon passage, pas le fichier entier

Le reranking reclasse les candidats d'une première recherche pour mettre le meilleur en tête. Un cross-encoder lit la question et chaque passage ensemble, ce qui donne un score bien plus précis qu'une distance vectorielle. On l'applique à une présélection, puis on sert le passage exact, pas le fichier entier.


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.

  1. 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.
  2. 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.

Questions fréquentes

Qu'est-ce que le reranking ?
Une étape qui re-note les meilleurs candidats d'un retrieval contre ta question, pour faire remonter le passage le plus juste en tête, avant de le servir au modèle.
Bi-encoder ou cross-encoder ?
Le bi-encoder (embeddings) est rapide et sert à la présélection. Le cross-encoder est plus précis mais plus lourd, on l'applique donc seulement au top des candidats pour les reclasser.

Smart Brain est le moteur de RAG local derrière Artefact Neural. Voir les offres ou lire la documentation.