RAGASおよびカスタムベンチマークを使用した、検索指標・生成評価・エンドツーエンド評価によるRAG品質の測定。
RAG評価では検索と生成の指標を分けて測定します。検索指標:precision@k、recall@k、MRR、NDCG。生成指標:忠実度、関連性、流暢さ。エンドツーエンド:人手評価またはLLM-as-judge。質問・関連ドキュメント・正解を含む評価データセットを構築します。
RAGシステムの評価は検索(Retrieval)と生成(Generation)の2つのサブシステムに分けて行うのが原則です。全体的な回答品質を測定するだけでは、問題が検索側(関連文書を見つけられない)にあるのか生成側(文書はあるが正しく活用できない)にあるのかが分かりません。各コンポーネントを独立して評価し、ボトルネックを特定します。
Precision@K:取得した上位K件の文書のうち関連文書の割合。K=5で3件が関連ならPrecision@5=0.6。Recall@K:全関連文書のうち取得した上位K件に含まれる割合。全関連文書が5件でK=10に4件含まれればRecall@10=0.8。これらは評価データセット(クエリと正解文書のペア)が必要です。Ground truthデータセットの構築が最大の工数となります(200〜500クエリ)。
MRR(Mean Reciprocal Rank):最初の関連文書が何位に現れるかの逆数の平均。1位なら1.0、2位なら0.5。RAGでは最初の関連文書が重要なので有用な指標です。NDCG(Normalized Discounted Cumulative Gain):位置に応じて重み付けした累積ゲイン。高い位置の関連文書により高いスコアを与えます。複数の関連度レベル(完全関連/部分関連/非関連)がある場合に特に有用です。
忠実度:生成された回答が取得した文書コンテキストから直接サポートされているか。文書に書かれていないことをLLMが作り上げていないか(ハルシネーション検出)。関連性:生成された回答がユーザーの質問に実際に答えているか。RAGASフレームワーク(Python、pip install ragas)はこれらを自動計算し、LLM-as-judgeで採点します。GPT-4またはClaude 3をjudgeとして使うのが一般的です。
RAGASが提供する追加指標:Context Precision:取得した文脈の中で実際に回答生成に使われた部分の割合(ノイズの少なさ)。Context Recall:正解回答を生成するために必要な情報が取得した文脈に含まれているか。これら4指標(Faithfulness、Answer Relevancy、Context Precision、Context Recall)がRAGASのコア指標セットです。
RAGASのTestsetGenerator:コーパスから自動的にQA評価セットを生成します。ドキュメントからLLMが質問と正解を生成し、human reviewで品質確認します。対象範囲:単純な事実確認クエリ、複数文書にまたがる複合クエリ、推論が必要なクエリ。合成データセットの落とし穴:自動生成された質問は人間が実際に聞くような質問と乖離することがあります。最低でも実ユーザークエリの20%を評価データに含めます。
人手評価はゴールドスタンダードですが、スケールしません。LLM-as-judge(GPT-4やClaude 3で採点)はスケールできますが、バイアスが生じる可能性があります。ポジションバイアス(最初に提示された回答を好む傾向)、詳細さバイアス(長い回答を好む傾向)を考慮して、比較評価では回答の順序をランダム化します。主観的な採点基準は詳細なルーブリックで明確化し、評価一貫性をCohens κで測定します。
オフライン評価:コードをデプロイする前に評価スイートを実行します。CIパイプラインに評価テストを組み込み、RAGASスコアが一定閾値を下回るとマージをブロックします。オンライン評価:本番環境でのユーザーフィードバック(「この回答は役立ちましたか?」)、暗黙的フィードバック(フォローアップ質問の減少が解決を示す)、回答への引用/コピーを追跡します。
システム変更(チャンクサイズ変更、エンベディングモデル変更、プロンプト変更)の影響を測定するために評価スナップショットを保持します。変更前後でRAGASスコアを比較し、改善か退行かを判定します。自動評価ではツール:Giskard、PromptFoo、またはカスタムPythonスクリプト(pytest + RAGASフレームワーク)が利用できます。
フェーズ1:手動でゴールドスタンダードデータセットを100件作成(実ユーザークエリから選定)、RAGASで4指標を計算してベースラインを確立。フェーズ2:自動評価をCIパイプラインに組み込み、デプロイ前にスコア閾値を強制。フェーズ3:本番での暗示的フィードバック収集とドリフトモニタリング。評価は1回で終わらず、システムが進化するにつれて継続的に改善するプロセスです。
From guide to production
Our team has hands-on experience implementing these systems. Book a free architecture call to discuss your specific requirements and get a clear delivery plan.
御社の課題をお聞かせください。24時間以内に、AI活用の可能性と具体的な進め方について無料でご提案いたします。
Boolean and Beyond
825/90, 13th Cross, 3rd Main
Mahalaxmi Layout, Bengaluru - 560086
590, Diwan Bahadur Rd
Near Savitha Hall, R.S. Puram
Coimbatore, Tamil Nadu 641002