本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
第三方評估者
AgentCore Evaluations 提供 DeepEval 和 AutoEval 開放原始碼程式庫的評估程式。如果您已使用這些程式庫,您可以在 AgentCore Evaluations 中執行相同的指標。服務會為您處理託管和評估程式碼。使用 受管選項時,服務也會選取模型並執行推論,就像對內建評估器所做的一樣。
使用第三方評估人員的方式有兩種:
-
受管 – 依 ID 選取第三方評估者並進行部署。服務會執行它、選取模型,以及管理程式庫版本。
-
自訂 – 建立在您自己的模型和推論上執行現有評估器邏輯的評估器,即內建或受管第三方評估器。如需詳細資訊,請參閱從基礎評估器衍生的自訂評估器。
評估器品質
AgentCore 內建評估器經過效能測試和基準測試。DeepEval 和 AutoEval 是開放原始碼評估者,我們不會對其品質提出聲明。
評估者身分
兩個欄位一起識別每個評估者,包括第三方評估者:
-
evaluatorType– 資源的類型:提供資源的人員和方式。Builtin和 AWSThirdParty是您參考但未建立的受管全球評估者。Custom、CustomCode和CustomDerived是您建立的評估者。 -
provider– 評估邏輯的來源:AWSAWS針對撰寫評估者,DeepEvalAutoEval針對對應的第三方程式庫,或您自行撰寫Custom的評估者。
這兩個欄位是獨立的,因此每個評估者都是一(evaluatorType, provider)對:
| 評估者 | evaluatorType | provider (提供者) |
|---|---|---|
|
受管內建 |
|
|
|
受管第三方 |
|
|
|
衍生自內建的自訂評估程式 |
|
|
|
從第三方評估器衍生的自訂評估器 |
|
|
|
自訂程式碼型評估器 |
|
|
|
自訂 LLM-as-a-judge 評估器 |
|
|
受管第三方評估者的 ID 遵循 ThirdParty.<Provider>.<Metric> 格式,例如 ThirdParty.DeepEval.TaskCompletion或 ThirdParty.AutoEval.Security。這會鏡像用於第一方內建評估器的Builtin.<Metric>格式。
探索可用的評估者
由 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 型評估器。
若要建立自訂衍生評估器,請使用基本評估器的 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 而非 ThirdParty. ID,從內建評估器衍生自訂評估器。
使用 CLI AWS 建立評估器:
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 傳遞至 Evaluate,或將其新增至線上或批次評估的evaluators清單。
-
模型:任何 Bedrock 模型,透過 設定
bedrockEvaluatorModelConfig。 -
推論擁有權:模型會使用您自己的 AWS 帳戶和登入資料來執行 - 用於線上評估的執行角色,或用於隨需評估的發起人的登入資料。這是受管第三方評估者的主要差異,其中服務會以自己的容量執行模型。
-
品質擁有權:因為您選擇模型,評估品質會反映該選擇。服務不會針對每個指標驗證模型。
結果
第三方評估者會在相同的位置傳回與內建和自訂評估者相同的結果形狀。如需詳細資訊,請參閱結果和輸出。
初始一組評估者
下列評估器可在啟動時取得。
DeepEval
| 指標 | 它檢查的服務項目 |
|---|---|
|
偏差 |
輸出是否顯示性別、政治、種族或地理偏差。 |
|
毒性 |
輸出是否包含攻擊、冪子、仇恨或威脅。 |
|
PIILeakage |
回應是否公開個人資訊。 |
|
摘要 |
摘要是否忠實且全面。 |
|
TaskCompletion |
代理程式是否完成使用者的目標。 |
|
ConversationCompleteness |
對話中的所有使用者請求是否已解決。 |
|
KnowledgeRetention |
客服人員是否記住先前共用的資訊。 |
|
TurnRelevancy |
每個回覆是否都與先前的回合相關。 |
|
GoalAccuracy |
客服人員是否在多迴轉對話中達成其目標。 |
|
ToolUse |
代理程式是否選擇了正確的工具並傳遞正確的引數。 |
AutoEval
| 指標 | 它檢查的服務項目 |
|---|---|
|
安全 |
回應是否惡意。 |
|
幽默 |
回應是否有趣。 |
|
可能 |
客服人員是否嘗試解決方案或宣告任務為不可能。 |
主控台
在評估器挑選器中,第三方評估器會出現在自己的第三方評估器區段中,依提供者分組,與內建評估器群組分開。根據預設,本節會收合。
若要建立衍生自基礎評估器的自訂評估器,請使用現有的建立自訂評估器流程,然後選擇第三方程式庫作為評估器定義類型。此選項會移除針對 LLM-as-a-judge 顯示的指示和縮放區段,因為基礎評估程式擁有提示和評分。選擇程式庫和指標,然後提供模型和推論參數。評估層級顯示為唯讀,由 指標設定。