

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

# Third-party 评估人员
<a name="third-party-evaluators"></a>

AgentCore 评估提供来自 DeepEval 和 AutoEval 开源库的评估器。如果您已经在使用这些库，则可以在 AgentCore 评估中运行相同的指标。该服务为您处理托管和评估代码。使用托管选项，该服务还可以选择模型并运行推理，就像内置评估器一样。

使用第三方评估器有两种方法：
+  **管理 **-按 ID 选择第三方评估器并进行部署。该服务运行它，选择模型并管理库版本。
+  **自定义 **-创建评估器，根据您自己的模型和推理运行现有评估器逻辑（内置或托管的第三方评估器）。有关更多信息，请参阅源自基础评估[器的](#third-party-evaluator-custom)自定义赋值器。

**评估员质量**  
AgentCore 内置评估器经过性能测试和基准测试。 DeepEval 并且 AutoEval 是开源评估人员，我们不对它们的质量做出任何声明。

**Topics**
+ [评估员身份](#third-party-evaluator-identity)
+ [发现可用的评估人员](#third-party-evaluator-discover)
+ [管理第三方评估人员](#third-party-evaluator-managed)
+ [源自基础评估器的自定义评估器](#third-party-evaluator-custom)
+ [结果](#third-party-evaluator-results)
+ [初始评估器组](#third-party-evaluator-initial-set)
+ [控制台](#third-party-evaluator-console)

## 评估员身份
<a name="third-party-evaluator-identity"></a>

两个字段共同标识每位评估者，包括第三方评估者：
+  `evaluatorType`— 资源的种类：谁提供以及如何提供。`Builtin`并且`ThirdParty`是您引用但未创建的 Amazon-managed 全局评估器。`Custom``CustomCode`、和`CustomDerived`是您创建的赋值器。
+  `provider`— 评估逻辑来自哪里：`AWS`适用于 Amazon创作的评估器，`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>`格式。

## 发现可用的评估人员
<a name="third-party-evaluator-discover"></a>

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"
    }
  ]
}
```

## 管理第三方评估人员
<a name="third-party-evaluator-managed"></a>

像使用内置评估器一样使用托管的第三方评估器：按 ID 进行选择，服务将在其运行的模型上运行该评估器。您不提供型号、提示或配置。
+  **模型：**托管的第三方评估器与 Amazon Bedrock 中的内置评估器在相同的模型上运行。 AgentCore没有模型字段，也没有模型配置可供设置。
+  **版本控制：**托管的第三方评估器没有版本选择。该服务运行已验证的库版本并自行管理升级。

您可以将托管的第三方评估者的 ID 传递给任何传递内置评估者 ID：
+  **On-demand 评估 ** — 在 `Evaluate` API 请求中传递 ID。
+  **在线评估 **-将 ID 添加到[在线评估配置`evaluators`列表中](create-online-evaluations.md)。它可与内置和自定义评估器自由混合，并受相同的采样和过滤规则约束。
+  **批量评估 **-在[批量评估任务`evaluators`列表中传递 ID ](batch-evaluations-start.md)。

以下示例使用 `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', '')}")
```

## 源自基础评估器的自定义评估器
<a name="third-party-evaluator-custom"></a>

使用自定义派生的评估器在自己的模型上运行现有评估器（内置或托管的第三方评估器）。您可以提供模型和推理参数，而不是使用服务选择的模型。基础评估员提供提示和评分。这仅适用于 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.`

使用 Amazon 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`。
+  **推理所有权：**该模型使用您自己的 Amazon 账户和凭证运行，即在线评估的执行角色或按需评估的呼叫者的证书。这是与托管的第三方评估器的主要区别，后者服务根据自己的能力运行模型。
+  **质量所有权：**由于您选择了模型，因此评估质量反映了该选择。该服务不会根据每个指标验证模型。

## 结果
<a name="third-party-evaluator-results"></a>

Third-party 评估器在相同位置返回与内置和自定义评估器相同的结果形状。有关更多信息，请参阅[结果和输出](results-and-output.md)。

## 初始评估器组
<a name="third-party-evaluator-initial-set"></a>

以下评估器在启动时可用。

 **DeepEval** 


| 指标 | 检查内容 | 
| --- | --- | 
| 偏差 | 输出是否显示性别、政治、种族或地域偏见。 | 
| 毒性 | 输出是否包含攻击、嘲笑、仇恨或威胁。 | 
| piileakage | 回应是否暴露了个人信息。 | 
| 总结 | 摘要是否真实和全面。 | 
| TaskCompletion | 代理是否实现了用户的目标。 | 
| ConversationCompleteness | 对话中的所有用户请求是否都得到满足。 | 
| KnowledgeRetention | 代理是否记得之前共享的信息。 | 
| TurnRelevancy | 每个回复是否与前一回合相关。 | 
| GoalAccuracy | 代理人是否通过多轮对话实现了目标。 | 
| ToolUse | 代理是否选择了正确的工具并传递了正确的参数。 | 

 **AutoEval** 


| 指标 | 检查内容 | 
| --- | --- | 
| 安全性 | 响应是否是恶意的。 | 
| 幽默 | 回应是否有趣。 | 
| 可能的 | 代理是否尝试过解决方案或宣布任务不可能。 | 

## 控制台
<a name="third-party-evaluator-console"></a>

在评估者选择器中，第三方评估者显示在他们自己的**Third-party 评估者分区中，按提供者分**组，与内置评估者组分开。默认情况下，此部分处于折叠状态。

要创建源自基础评估器的自定义评估器，请使用现有的 “**创建自定义评估器” ** 流程并选择**Third-party 库**作为评估器定义类型。此选项删除显示的说明和量表部分 LLM-as-a-judge，因为提示和评分归基础评估员所有。选择库和指标，然后提供模型和推理参数。评估级别显示为只读，由指标设置。