Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Outils open source — Gratuits, portables, hors ligne
Caractéristiques communes
100 % hors ligne — aucune donnée transmise
Portables — un seul fichier exécutable
Gratuits — MIT ou GPL v3
Code source ouvert sur GitHub
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Academy Contact

Reranking

ia

Définition

Le Reranking est une etape cruciale d'optimisation dans les pipelines RAG qui ameliore la qualite du retrieval en reclassant les chunks initialement recuperes par un modele de scoring plus precis. La ou le retrieval initial utilise des embeddings bi-encoder (rapide, scalable mais moins precis), le reranking utilise un cross-encoder (lent, precis) pour evaluer la pertinence. Le pipeline two-stage : (1) Fast Retrieval — recuperer les top-50 ou top-100 chunks via embeddings vectoriels ou BM25. (2) Reranking — un cross-encoder evalue chaque paire (requete, chunk) en les traitant conjointement via l'attention complete, produisant un score de pertinence precis. (3) Top-k — les k chunks avec les meilleurs scores sont passes au LLM. La difference fondamentale entre bi-encoder et cross-encoder : le bi-encoder encode requete et document separement (pas d'interaction directe entre eux, necessaire pour la scalabilite). Le cross-encoder encode la paire ensemble via le Self-Attention, permettant aux tokens de la requete de 'voir' directement les tokens du document. Des modeles de reranking populaires : Cohere Rerank (API commerciale), bge-reranker-v2-m3 (BAAI, multilingue excellent), Jina Reranker v2, et ms-marco-MiniLM-L-6-v2 (small, rapide). Ces modeles sont entraines specifiquement pour le passage ranking. Pour les systemes RAG enterprise, l'ajout du reranking apres un retrieval top-50 est l'une des ameliorations les plus impactantes : +10-20% de precision sur les benchmarks RAG comme RAGAS ou BEIR, pour +50-200ms de latence supplementaire.

Implementation reranking

from sentence_transformers import CrossEncoder

reranker = CrossEncoder('BAAI/bge-reranker-v2-m3', max_length=1024)

def rerank_chunks(query, chunks, top_k=4):
    pairs = [(query, chunk.page_content) for chunk in chunks]
    scores = reranker.predict(pairs)
    ranked = sorted(zip(scores, chunks), key=lambda x: x[0], reverse=True)
    return [chunk for _, chunk in ranked[:top_k]]

# Pipeline complet avec reranking
initial_chunks = retriever.invoke(query, k=50)  # Retrieval large
final_chunks = rerank_chunks(query, initial_chunks, top_k=4)  # Reranking precis

Avec Cohere Rerank (API)

import cohere
co = cohere.Client('YOUR_API_KEY')

results = co.rerank(
    query=question,
    documents=[c.page_content for c in initial_chunks],
    top_n=5,
    model='rerank-multilingual-v3.0'  # Support francais natif
)
reranked_docs = [initial_chunks[r.index] for r in results.results]

Impact sur les benchmarks RAG

Sur BEIR, bge-reranker-v2-m3 ameliore le NDCG@10 de +8 a +15 points vs retrieval vectoriel seul. ROI tres favorable : +50-200ms de latence, +10-20% de qualite.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis