2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BedrockのLLM-as-a-Judgeを使用したRAG評価の仕組み(取得のみ)

Last updated at Posted at 2025-04-30

内容

Amazon Bedrockでは構築したRAGシステムをLLMを使用して評価する仕組みがあります。

RAGの評価ジョブを作成する際には、以下の2つの評価タイプを選択できます。

  • 取得のみ:検索結果のみを評価する
  • 取得と生成:検索結果と生成された回答を評価する

今回は「取得のみ」の方を見てみます。なお、具体的な設定方法は本記事では割愛させて頂きます。

仕組み

⓪評価用データセットの準備

rag71.png

評価用データセットはプロンプト(質問)と正解データの組合せです。こちらに記載の通りJSONL形式で作成してS3に保存しておきます。注意点としてこちらに記載の通り、S3バケットのCORSアクセス許可の設定が必要です。下記は評価用データセットの例です。

{"conversationTurns":[{"prompt":{"content":[{"text":"貴社の製品に推奨されるサービス間隔はどれくらいですか?"}]},{"referenceResponses":[{"content":[{"text":"当社製品の推奨サービス間隔は2年です。"}]}]}]}

①関連情報の取得

rag72.png

評価用データセット内のプロンプト情報(上記だと貴社の製品に推奨されるサービス間隔はどれくらいですか?)を使用してナレッジベースのベクトルDBから関連情報を取得します。

②評価者モデルの呼び出し

rag73.png

取得した関連情報、評価表データセットのプロンプト、正解データを使用して評価者モデル用のプロンプトを作成します。このプロンプトを使用して評価者モデルを呼び出します。

③評価結果の取得

rag70.png

評価者モデルが評価した結果をS3バケットに保存します。

取得結果の確認

「取得のみ」タイプの評価では品質に関する下記2つのメトリクスが取得可能です。

  • コンテキストの関連性:取得情報がプロンプト(質問)にどれほど関連しているか評価
  • コンテキストカバレッジ:取得情報が正解データどれだけ網羅しているかを評価

これらのスコアは全会話の平均値になります。今回はテスト用に20個のデータを用意しましたが会話毎のスコアも確認することが可能です。

rag75.png

評価者モデルをClaude 3 Haiku(紫)からClaude 3 Sonnet(水色)に変更して評価を2回実施し結果を比較しまひた。Sonnetの方が、関連性はやや下がりましたが、コンテキストカバレッジが改善されたことが分かります。

rag76.png

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?