Évaluation RAG · Outillage de recherche
2026
RAGlign
Pointez-le vers vos documents : il vous dit quelle configuration RAG utiliser, et le prouve.
Problème
Construire un système RAG impose de choisir une stratégie de découpage, un moteur de recherche, et s'il faut réordonner. Ces choix interagissent, la bonne réponse dépend des documents, et la plupart des équipes tranchent à l'intuition. Mesurer aide moins qu'il ne le devrait, car la mesure standard est biaisée : la vérité terrain est enregistrée comme un identifiant de chunk, or le chunk 57 n'existe qu'à l'intérieur d'une seule stratégie de découpage. Évaluer une autre stratégie face à lui revient à mesurer la similarité des points de coupe, pas la qualité de la recherche.
Contribution
J'ai stocké la vérité terrain comme un intervalle de caractères dans le document d'origine plutôt que comme un identifiant de chunk : chaque stratégie répond ainsi à la même question — as-tu retrouvé le texte qui répond ? — et aucune n'a rédigé la question. Autour de cela, j'ai construit une grille de 30 configurations, des intervalles de confiance par bootstrap sur chaque métrique, un diagnostic par question désignant l'étape fautive, et un tableau de bord qui reclasse en direct selon vos priorités.
- configurations évaluées
- 0configurations évaluées
- hit@5 de biais mesuré
- 0.6hit@5 de biais mesuré
- recherche ↔ qualité des réponses
- +0.95recherche ↔ qualité des réponses
- Python
- sentence-transformers
- BM25
- NumPy
- Streamlit
- pytest
- bootstrap CIs
Architecture
Vérité terrain
- documents
- ~40 questions
- verbatim quotes
- quote resolved to character span
- offset invariant asserted
Évaluation
- 5 chunkers
- 3 retrievers
- reranker on / off
- span overlap
- hit@k
- MRR
- nDCG
- bootstrap CIs
Analyse
- chunker destroyed / degraded
- retriever missed
- reranker demoted
- quality / latency / context weights
- templated explanation
- Streamlit dashboard
- CLI scripts
