View a markdown version of this page

Comprensión de los resultados y los resultados - Amazon Bedrock AgentCore

Comprensión de los resultados y los resultados

Los resultados de la evaluación por lotes se presentan en dos capas: resúmenes agregados en la respuesta de la API y detalles por sesión en CloudWatch los registros.

Resultados agregados

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

Recuento de sesiones

Campo Description (Descripción)

numberOfSessionsCompleted

Número de sesiones evaluadas correctamente 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 haya completado el trabajo).

totalNumberOfSessions

Número total de sesiones descubiertas en la fuente 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 puntuó 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 una ubicación de CloudWatch registros en la que 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" } } }

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 para este turno.

gen_ai.evaluation.score.label

Etiqueta categórica (por ejemplo,PASS,Very Helpful).

gen_ai.evaluation.explanation

LLM-generated razonamiento para la partitura.

Para leer estos eventos, usa la API CloudWatch Logs:

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"])

Interpretar las puntuaciones

Los puntajes de la evaluación por lotes siguen las mismas convenciones que 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, donde 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 general se realiza correctamente. El numberOfSessionsFailed recuento evaluationResults indica cuántas sesiones tuvieron errores. Per-session los errores se registran en la salida CloudWatch de los registros.

Evaluator-level errores

En una sesión que se evalúa correctamente, los evaluadores individuales pueden fallar. El totalFailed recuento que aparece en el resumen de cada evaluador indica cuántas sesiones no pudo puntuar el evaluador. Entre las causas más comunes se incluyen intervalos con un formato incorrecto o la falta de los atributos necesarios.

Comparación de 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 la 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 único trabajo y sus resultados (añadir --json 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; añadir--json).

  • agentcore run batch-evaluation …​ --json— devuelve el mismo evaluatorSummaries objetobatchEvaluationId/evaluationResults/que se muestra en el ejemplo de 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 run para seleccionar los evaluadores es -e, --evaluator <ids…​> (o--evaluator-arn <arns…​>).