取得のみの RAG 評価ジョブの作成 - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

取得のみの RAG 評価ジョブの作成

RAG 評価ジョブは、AWS マネジメントコンソール、AWS CLI、またはサポートされている AWS SDK を使用して作成できます。

このタイプのジョブでは、評価者モデルへのアクセス権限が必要です。サポートされている評価者モデルのリストについては、「サポートされているモデル」を参照してください。

次の手順を使用してジョブを作成するには、プロンプトデータセットも必要です。まだ作成していない場合は、「Amazon Bedrock で RAG 評価用のプロンプトデータセットを作成する」を参照してください。

Console
  1. Amazon Bedrock コンソールを開きます。

  2. 左側のペインの [推論と評価] で、[評価] を選択します。

  3. [RAG 評価] ペインで、[作成] を選択します。

  4. 以下を実行して、RAG 評価の詳細を入力します。

    1. [評価の詳細] ペインの [評価名] に、評価ジョブの名前を入力します。選択する名前は、AWS リージョン内で一意でなければなりません。

    2. オプションで、[説明 - オプション] に評価ジョブの説明を入力します。

    3. [評価者モデル] で、[モデルを選択] を選択し、評価を実行する評価者モデルを選択します。

  5. 評価ジョブの推論ソースを入力します。Amazon Bedrock RAG 評価では、Amazon Bedrock ナレッジベースのパフォーマンスを評価することも、プロンプトデータセットに独自の推論レスポンスデータを指定して他の RAG ソースのパフォーマンスを評価することもできます。Amazon Bedrock ナレッジベースを選択するには、次の手順を実行します。

    1. [推論ソース] ペインの [ソースを選択] で、[Bedrock ナレッジベース] を選択します。

    2. [ナレッジベースを選択] で、ドロップダウンリストを使用してナレッジベースを選択します。

  6. 独自の推論レスポンスデータを使用するには、以下を実行します。

    1. [推論ソース] ペインの [ソースを選択] で、[独自の推論レスポンスを使用] を選択します。

    2. [ソース名] に、応答データの作成に使用した RAG ソースの名前を入力します。入力する名前は、プロンプトデータセットknowledgeBaseIdentifier パラメータと一致している必要があります。

  7. [推論ソース] ペインの [評価タイプ] で、[取得のみ] を選択します。

  8. [メトリクス] ペインで少なくとも 1 つのメトリクスを選択して、評価者モデルで使用する組み込みメトリクスを選択します。

  9. 以下を実行して、データセットの入力場所と結果の出力場所を定義します。

    1. [データセット] ペインの [プロンプトデータセットを選択] で、プロンプトデータセットの Amazon S3 URI を入力するか、[S3 を参照] を選択してファイルを選択します。取得のみの評価ジョブに必要なプロンプトデータセット形式の定義を確認するには、「取得のみの RAG 評価ジョブのプロンプトデータセットを作成する」を参照してください。

    2. [評価結果] で、Amazon Bedrock が結果を保存する Amazon S3 の場所を入力するか、[S3 を参照] を選択して場所を選択します。

  10. [Amazon Bedrock IAM ロール - アクセス許可] で、[新しいサービスロールを作成して使用] を選択して Amazon Bedrock で評価ジョブ用の新しい IAM ロールを作成するか、[既存のサービスロールを使用] を選択して既存の IAM ロールを選択します。評価ジョブを作成して実行するために必要なアクセス許可のリストについては、「前提条件」を参照してください。

  11. (オプション) 独自の KMS キーを使用して評価データを暗号化するには、[KMS キー - オプション] で、[暗号化設定をカスタマイズ (高度)] のチェックボックスをオンにして、AWS KMS キーを選択します。デフォルトでは、Amazon Bedrock は評価ジョブデータを AWS 所有の KMS キーで暗号化します。

  12. [作成] を選択して、評価ジョブの作成を完了します。

AWS CLI
Amazon Bedrock ナレッジベースの取得のみの評価ジョブを作成する
  • サンプル JSON ファイルを使用して次の AWS CLI コマンドを実行します。

    aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
    { "jobName": "my_rag_eval", "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-Amazon-Bedrock-IAM-Role-20250218T063974", "applicationType": "RagEvaluation", "evaluationConfig": { "automated": { "datasetMetricConfigs": [ { "taskType": "General", "dataset": { "name": "text_dataset", "datasetLocation": { "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval-byoir.jsonl" } }, "metricNames": [ "Builtin.ContextCoverage", "Builtin.ContextRelevance" ] } ], "evaluatorModelConfig": { "bedrockEvaluatorModels": [ { "modelIdentifier": "us.meta.llama3-1-70b-instruct-v1:0" } ] } } }, "inferenceConfig": { "ragConfigs": [ { "knowledgeBaseConfig": { "retrieveConfig": { "knowledgeBaseId": "your-knowledge-base-id", "knowledgeBaseRetrievalConfiguration": { "vectorSearchConfiguration": { "numberOfResults": 3 } } } } } ] }, "outputDataConfig": { "s3Uri": "s3://amzn-s3-demo-bucket/output/" } }
独自の推論レスポンスデータを使用して取得のみの評価ジョブを作成する
  • サンプル JSON ファイルを使用して次の AWS CLI コマンドを実行します。

    aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
    { "jobName": "my_rag_eval", "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-Amazon-Bedrock-IAM-Role-20250218T063974", "applicationType": "RagEvaluation", "evaluationConfig": { "automated": { "datasetMetricConfigs": [ { "taskType": "General", "dataset": { "name": "text_dataset", "datasetLocation": { "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval-byoir.jsonl" } }, "metricNames": [ "Builtin.ContextCoverage", "Builtin.ContextRelevance" ] } ], "evaluatorModelConfig": { "bedrockEvaluatorModels": [ { "modelIdentifier": "us.meta.llama3-1-70b-instruct-v1:0" } ] } } }, "inferenceConfig": { "ragConfigs": [ { "precomputedRagSourceConfig": { "retrieveSourceConfig": { "ragSourceIdentifier": "my_rag_source" } } } ] }, "outputDataConfig": { "s3Uri": "s3://amzn-s3-demo-bucket/output/" } }
SDK for Python

次の Python の例は、AWS SDK for Python (Boto3) を使用して Amazon Bedrock ナレッジベースに対する取得のみのジョブを作成する方法を示しています。Boto3 を使用した評価ジョブの作成の詳細については、Boto3 ドキュメントの「create_evaluation_job」を参照してください。

import boto3 client = boto3.client('bedrock') job_response = client.create_evaluation_job( jobName="my_evaluation_job", jobDescription="two different task types", roleArn="arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-RoleAmazon-Bedrock-IAM-Role", applicationType="RagEvaluation", inferenceConfig={ "ragConfigs": [ { "knowledgeBaseConfig": { "retrieveConfig": { "knowledgeBaseId": "your-knowledge-base-id", "knowledgeBaseRetrievalConfiguration": { "vectorSearchConfiguration": { "numberOfResults": 10, "overrideSearchType": "HYBRID" } } } } } ] }, outputDataConfig={ "s3Uri":"s3://amzn-s3-demo-bucket-model-evaluations/outputs/" }, evaluationConfig={ "automated": { "datasetMetricConfigs": [ { "taskType": "Summarization", "dataset": { "name": "RagDataset", "datasetLocation": { "s3Uri": "s3://amzn-s3-demo-bucket/input_data/data_3_rng.jsonl" } }, "metricNames": [ "Builtin.ContextCoverage" ] } ], "evaluatorModelConfig": { "bedrockEvaluatorModels": [{ "modelIdentifier": "meta.llama3-1-70b-instruct-v1:0" }] } } } ) print(job_request)