

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

# 先决条件
<a name="batch-evaluations-prereqs"></a>

在运行批量评估之前，请确保满足以下条件。

## 设置
<a name="batch-eval-agent-requirements"></a>

在运行批量评估之前，请设置以下内容：
+ 使用支持的框架和仪器库构建的代理。有关支持的框架和工具库的更多信息，请参阅[支持的代理框架](supported-frameworks.md)。
+ 在 AgentCore Runtime 上部署且启用了可观察性的代理，或者使用配置了可[AgentCore 观测性](observability.md)（包括事务搜索）的受支持框架构建的代理。有关遥测设置的更多信息，请参阅[遥测设置和交付。](supported-frameworks-telemetry.md)
+ 使用 CloudWatch 日志中的遥测数据调用的代理。等待 2-5 分钟 CloudWatch 以摄取遥测数据，然后开始批量评估。

## Amazon 证书和权限
<a name="batch-eval-credentials"></a>

批量评估在调用者的凭据下运行。与在线评估不同，批量评估不需要单独的服务执行角色。该服务使用您的 IAM 身份访问 CloudWatch 日志以进行会话发现并写入评估结果。

 Amazon 使用以下服务权限配置的凭据：
+  `bedrock-agentcore`— 启动、获取、列出、停止和删除批量评估
+  `logs`（CloudWatch 日志）— 读取会话跨度并写入评估结果

### 所需的 IAM 权限
<a name="batch-eval-iam-permissions"></a>

以下 IAM 策略授予运行批量评估所需的最低权限：

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock-agentcore:StartBatchEvaluation",
                "bedrock-agentcore:GetBatchEvaluation",
                "bedrock-agentcore:ListBatchEvaluations",
                "bedrock-agentcore:StopBatchEvaluation",
                "bedrock-agentcore:DeleteBatchEvaluation"
            ],
            "Resource": "arn:aws:bedrock-agentcore:*:*:batch-evaluate/*"
        },
        {
            "Sid": "ReadAgentLogs",
            "Effect": "Allow",
            "Action": [
                "logs:GetLogEvents",
                "logs:FilterLogEvents",
                "logs:StartQuery",
                "logs:GetQueryResults"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/runtimes/*",
                "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/evaluations/*"
            ]
        },
        {
            "Sid": "DescribeLogGroups",
            "Effect": "Allow",
            "Action": "logs:DescribeLogGroups",
            "Resource": "*"
        },
        {
            "Sid": "WriteEvaluationLogs",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:PutRetentionPolicy"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/evaluations/*",
                "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/evaluations/*:*"
            ]
        },
        {
            "Sid": "BedrockInvokeForCustomEvaluators",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:*:inference-profile/*"
            ]
        }
    ]
}
```

**注意**  
仅当您使用调用 Amazon Bedrock 模型的自定义评估器时，才需要该`BedrockInvokeForCustomEvaluators`语句。仅使用内置评估器时可以将其省略。

**注意**  
该`WriteEvaluationLogs`声明允许该服务创建评估结果日志组和日志流，并在您的凭据下写入结果。您必须授予`logs:DescribeLogGroups`开启权限，`Resource``*`因为此操作不支持资源级权限。

## 软件开发工具包和 CLI 要求
<a name="batch-eval-sdk-cli"></a>
+  ** Amazon SDK (boto3)：**Python 3.10 或更高版本。
+  **AgentCore CLI：**运行`agentcore --version`以检查您的版本。

**注意**  
批量评估 CLI 界面由以下命令组成：  
 `agentcore run batch-evaluation`— 开始批量评估
 `agentcore stop batch-evaluation -i <id>`— 停止正在运行的批量评估
 `agentcore view batch-evaluation [id]`和 `agentcore batch-evaluations history` — 查看工作或列出工作
 `agentcore archive batch-evaluation -i <id>`— 在服务上存档批量评估作业记录并清除本地历史记录
`bedrock-agentcore:DeleteBatchEvaluation`IAM 操作由 CLI 的`archive batch-evaluation`命令支持；没有字面意义上的 `delete` CLI 动词。