EncouRAGe - Cheatsheet Évaluation Locale RAG
EncouRAGe est un framework open-source pour évaluer les pipelines de retrieval-augmented generation (RAG) avec un accent sur l”exécution locale, rapide et fiable. Alors que de nombreux évaluateurs RAG font appel à des modèles juges hébergés, EncouRAGe est conçu pour calculer les métriques de retrieval et génération sur votre propre matériel, en gardant les données d”évaluation privées et les résultats reproductibles. Il s”adapte au modèle 2026 où la qualité RAG est traitée comme une propriété d”ingénierie mesurable plutôt que comme une sensation.
Les frameworks d”évaluation évoluent rapidement. Traitez les commandes ci-dessous comme la forme du flux de travail et confirmez les drapeaux exacts par rapport à la documentation actuelle.
Installation
| Méthode | Commande |
|---|
| pip | pip install encourage |
| Depuis la source | git clone le dépôt, puis pip install -e . |
| Modèles juge locaux | tirer les modèles via votre runtime local (ex. Ollama/vLLM) |
| Vérification | python -c "import encourage; print(''ok'')" |
Pourquoi lӃvaluation Locale
| Avantage | Pourquoi c”est important |
|---|
| Confidentialité | Vos documents/requêtes ne quittent jamais votre machine |
| Reproductibilité | Même modèle + seed → mêmes scores |
| Coût | Aucune facturation API par évaluation |
| Vitesse | Lots localement sans limites de débit |
Ce Qui est Mesuré
L”évaluation RAG se divise en les deux moitiés du pipeline.
| Moitié | Métriques |
|---|
| Retrieval | Context precision, context recall, hit rate, MRR/NDCG |
| Génération | Faithfulness (grounding), answer relevance, correctness |
| Bout-en-bout | Si la réponse finale est correcte et supportée |
Flux de Travail Principal
# Flux conceptuel : assembler un dataset, exécuter votre RAG, le scorer
import encourage
dataset = encourage.load_dataset("eval_questions.jsonl") # question, ground_truth, contexts
results = encourage.evaluate(
dataset=dataset,
metrics=["faithfulness", "answer_relevance",
"context_precision", "context_recall"],
judge_model="local/llama-3.1-8b-instruct", # s''exécute localement
)
print(results.summary()) # scores par métrique
results.to_json("eval.json")
| Étape | Objectif |
|---|
| Dataset | Questions + (optionnellement) vérité de base + contextes récupérés |
| Métriques | Quelles dimensions de retrieval/génération scorer |
| Modèle juge | Le LLM local utilisé pour les métriques LLM-as-judge |
| Résultats | Scores agrégés + par exemple, exportables |
Construire un Dataset dӃvaluation
| Champ | Signification |
|---|
question | La requête utilisateur |
contexts | Chunks que votre retriever a retourné |
answer | La réponse générée par votre pipeline |
ground_truth | Réponse de référence (pour la correction/recall) |
Récolter les vraies questions à partir des traces en production pour rendre l”évaluation représentative.
Interpréter les Résultats
| Symptôme | Cause probable |
|---|
| Context recall faible | Le retriever manque des chunks pertinents (chunking/embedding) |
| Context precision faible | Trop de contexte non pertinent récupéré (ajouter le reranking) |
| Faithfulness faible | Le modèle hallucine au-delà du contexte |
| Answer relevance faible | La réponse dévie de la question (problème de prompt/requête) |
L”Adapter dans CI
# Gater un changement RAG sur les scores d''évaluation
python run_eval.py --dataset eval.jsonl --min-faithfulness 0.85 \
--min-context-recall 0.8 || exit 1
Exécuter le même ensemble d”évaluation à chaque changement de retrieval/prompt/modèle pour que les régressions soient détectées avant expédition.
EncouRAGe vs Autres Évaluateurs RAG
| Aspect | EncouRAGe | RAGAS | TruLens | DeepEval |
|---|
| Emphase | Évaluation locale, rapide, reproductible | Métriques RAG sans référence | Monitoring + tracing OTel | Mentalité unittest, CI |
| Juge | Modèles locaux | Configurable | Configurable | Configurable |
| Meilleur pour | Évaluation privée, on-prem | Score RAG rapide | Monitoring production | Gates CI style pytest |
Conceptuellement associable avec RAGAS, TruLens et DeepEval — choisir selon que vous ayez besoin de confidentialité locale, de métriques rapides, du monitoring ou des gates CI.
Ressources