创建仅限检索的 RAG 评估作业; - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建仅限检索的 RAG 评估作业;

您可以使用 AWS Management Console、 AWS CLI或支持的 AWS SDK 创建 RAG 评估作业。

此类作业需要访问评估器模型。有关支持的赋值器模型列表,请参阅支持的模型

要按照以下说明创建作业,还需要一个提示数据集。如果您尚未创建一个,请参阅在 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. 在 “推理源” 窗格的 “选择来源” 下,选择 B edrock 知识库

    2. “选择知识库” 下,使用下拉列表选择知识库。

  6. 要自带推理响应数据,请执行以下操作:

    1. 推理源窗格的选择来源下,选择自带推理响应。

    2. 源名称中,输入用于创建响应数据的 RAG 源的名称。您输入的名称必须与提示数据集中的knowledgeBaseIdentifier参数相匹配。

  7. 推理源窗格的评估类型下,选择仅限检索

  8. 通过在 “指标” 窗格中选择至少一个指标,选择您希望评估器模型使用的内置指标

  9. 通过执行以下操作来定义数据集和结果的输入和输出位置:

    1. 选择提示数据集下的数据集窗格中,输入提示数据集的 Amazon S3 URI,或者选择浏览 S3 并选择您的文件。要查看仅限检索的评估作业所需的提示数据集格式的定义,请参阅。为仅限检索的 RAG 评估作业创建提示数据集

    2. 在 “评估结果” 下,输入 Amazon S3 的位置以保存您的结果,或者选择 “浏览 S3” 选择一个位置。

  10. 在 A mazon Bedrock IAM 角色-权限下,选择创建并使用新的服务角色让 Amazon Bedrock 为评估任务创建新的 IAM 角色,或者选择使用现有服务角色选择现有 IAM 角色。有关创建和运行评估任务所需权限的列表,请参阅先决条件

  11. (可选)要使用您自己的 KMS 密钥加密您的评估数据,请在 KMSkey -可选下方,选自定义加密设置(高级),然后选择您的 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 示例演示了如何使用要了解有关使用 Boto3 创建评估作业的更多信息,请参阅 Boto3 文档中的 “ 适用于 Python (Boto3) 的 AWS SDK 要了解有关使用 Boto3 创建评估任务的更多信息”,为 Amazon Bedrock 知识库创建仅限检索的作业。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)