先决条件
在运行批量评估之前,请确保以下内容准备就绪。
代理要求
-
在 AgentCore Runtime 上部署且启用了可观察性的代理,或者使用配置了可AgentCore 观察性的受支持框架构建的代理。支持的框架:
-
Strands Agents
-
LangGraph 用
opentelemetry-instrumentation-langchain或openinference-instrumentation-langchain
-
-
在中启用了@@ 事务搜索 CloudWatch ( CloudWatch 用作会话源时为必填项)。
-
CloudWatch 日志中包含遥测数据的代理会话。调用您的代理并等待 2-5 分钟 CloudWatch 以获取遥测数据,然后再开始批量评估。
AWS 凭证和权限
Batch 评估在调用者的凭据下运行。与在线评估不同,批量评估不需要单独的服务执行角色。该服务使用您的 IAM 身份访问 CloudWatch 日志以进行会话发现和写入评估结果。
AWS 凭据配置了以下服务的权限:
-
bedrock-agentcore— 启动、获取、列出、停止和删除批量评估 -
logs(CloudWatch 日志)— 读取会话跨度并写入评估结果
所需的 IAM 权限
以下 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": "BedrockInvokeForCustomEvaluators", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:*:*:inference-profile/*" ] } ] }
注意
只有当您使用调用 Amazon Bedrock 模型的自定义评估器时,才需要该BedrockInvokeForCustomEvaluators声明。仅使用内置赋值器时,可以将其省略。
软件开发工具包和 CLI 要求
-
AWS 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:DeleteBatchEvaluationIAM 操作由 CLI 的archive batch-evaluation命令支持;没有字面上的 delete CLI 动词。