View a markdown version of this page

Third-party 评估人员 - 亚马逊基岩 AgentCore

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

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)对:

评估员 评估者类型 提供商

内置托管

Builtin

AWS

第三方托管

ThirdParty

DeepEval 或 AutoEval

源自内置评估器的自定义评估器

CustomDerived

AWS

源自第三方评估器的自定义评估器

CustomDerived

DeepEval 或 AutoEval

基于自定义代码的评估器

CustomCode

Custom

自定义 LLM-as-a-judge 评估器

Custom

Custom

托管的第三方评估员的 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:

以下示例使用 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,因为提示和评分归基础评估员所有。选择库和指标,然后提供模型和推理参数。评估级别显示为只读,由指标设置。