View a markdown version of this page

Comprendre les résultats et les résultats - Base rocheuse de l'Amazonie AgentCore

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comprendre les résultats et les résultats

Les résultats de l'évaluation par lots se répartissent en deux niveaux : des résumés agrégés dans la réponse de l'API et des informations détaillées par session dans les CloudWatch journaux.

Résultats agrégés

Lorsqu'une évaluation par lots est terminée, la GetBatchEvaluation réponse inclut un evaluationResults objet avec des résumés agrégés.

Nombre de sessions

Champ Description

numberOfSessionsCompleted

Nombre de sessions évaluées avec succès par tous les évaluateurs.

numberOfSessionsFailed

Nombre de sessions au cours desquelles au moins un évaluateur a échoué.

numberOfSessionsInProgress

Nombre de sessions encore en cours d'évaluation (0 lorsque le travail est terminé).

totalNumberOfSessions

Nombre total de sessions découvertes à partir de la source de session.

numberOfSessionsIgnored

Nombre de sessions ignorées pour l'évaluation. Le service évalue jusqu'à 500 sessions par tâche. Si plus de 500 sessions sont découvertes, le service sélectionne les 500 sessions les plus récentes et ignore les autres.

Per-evaluator résumés

Chaque entrée evaluatorSummaries fournit des mesures agrégées pour un évaluateur :

Champ Description

evaluatorId

ID abrégé (par exemple,Builtin.GoalSuccessRate).

statistics.averageScore

Score moyen pour toutes les sessions évaluées. La plage dépend de l'évaluateur (généralement de 0 à 1).

totalEvaluated

Nombre de sessions que cet évaluateur a notées avec succès.

totalFailed

Nombre de sessions au cours desquelles cet évaluateur a renvoyé une erreur.

Exemple de réponse

{ "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 détail dans les CloudWatch journaux

Le outputConfig champ de la GetBatchEvaluation réponse spécifie un emplacement CloudWatch des journaux où les résultats par session et par évaluateur sont écrits sous forme d'événements. OpenTelemetry

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

Le logGroupName résultat indiqué ici reflète la destination que vous avez choisie pour le poste. Pour connaître les outputConfig options disponibles, voir Commencer l'évaluation par lots.

Chaque événement du flux de journal contient des informations détaillées par tour et par évaluateur :

Champ Description

gen_ai.evaluation.score.value

Score numérique pour ce tour.

gen_ai.evaluation.score.label

Libellé catégorique (par exemple,PASS,Very Helpful).

gen_ai.evaluation.explanation

LLM-generated raisonnement à l'origine du score.

Pour lire ces événements, utilisez l'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"])

Interprétation des scores

Les scores d'évaluation par lots suivent les mêmes conventions que l'évaluation à la demande :

  • Scores numériques (value) : la plage dépend de l'évaluateur. La plupart des évaluateurs intégrés obtiennent un score de 0 à 1, le plus élevé étant le meilleur.

  • Libellés (label) : descriptions catégoriques de la partition. Par exemple, Builtin.Helpfulness renvoie des libellés tels queVery Helpful,Somewhat Helpful,Not Helpful.

Gestion des erreurs

Job-level erreurs

Si la tâche d'évaluation par lots échoue complètement, le status est FAILED et errorDetails contient un ou plusieurs messages d'erreur décrivant ce qui s'est mal passé. Causes courantes :

  • Aucune session n'a été trouvée dans la source spécifiée.

  • Nom de groupe de CloudWatch journaux ou de service non valide.

Session-level erreurs

Les sessions individuelles peuvent échouer alors que le travail global est un succès. Le numberOfSessionsFailed nombre evaluationResults indiqué indique le nombre de sessions contenant des erreurs. Per-session les erreurs sont enregistrées dans la sortie CloudWatch des journaux.

Evaluator-level erreurs

Au cours d'une session évaluée avec succès, les évaluateurs individuels peuvent échouer. Le totalFailed décompte figurant sur le résumé de chaque évaluateur indique le nombre de sessions que l'évaluateur n'a pas pu noter. Les causes courantes incluent des étendues mal formées ou des attributs obligatoires manquants.

Comparaison des résultats d'une série à l'autre

Un flux de travail courant consiste à exécuter une évaluation par lots avant et après une modification (mise à jour rapide, échange de modèle, modification d'outil) et à comparer les scores agrégés :

# 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}")

Affichage des résultats depuis l'interface de ligne de commande

Outre l'GetBatchEvaluationAPI, la AgentCore CLI affiche les mêmes résultats :

  • agentcore view batch-evaluation <batch-evaluation-id>— visualisez une seule tâche et ses résultats (ajoutez --json pour la sortie brute).

  • agentcore batch-evaluations history— liste les tâches d'évaluation par lots (les tâches en cours sont actualisées depuis le service ; ajouter--json).

  • agentcore run batch-evaluation …​ --json— renvoie le même evaluatorSummaries objetbatchEvaluationId/evaluationResults/que celui indiqué dans l'exemple JSON ci-dessus.

# 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
Note

L'indicateur de commande d'exécution pour sélectionner les évaluateurs est -e, --evaluator <ids…​> (ou--evaluator-arn <arns…​>).