Reranking : Définition et Exemples
Le reranking est une technique qui consiste à réordonner une liste de résultats initiaux en appliquant un modèle plus précis, afin d'améliorer la pertinence des éléments les mieux classés.
Définition complète
Le reranking (ou re-classement) est une étape de post-traitement utilisée dans les systèmes de recherche d'information et de génération augmentée par la récupération (RAG). Son principe est simple : après une première phase de récupération rapide qui retourne un ensemble de candidats, un modèle plus sophistiqué réévalue et réordonne ces résultats pour placer les plus pertinents en tête de liste.
Dans un pipeline RAG typique, la recherche initiale repose souvent sur des méthodes rapides mais approximatives, comme la similarité cosinus entre embeddings ou la recherche par mots-clés (BM25). Ces approches sont efficaces pour réduire un corpus de millions de documents à quelques dizaines de candidats, mais elles manquent parfois de finesse. Le reranker intervient alors comme un second filtre, utilisant un modèle cross-encoder qui analyse conjointement la requête et chaque document candidat pour produire un score de pertinence beaucoup plus précis.
Les modèles de reranking les plus courants sont des transformers entraînés spécifiquement pour cette tâche, comme Cohere Rerank, les modèles cross-encoder de la famille SBERT, ou encore les rerankers de Jina AI. Contrairement aux bi-encoders utilisés lors de la phase de récupération, ces modèles prennent en entrée la paire (requête, document) et peuvent capturer des interactions sémantiques fines entre les deux textes.
Le reranking est devenu un composant essentiel des architectures RAG modernes car il permet d'améliorer significativement la qualité des réponses générées par les LLM, en s'assurant que le contexte fourni au modèle contient bien les informations les plus pertinentes. L'investissement en temps de calcul reste raisonnable puisque le reranker ne traite que les N premiers résultats de la recherche initiale, typiquement entre 20 et 100 documents.
Étymologie
Le terme "reranking" vient de l'anglais "to rank" (classer) avec le préfixe "re-" (à nouveau). Il signifie littéralement "reclasser" ou "réordonner". Le concept est issu du domaine de la recherche d'information (Information Retrieval) où les architectures en deux étapes (retrieve then rerank) sont utilisées depuis les années 2000, bien avant l'ère des LLM.
Exemples concrets
Pipeline RAG pour un chatbot documentaire
Tu es un assistant qui répond aux questions à partir de documents internes. Voici les 5 passages les plus pertinents après reranking. Utilise uniquement ces passages pour répondre, en privilégiant les premiers qui sont les plus pertinents.
Amélioration d'un moteur de recherche e-commerce
Reclasse ces 20 résultats de recherche pour la requête 'chaussures de randonnée imperméables' en tenant compte de la pertinence du titre, de la description produit et des avis clients. Retourne les 5 résultats les plus pertinents dans l'ordre.
Filtrage de contexte avant injection dans un prompt
Parmi ces 10 extraits de documentation, identifie les 3 plus pertinents pour répondre à la question suivante : 'Comment configurer l'authentification OAuth2 ?' Classe-les par ordre de pertinence décroissante.
Usage pratique
En prompt engineering, le reranking s'applique principalement dans les pipelines RAG pour améliorer la qualité du contexte injecté dans vos prompts. Intégrez un modèle de reranking (comme Cohere Rerank ou un cross-encoder) entre votre étape de récupération vectorielle et l'appel au LLM. Cela permet de réduire le bruit dans le contexte fourni et d'obtenir des réponses plus précises, surtout quand la recherche initiale retourne des résultats de pertinence variable.
Concepts liés
FAQ
Quelle est la différence entre le ranking initial et le reranking ?
Le reranking est-il indispensable dans un pipeline RAG ?
Quels outils utiliser pour implémenter le reranking ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.