View a markdown version of this page

Comprensión de los resultados y los resultados - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Comprensión de los resultados y los resultados

Los resultados de las evaluaciones por lotes se dividen en dos niveles: los resúmenes agregados en la respuesta de la API y los detalles por sesión en CloudWatch los registros.

Resultados agregados

Cuando se completa una evaluación por lotes, la GetBatchEvaluation respuesta incluye un evaluationResults objeto con resúmenes agregados.

Recuento de sesiones

Campo Description (Descripción)

numberOfSessionsCompleted

Número de sesiones evaluadas satisfactoriamente por todos los evaluadores.

numberOfSessionsFailed

Número de sesiones en las que al menos un evaluador falló.

numberOfSessionsInProgress

Número de sesiones que aún se están evaluando (0 cuando se ha completado el trabajo).

totalNumberOfSessions

Número total de sesiones descubiertas en el origen de la sesión.

numberOfSessionsIgnored

Número de sesiones ignoradas para la evaluación. El servicio evalúa hasta 500 sesiones por trabajo. Si se descubren más de 500 sesiones, el servicio selecciona las 500 sesiones más recientes e ignora el resto.

Per-evaluator resúmenes

Cada entrada evaluatorSummaries proporciona métricas agregadas para un evaluador:

Campo Description (Descripción)

evaluatorId

ID abreviado (por ejemplo,Builtin.GoalSuccessRate).

statistics.averageScore

Puntuación media en todas las sesiones evaluadas. El rango depende del evaluador (normalmente de 0 a 1).

totalEvaluated

Número de sesiones que este evaluador calificó satisfactoriamente.

totalFailed

Número de sesiones en las que este evaluador arrojó un error.

Ejemplo de respuesta

{ "batchEvaluationId": "12345678-1234-1234-1234-123456789012", "status": "COMPLETED", "evaluationResults": { "numberOfSessionsCompleted": 47, "numberOfSessionsFailed": 3, "numberOfSessionsIgnored": 0, "totalNumberOfSessions": 50, "evaluatorSummaries": [ { "evaluatorId": "Builtin.GoalSuccessRate", "statistics": { "averageScore": 0.72 }, "totalEvaluated": 47, "totalFailed": 0 }, { "evaluatorId": "Builtin.Helpfulness", "statistics": { "averageScore": 0.81 }, "totalEvaluated": 47, "totalFailed": 0 } ] } }

Per-session detalle en los registros CloudWatch

El outputConfig campo de la GetBatchEvaluation respuesta especifica la ubicación de CloudWatch los registros donde los resultados por sesión y por evaluador se escriben como eventos. OpenTelemetry

{ "outputConfig": { "cloudWatchConfig": { "logGroupName": "/aws/bedrock-agentcore/evaluations/batch", "logStreamName": "12345678-1234-1234-1234-123456789012" } } }
nota

Lo que se logGroupName devuelve aquí refleja el destino que ha elegido para el trabajo. Para ver las outputConfig opciones disponibles, consulte Iniciar la evaluación por lotes.

Cada evento del flujo de registro contiene detalles por turno y por evaluador:

Campo Description (Descripción)

gen_ai.evaluation.score.value

Puntuación numérica de este turno.

gen_ai.evaluation.score.label

Etiqueta categórica (por ejemploPASS,Very Helpful).

gen_ai.evaluation.explanation

LLM-generated razonamiento de la puntuación.

Para leer estos eventos, usa la API de CloudWatch registros:

import boto3 logs_client = boto3.client("logs", region_name="us-west-2") response = logs_client.get_log_events( logGroupName="/aws/bedrock-agentcore/evaluations/batch", logStreamName="12345678-1234-1234-1234-123456789012", ) for event in response["events"]: print(event["message"])

Interpretación de partituras

Las puntuaciones de las evaluaciones por lotes siguen las mismas convenciones que las de la evaluación bajo demanda:

  • Puntuaciones numéricas (value): el rango depende del evaluador. La mayoría de los evaluadores integrados puntúan de 0 a 1, mientras que cuanto más alto, mejor.

  • Etiquetas (label): descripciones categóricas de la puntuación. Por ejemplo, Builtin.Helpfulness devuelve etiquetas comoVery Helpful,Somewhat Helpful,Not Helpful.

Gestión de errores

Job-level errores

Si el trabajo de evaluación por lotes falla por completo, status es FAILED y errorDetails contiene uno o más mensajes de error que describen lo que salió mal. Causas habituales:

  • No se encontró ninguna sesión en la fuente especificada.

  • Nombre de servicio o grupo de CloudWatch registro no válido.

Session-level errores

Las sesiones individuales pueden fallar mientras el trabajo en general se realiza correctamente. El numberOfSessionsFailed recuento de evaluationResults entradas indica cuántas sesiones tuvieron errores. Per-session los errores se registran en la salida de CloudWatch los registros.

Evaluator-level errores

En una sesión evaluada correctamente, los evaluadores individuales pueden fallar. El totalFailed recuento del resumen de cada evaluador indica el número de sesiones que ese evaluador no pudo puntuar. Entre las causas más comunes se incluyen intervalos de tiempo incorrectos o la falta de atributos obligatorios.

Comparar los resultados entre las ejecuciones

Un flujo de trabajo habitual consiste en realizar una evaluación por lotes antes y después de un cambio (actualización inmediata, cambio de modelo, modificación de herramienta) y comparar las puntuaciones totales:

# After running two batch evaluations baseline = client.get_batch_evaluation(batchEvaluationId=baseline_id) treatment = client.get_batch_evaluation(batchEvaluationId=treatment_id) baseline_summaries = { s["evaluatorId"]: s["statistics"]["averageScore"] for s in baseline["evaluationResults"]["evaluatorSummaries"] } treatment_summaries = { s["evaluatorId"]: s["statistics"]["averageScore"] for s in treatment["evaluationResults"]["evaluatorSummaries"] } print(f"{'Evaluator':<35} {'Baseline':>10} {'Treatment':>10} {'Delta':>10}") print("=" * 67) for eid in baseline_summaries: b = baseline_summaries[eid] t = treatment_summaries.get(eid, 0) delta = t - b print(f"{eid:<35} {b:>10.4f} {t:>10.4f} {delta:>+10.4f}")

Visualización de los resultados desde la CLI

Además de la GetBatchEvaluation API, la AgentCore CLI muestra los mismos resultados:

  • agentcore view batch-evaluation <batch-evaluation-id>— ver un solo trabajo y sus resultados (agréguelo --json para obtener el resultado sin procesar).

  • agentcore batch-evaluations history— enumerar los trabajos de evaluación por lotes (los trabajos en ejecución se actualizan desde el servicio; se agregan--json).

  • agentcore run batch-evaluation …​ --json— devuelve el mismo evaluatorSummaries objetobatchEvaluationId/evaluationResults/que se muestra en el ejemplo JSON anterior.

# View a single batch evaluation job and its results agentcore view batch-evaluation 12345678-1234-1234-1234-123456789012 --json # List batch evaluation jobs (running jobs are refreshed from the service) agentcore batch-evaluations history --json
nota

El indicador del comando de ejecución para seleccionar evaluadores es -e, --evaluator <ids…​> (o--evaluator-arn <arns…​>).