EncouRAGe - ローカルRAG評価チートシート
EncouRAGeは検索拡張生成 (RAG) パイプラインを評価するためのオープンソースフレームワークで、ローカルで高速かつ信頼性高く実行することに重点を置いています。多くのRAG評価器がホストされたジャッジモデルを呼び出す場合、EncouRAGeは自分のハードウェアで検索および生成メトリクスを計算するように設計されており、評価データはプライベートなままで、結果は再現可能です。2026年のパターンに適合し、RAG品質は測定可能なエンジニアリング特性として扱われます。
評価フレームワークは急速に進化しています。以下のコマンドをワークフローの形状として扱い、正確なフラグについては現在のドキュメントを確認してください。
インストール
| 方法 | コマンド |
|---|
| pip | pip install encourage |
| ソースから | リポジトリを git clone して pip install -e . |
| ローカルジャッジモデル | ローカルランタイム (例: Ollama/vLLM) 経由でモデルをプル |
| 確認 | python -c "import encourage; print('ok')" |
なぜローカル評価か
| メリット | 重要な理由 |
|---|
| プライバシー | ドキュメント/クエリがマシンを離れない |
| 再現性 | 同じモデル + シード → 同じスコア |
| コスト | API呼び出しごとの評価請求なし |
| スピード | レート制限なしでローカルでバッチ処理 |
測定対象
RAG評価はパイプラインの2つの半分に分かれます。
| 半分 | メトリクス |
|---|
| 検索 | コンテキスト精度、コンテキスト想起、ヒット率、MRR/NDCG |
| 生成 | 忠実性 (グラウンディング)、回答関連性、正確性 |
| エンドツーエンド | 最終回答が正しくサポートされているか |
コアワークフロー
# 概念的なフロー:データセットを集約、RAGを実行、スコア
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", # ローカルで実行
)
print(results.summary()) # メトリクスごとのスコア
results.to_json("eval.json")
| ステップ | 目的 |
|---|
| Dataset | 質問 + (オプション) グラウンドトルース + 検索されたコンテキスト |
| Metrics | スコアするretrieval/生成次元 |
| Judge model | LLM-as-judge メトリクスに使用されるローカルLLM |
| Results | 集計 + 例ごとのスコア、エクスポート可能 |
評価データセット構築
| フィールド | 意味 |
|---|
question | ユーザークエリ |
contexts | リトリバーが返したチャンク |
answer | パイプラインの生成応答 |
ground_truth | リファレンス回答 (正確性/想起用) |
本番トレースから実際の質問を収集して、評価を代表的にします。
結果の解釈
| 症状 | 可能性が高い原因 |
|---|
| 低いコンテキスト想起 | リトリバーが関連チャンクを見逃す (チャンキング/埋め込み) |
| 低いコンテキスト精度 | 無関係なコンテキストが多く取得される (リランキングを追加) |
| 低い忠実性 | モデルがコンテキストを超えてハルシネート |
| 低い回答関連性 | 回答がクエリから逸脱 (プロンプト/クエリ問題) |
CI に組み込む
# RAG変更を評価スコアでゲート
python run_eval.py --dataset eval.jsonl --min-faithfulness 0.85 \
--min-context-recall 0.8 || exit 1
すべてのretrieval/プロンプト/モデル変更で同じeval セットを実行し、出荷前に回帰を検出します。
EncouRAGeと他のRAG評価器
| 側面 | EncouRAGe | RAGAS | TruLens | DeepEval |
|---|
| 重点 | ローカル、高速、再現可能 | リファレンスフリーRAGメトリクス | モニタリング + OTelトレーシング | Unit-testマインドセット、CI |
| ジャッジ | ローカルモデル | 設定可能 | 設定可能 | 設定可能 |
| 最適用途 | プライベート、オンプレミス評価 | クイックRAGスコアリング | 本番モニタリング | Pytest スタイルのCIゲート |
RAGAS、TruLens、DeepEvalと概念的にペア — ローカルプライバシー、クイックメトリクス、モニタリング、またはCIゲートが必要かどうかで選択。
リソース