本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建仅限检索 RAG 评测作业;
您可以使用 AWS 管理控制台、AWS CLI 或支持的 AWS SDK 创建 RAG 评测作业。
此类作业需要对评测器模型的访问权限。有关支持的评测器模型的列表,请参阅支持的模型。
要按照以下说明操作来创建作业,您还需要一个提示数据集。如果尚未创建提示数据集,请参阅在 Amazon Bedrock 中创建用于 RAG 评测的提示数据集。
- Console
-
-
在左侧窗格中的推理和评测下,选择评测。
-
在 RAG 评测窗格中,选择创建。
-
通过执行以下操作来输入您的 RAG 评测详细信息:
-
在评测详细信息窗格中的评测名称下,输入评测作业的名称。您选择的名称在您的 AWS 区域内必须是唯一的。
-
(可选)在描述 - 可选下,输入评测作业的描述。
-
在评测器模型下,选择选择模型,然后选择要执行评测的评测器模型。
-
-
输入评测作业的推理来源。借助 Amazon Bedrock RAG 评测,您既可以评测 Amazon Bedrock 知识库的性能,又可以通过在提示数据集内提供自己的推理响应数据来评测其他 RAG 来源的性能。要选择 Amazon Bedrock 知识库,请执行以下操作:
-
在推理来源窗格中的选择来源下,选择 Bedrock 知识库。
-
在选择知识库下,使用下拉列表选择知识库。
-
-
要自带推理回复数据,请执行以下操作:
-
在推理来源窗格中的选择来源下,选择自带推理回复。
-
对于来源名称,输入用于创建响应数据的 RAG 来源的名称。您输入的名称必须与提示数据集内的
knowledgeBaseIdentifier参数相匹配。
-
-
在推理来源窗格中的评测类型下,选择仅限检索。
-
通过在指标窗格中选择至少一个指标,选择您希望评测器模型使用的内置指标。
-
通过执行以下操作来定义数据集和结果的输入位置和输出位置:
-
在数据集窗格中的选择提示数据集下,输入提示数据集的 Amazon S3 URI,或者选择浏览 S3 并选择您的文件。要查看“仅检索”评测作业所需的提示数据集格式的定义,请参阅创建用于仅限检索 RAG 评测作业的提示数据集。
-
在评估结果下,输入 Amazon Bedrock 的 Amazon S3 位置以保存您的结果,或者选择浏览 S3 以选择一个位置。
-
-
在 Amazon Bedrock IAM 角色 - 权限下,选择创建和使用新的服务角色,让 Amazon Bedrock 为评测作业创建新的 IAM 角色,或者选择使用现有服务角色来选取现有 IAM 角色。有关创建和运行评测作业所需权限的列表,请参阅先决条件。
-
(可选)要使用您自己的 KMS 密钥来加密您的评测数据,请在 KMSkey - 可选下,选中自定义加密设置(高级),然后选择您的 AWS KMS 密钥。默认情况下,Amazon Bedrock 使用 AWS 拥有的 KMS 密钥对您的评测作业数据进行加密。
-
选择创建以完成评测作业的创建。
- 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 示例演示了如何使用 适用于 Python (Boto3) 的 AWS SDK 为 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)