本文へ移動
AIとLLM SQL レシピ

バージョンごとの RAG 取得品質の評価

RAG パイプラインのバージョン全体で、関連ドキュメントの取得、根拠のある回答、取得レイテンシ、評価コストを比較します。

中級者rag_evaluation_eventsレビュー済み 2026-10-02テスト済み アパッチ DataFusion 45.2.0

レビュー者 Telemetry 製品チーム に . SQL構文、必要なイベント項目、サンプル結果、クエリの利用上の制限を確認しました. このページのレビュー担当

質問に回答しました

新しい RAG パイプラインにより、検索率と根拠のある回答率は向上しましたか?

RAGの品質は1点ではありません。このクエリは、バージョン化されたテスト セットの検索の関連性、回答の根拠、待ち時間、および評価コストをまとめて保持するため、運用上のトレードオフに対して明らかな品質の向上を確認できます。

イベントスキーマ

クエリが期待するフィールド

フィールド種類なぜ存在するのか
timestamp_utcTimestampUTC での評価完了時間。
pipeline_versionUtf8バージョン管理された取得者、インデックス、およびプロンプトの構成。
test_case_idUtf8安定した評価ケースの識別子。
evaluation_run_idUtf8候補パイプライン間で共通に使用する比較実行。
dataset_versionUtf8固定した評価データセットのバージョン。
evaluator_versionUtf8評価器、評価基準、しきい値の設定を識別するバージョン。
relevant_document_retrievedBoolean検索関連性の結果をレビューしました。
answer_groundedBoolean根拠のある回答結果をレビューしました。
retrieval_latency_msInt64取得段階の遅延 (ミリ秒単位)。
cost_usdFloat64バージョン化された推定評価コスト (USD)。
environmentUtf8評価環境または実稼働環境。
DataFusion SQL

クエリをコピーする

sql
WITH cases AS (
  SELECT
    pipeline_version,
    test_case_id,
    COUNT(*) AS records,
    MAX(CASE WHEN relevant_document_retrieved THEN 1
      WHEN relevant_document_retrieved = false THEN 0 END) AS retrieved,
    MAX(CASE WHEN answer_grounded THEN 1
      WHEN answer_grounded = false THEN 0 END) AS grounded,
    MAX(retrieval_latency_ms) AS retrieval_latency_ms,
    MAX(cost_usd) AS cost_usd
  FROM rag_evaluation_events
  WHERE timestamp_utc >= now() - INTERVAL '30 days'
    AND environment = 'evaluation'
    AND evaluation_run_id = 'release-check-001'
    AND dataset_version = 'faq-v1'
    AND evaluator_version = 'grounding-rubric-v1'
    AND pipeline_version IS NOT NULL AND pipeline_version <> ''
    AND test_case_id IS NOT NULL AND test_case_id <> ''
  GROUP BY pipeline_version, test_case_id
)
SELECT
  pipeline_version,
  SUM(CASE WHEN records = 1 THEN 1 ELSE 0 END) AS test_cases,
  SUM(CASE WHEN records > 1 THEN 1 ELSE 0 END) AS conflicting_test_cases,
  COUNT(CASE WHEN records = 1 THEN retrieved END) AS retrieval_reviewed_cases,
  COUNT(CASE WHEN records = 1 THEN grounded END) AS grounding_reviewed_cases,
  100.0 * SUM(CASE WHEN records = 1 THEN retrieved END)
    / NULLIF(COUNT(CASE WHEN records = 1 THEN retrieved END), 0) AS retrieval_relevance_pct,
  100.0 * SUM(CASE WHEN records = 1 THEN grounded END)
    / NULLIF(COUNT(CASE WHEN records = 1 THEN grounded END), 0) AS grounded_answer_pct,
  AVG(CASE WHEN records = 1 THEN retrieval_latency_ms END) AS avg_retrieval_latency_ms,
  SUM(CASE WHEN records = 1 THEN cost_usd END) AS evaluation_cost_usd
FROM cases
GROUP BY pipeline_version
ORDER BY grounded_answer_pct DESC NULLS LAST,
  retrieval_relevance_pct DESC NULLS LAST, pipeline_version;

この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。

クエリ結果

パイプライン別の根拠のある回答の比率

棒グラフは根拠のある回答の比率だけを示します。表には検索の関連性と、各比率の分母となる評価済みケース数を別々に示します。

pipeline_versiontest_casesconflicting_test_casesretrieval_reviewed_casesgrounding_reviewed_casesretrieval_relevance_pctgrounded_answer_pctavg_retrieval_latency_msevaluation_cost_usd
rag-v240447575950.05
rag-v1404450501200.04

合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。

Grounded-answer rate by pipeline: Evaluate RAG retrieval quality by version 結果例からの合成 grounded_answer_pct 値の静的チャート
決定論的な出力例のインデックス可能な SVG。記事、ランブック、または出典を明示した設計レビューのためにダウンロードしてください。

例を再現する

サンプルデータをダウンロードする

JSON バンドルには、型付きイベント コントラクトが含まれています。 reproducible 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。

SQL の仕組み

  1. 1実行、データセット、評価器のフィルターを、固定した一つの比較の設定に置き換えます。プロンプトと回答は評価システムに保持します。
  2. 2パイプラインとケースごとに最終レコードを一つだけ集計します。競合するケースは報告し、比率、レイテンシー、コストから除外します。
  3. 3評価のNULLは不明のまま扱います。各品質比率は、それぞれの評価済みケース数を分母にします。欠落したケースは予定したテストセットと別途比較する必要があります。
  4. 4パイプライン バージョンでは、テストに使用される取得者、インデックス スナップショット、リランカー、および回答プロンプトを識別する必要があります。
  5. 5適切な文書であってもサポートされていない回答が生成される可能性があるため、検索の関連性と回答の根拠は分離されたままになります。
  6. 6レイテンシとコストにより、品質の比較が生産上の制約に結びつきます。

確認するエッジケース

  • 一つの実行では、すべてのパイプラインで同じ固定ケース一覧と評価器設定を使います。評価器のバージョンが違えば、測定しているものも違います。
  • リンク先の rag_retrieval_evaluated スキーマは異なるデータ契約です。このクエリを使う前に、上記のフィールドを追加してください。duration_ms は処理全体の時間であり、retrieval_latency_ms ではありません。retrieval_score を真偽値のレビュー結果に変換するには、明確な関連性の評価基準が必要です。
  • リリースを判断する前に conflicting_test_cases を調査します。識別子のないレコードは除外されます。結果行がないことは失敗率ゼロを意味しません。
  • レイテンシーとコストは、競合がなく該当する値があるレコードだけを対象とし、実行全体を表すとは限りません。
  • パイプライン間で同じバージョン管理されたテスト ケースを使用し、新しく追加または削除されたケースをレポートします。
  • 人間およびモデルベースの採点者には、文書化されたルーブリック、校正、および意見の相違のレビューが必要です。
  • デフォルトでは、プライベートなソースの一節や生の回答を一般テレメトリに保存しないでください。

推奨されるダッシュボード

  • 棒グラフ:パイプライン別の grounded_answer_pct。検索の関連性と評価済みケース数は表に表示
  • 傾向: テストセットの変化に伴う評価結果
  • 表: レイテンシー、コスト、テスト数、採点者のバージョン

アラートガイダンス

本番環境のページング アラートではなく、最小限のテスト数とレビューされた回帰許容値を備えた評価リリース ゲートを使用します。

アラート設定を読む

このクエリに必要なイベントを設定する

関連する機器とガイド

ソースデータを定義する

この分析のイベント スキーマ

分析を続ける

自分のイベントで実行する

テーブルを作成し、フィールドを調整して、結果を保存します

無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。

API キーを取得する