自前の評価基準(ルーブリック)を定義し、RAGシステムの回答忠実度やハルシネーションを多角的に自動検査する実践を学びます。
生成型LLM(GPT-4等)に対する「思考の連鎖(CoT: Chain-of-Thought)」とは対照的に、Jevは提示された基準(Criteria)と状態(State)を文字通りに直接照合します。
そのため、高精度な評価を行うためには以下の3原則が不可欠です:
Score の基準配列は、必ずインデックス0(最悪)から最後のインデックス(最善)へと段階的に記述します。Jevはこの順序を前提として期待スコア(加重平均)を計算します。state には不要なHTMLタグや余計なメタデータを含めず、評価に必要なキー(context, query, answer)だけに絞り込みます。1つの質問だけで合否を決めるのではなく、「Noul」「Choice」「Score」を組み合わせることで、極めて堅牢な多層防衛ラインが構築できます。
ワークスペース内に用意した実践スクリプト custom_eval_pipeline.py では、4種類のRAG回答サンプルを一括評価しています:
# 実行コマンド
uv run python custom_eval_pipeline.py
| サンプル | 忠実度スコア | 確信度 | ハルシネ確率 | 欠陥分類 | 最終判定 |
|---|---|---|---|---|---|
| 01. 高品質 | 1.94 / 2.00 | 95.0% | 3.0% | none | ✅ PASS |
| 02. ハルシネ混入 | 0.11 / 2.00 | 91.0% | 96.0% | hallucination | ❌ REJECT |
| 03. 情報欠落 | 1.05 / 2.00 | 85.0% | 3.0% | missing_info | ❌ REJECT |
| 04. 論点乖離 | 0.11 / 2.00 | 91.0% | 3.0% | irrelevant | ❌ REJECT |
Jevの Score プリミティブでルーブリック(評価基準)を定義する際、モデルの精度と期待スコア計算を正しく機能させるための最重要ルールはどれですか?
RAGシステムにおいて、致命的な事実捏造(ハルシネーション)をミリ秒単位で検知・遮断するために最も効果的なJevの設計パターンはどれですか?
おめでとうございます!本レッスンをもって、当初掲げた「Jevの特性理解と、Pythonからの自作ルーブリック評価タスクの実践」というミッションは完全に達成されました。
ワークスペース内のコード(custom_eval_pipeline.py)は、ご自身のプロジェクトや別の評価タスク(チャットボット評価、メール分類、社内規約検査など)にもそのまま流用可能です。ぜひ自由に改変して試してみてください!