本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Third-party 评估人员
AgentCore 评估提供来自 DeepEval 和 AutoEval 开源库的评估器。如果您已经在使用这些库,则可以在 AgentCore 评估中运行相同的指标。该服务为您处理托管和评估代码。使用托管选项,该服务还可以选择模型并运行推理,就像内置评估器一样。
使用第三方评估器有两种方法:
-
管理 -按 ID 选择第三方评估器并进行部署。该服务运行它,选择模型并管理库版本。
-
自定义 -创建评估器,根据您自己的模型和推理运行现有评估器逻辑(内置或托管的第三方评估器)。有关更多信息,请参阅源自基础评估器的自定义赋值器。
评估员质量
AgentCore 内置评估器经过性能测试和基准测试。 DeepEval 并且 AutoEval 是开源评估人员,我们不对它们的质量做出任何声明。
评估员身份
两个字段共同标识每位评估者,包括第三方评估者:
-
evaluatorType— 资源的种类:谁提供以及如何提供。Builtin并且ThirdParty是您引用但未创建的 AWS-managed 全局评估器。CustomCustomCode、和CustomDerived是您创建的赋值器。 -
provider— 评估逻辑来自哪里:AWS适用于 AWS创作的评估器,DeepEval或相应AutoEval的第三方库,或您自己创Custom作的评估器。
这两个字段是独立的,因此每个评估器是一(evaluatorType, provider)对:
| 评估员 | 评估者类型 | 提供商 |
|---|---|---|
|
内置托管 |
|
|
|
第三方托管 |
|
|
|
源自内置评估器的自定义评估器 |
|
|
|
源自第三方评估器的自定义评估器 |
|
|
|
基于自定义代码的评估器 |
|
|
|
自定义 LLM-as-a-judge 评估器 |
|
|
托管的第三方评估员的 ID 遵循ThirdParty.<Provider>.<Metric>格式,例如,或。ThirdParty.DeepEval.TaskCompletion ThirdParty.AutoEval.Security这反映了第一方内置评估器使用的Builtin.<Metric>格式。
发现可用的评估人员
Third-party 评估器与第一方内置评估器和您账户中的任何自定义评估器一起由 ListEvaluators API 返回。
{ "evaluators": [ { "evaluatorId": "Builtin.Helpfulness", "evaluatorType": "Builtin", "provider": "AWS", "level": "TRACE", "status": "ACTIVE" }, { "evaluatorId": "ThirdParty.DeepEval.TaskCompletion", "evaluatorType": "ThirdParty", "provider": "DeepEval", "level": "TRACE", "status": "ACTIVE" }, { "evaluatorId": "ThirdParty.AutoEval.Security", "evaluatorType": "ThirdParty", "provider": "AutoEval", "level": "TRACE", "status": "ACTIVE" } ] }
管理第三方评估人员
像使用内置评估器一样使用托管的第三方评估器:按 ID 进行选择,服务将在其运行的模型上运行该评估器。您不提供型号、提示或配置。
-
模型:托管的第三方评估器与 Amazon Bedrock 中的内置评估器在相同的模型上运行。 AgentCore没有模型字段,也没有模型配置可供设置。
-
版本控制:托管的第三方评估器没有版本选择。该服务运行已验证的库版本并自行管理升级。
您可以将托管的第三方评估者的 ID 传递给任何传递内置评估者 ID:
-
On-demand 评估 — 在
EvaluateAPI 请求中传递 ID。 -
在线评估 -将 ID 添加到在线评估配置evaluators列表中。它可与内置和自定义评估器自由混合,并受相同的采样和过滤规则约束。
-
批量评估 -在批量评估任务evaluators列表中传递 ID 。
以下示例使用 Evaluate API 运行托管的第三方评估器:
import boto3 client = boto3.client('bedrock-agentcore') response = client.evaluate( evaluatorId="ThirdParty.DeepEval.TaskCompletion", evaluationInput={"sessionSpans": session_span_logs} ) for result in response["evaluationResults"]: print(f"Value: {result.get('value')}") print(f"Explanation: {result.get('explanation', '')}")
源自基础评估器的自定义评估器
使用自定义派生的评估器在自己的模型上运行现有评估器(内置或托管的第三方评估器)。您可以提供模型和推理参数,而不是使用服务选择的模型。基础评估员提供提示和评分。这仅适用于 LLM-based 评估者。
要创建自定义派生评估器,请使用基础评估evaluatorConfig器的 ID 和您的模型配置来指定derived成员。将以下内容保存为 derived_evaluator_config.json:
{ "derived": { "baseEvaluatorId": "ThirdParty.DeepEval.TaskCompletion", "modelConfig": { "bedrockEvaluatorModelConfig": { "modelId": "global.anthropic.claude-sonnet-4-5-20250929-v1:0", "inferenceConfig": { "temperature": 0.0, "topP": 1.0, "maxTokens": 2048 } } } } }
您还可以通过设置baseEvaluatorId为 Builtin.
ID 而不是 ID,从内置评估器派生自定义评估器。ThirdParty.
使用 AWS CLI 创建评估器:
aws bedrock-agentcore-control create-evaluator \ --evaluator-name 'my_task_completion' \ --evaluator-config file://derived_evaluator_config.json
生成的评估器已evaluatorType设置为。CustomDerived该服务provider自动来自基础评估器:基础评估AWS器或Builtin.
基础的提供商名称。ThirdParty.您无需设置 level ——该服务从基础评估器中派生出来,并且处于只读状态。GetEvaluator您也没有设置instructions或ratingScale因为基础评估器同时拥有这两者。
创建评估器后,请像使用任何其他自定义评估器一样使用它:将其评估器 ID 传递给或将其添加到在线或批量评估evaluators列表中。Evaluate
-
模型:任何基岩模型,设置完成
bedrockEvaluatorModelConfig。 -
推理所有权:该模型使用您自己的 AWS 账户和凭证运行,即在线评估的执行角色或按需评估的呼叫者的证书。这是与托管的第三方评估器的主要区别,后者服务根据自己的能力运行模型。
-
质量所有权:由于您选择了模型,因此评估质量反映了该选择。该服务不会根据每个指标验证模型。
结果
Third-party 评估器在相同位置返回与内置和自定义评估器相同的结果形状。有关更多信息,请参阅结果和输出。
初始评估器组
以下评估器在启动时可用。
DeepEval
| 指标 | 检查内容 |
|---|---|
|
偏差 |
输出是否显示性别、政治、种族或地域偏见。 |
|
毒性 |
输出是否包含攻击、嘲笑、仇恨或威胁。 |
|
piileakage |
回应是否暴露了个人信息。 |
|
总结 |
摘要是否真实和全面。 |
|
TaskCompletion |
代理是否实现了用户的目标。 |
|
ConversationCompleteness |
对话中的所有用户请求是否都得到满足。 |
|
KnowledgeRetention |
代理是否记得之前共享的信息。 |
|
TurnRelevancy |
每个回复是否与前一回合相关。 |
|
GoalAccuracy |
代理人是否通过多轮对话实现了目标。 |
|
ToolUse |
代理是否选择了正确的工具并传递了正确的参数。 |
AutoEval
| 指标 | 检查内容 |
|---|---|
|
安全性 |
响应是否是恶意的。 |
|
幽默 |
回应是否有趣。 |
|
可能的 |
代理是否尝试过解决方案或宣布任务不可能。 |
控制台
在评估者选择器中,第三方评估者显示在他们自己的Third-party 评估者分区中,按提供者分组,与内置评估者组分开。默认情况下,此部分处于折叠状态。
要创建源自基础评估器的自定义评估器,请使用现有的 “创建自定义评估器” 流程并选择Third-party 库作为评估器定义类型。此选项删除显示的说明和量表部分 LLM-as-a-judge,因为提示和评分归基础评估员所有。选择库和指标,然后提供模型和推理参数。评估级别显示为只读,由指标设置。