View a markdown version of this page

Créez une évaluation en ligne - Amazon Bedrock AgentCore

Créez une évaluation en ligne

L'CreateOnlineEvaluationConfigAPI crée une nouvelle configuration d'évaluation en ligne qui surveille en permanence les performances de votre agent à l'aide du trafic en temps réel. Cette opération asynchrone permet au service d'évaluer les traces des agents au fur et à mesure qu'elles sont générées pendant le fonctionnement normal.

Lorsque vous créez une évaluation en ligne, vous spécifiez un nom de configuration unique, la source de données à surveiller (soit une liste de groupes de CloudWatch journaux, soit un point de terminaison d'agent) et une liste d'évaluateurs à appliquer (jusqu'à 10, combinant des évaluateurs intégrés et personnalisés). Vous fournissez également un ARN de rôle de service IAM pour l'exécution. Le enableOnCreate paramètre est obligatoire et détermine si l'évaluation démarre immédiatement après sa création (executionStatus= true) ou reste désactivée jusqu'à ce qu'elle soit explicitement activée (executionStatus= false).

Contrôle du statut d'exécution

Le executionStatus paramètre détermine si la tâche d'évaluation traite activement les traces :

  • ACTIVÉ — La tâche d'évaluation s'exécute en continu, traite les traces entrantes et génère des résultats d'évaluation.

  • DÉSACTIVÉ — La configuration d'évaluation existe mais la tâche est suspendue. Aucune trace n'est traitée ou évaluée.

Vous pouvez contrôler l'état d'exécution à l'aide de la CLI :

# Pause a running online evaluation agentcore pause online-eval "your_config_name" # Resume a paused online evaluation agentcore resume online-eval "your_config_name"

Protection de l'évaluateur

Lorsque vous créez une configuration d'évaluation avec executionStatus set toENABLED, le système verrouille automatiquement tous les évaluateurs personnalisés que vous avez sélectionnés. Une fois verrouillé :

  • Aucune modification autorisée : vous ne pouvez pas mettre à jour la configuration, les instructions ou les paramètres de l'évaluateur. Clonez un nouvel évaluateur si vous devez apporter des modifications.

  • Aucune suppression autorisée : vous ne pouvez pas supprimer l'évaluateur tant qu'une tâche d'évaluation l'utilise (en cours d'exécution).

Exemples de code pour la AgentCore CLI, le AgentCore SDK et AWS Kit SDK

Les exemples de code suivants montrent comment créer des configurations d'évaluation en ligne à l'aide de différentes approches de développement. Choisissez la méthode qui correspond le mieux à votre environnement de développement et à vos préférences.

Exemple
AgentCore CLI
  1. # Create online evaluation configuration agentcore add online-eval \ --name "your_config_name" \ --runtime "your_runtime_name" \ --evaluator "Builtin.GoalSuccessRate" "Builtin.Helpfulness" \ --sampling-rate 1.0 \ --enable-on-create

    Cette commande ajoute la configuration d'évaluation en ligne à votre configuration localeagentcore.json. Exécutez agentcore deploy pour le créer dans votre AWS compte.

    Note

    Exécutez-le depuis un répertoire de AgentCore projet (créé avecagentcore create).

Interactive
  1. Entrez un nom pour votre configuration d'évaluation en ligne.

    Entrée du nom de configuration de l'évaluation en ligne
  2. Sélectionnez les évaluateurs à inclure. Vous pouvez choisir entre les évaluateurs intégrés et les évaluateurs personnalisés que vous avez créés.

    Liste à sélection multiple de l'évaluateur
  3. Définissez le taux d'échantillonnage, c'est-à-dire le pourcentage de demandes d'agent qui seront évaluées.

    Fréquence d'échantillonnage en entrée
  4. Choisissez d'activer ou non l'évaluation automatique après le déploiement.

    Activer la sélection lors du déploiement
  5. Vérifiez la configuration et appuyez sur Entrée pour confirmer.

    Vérifiez la configuration de l'évaluation en ligne
AgentCore SDK
  1. from bedrock_agentcore_starter_toolkit import Evaluation # Initialize the evaluation client eval_client = Evaluation() # Replace these with your actual values config_name = "YOUR_CONFIG_NAME" agent_id = "YOUR_AGENT_ID" # e.g., agent_myagent-ABC123xyz # Create online evaluation configuration config = eval_client.create_online_config( config_name=config_name, # Must use underscores, not hyphens agent_id=agent_id, # Agent ID (e.g., agent_myagent-ABC123xyz) sampling_rate=1.0, # Percentage to evaluate (0-100). 1.0 = evaluate 1% of interactions evaluator_list=["Builtin.GoalSuccessRate", "Builtin.Helpfulness"], # List of evaluator IDs config_description="Online Evaluation Config", # Optional description auto_create_execution_role=True, # Automatically creates IAM role (default: True) enable_on_create=True # Enable immediately after creation (default: True) ) print("✅ Online evaluation configuration created!") print(f"Config ID: {config['onlineEvaluationConfigId']}") print(f"Status: {config['status']}") # Save the config ID for later operations config_id = config['onlineEvaluationConfigId'] print(f"\nSaved config_id: {config_id}")
AWS SDK
  1. import boto3 # Your input log group that contains agent traces LOG_GROUP_NAME = "/aws/agentcore/test-agent-traces" # The service.name attribute from Otel SERVICE_NAME = "strands_healthcare_single_agent.DEFAULT" # The role created earlier with the required permissions for eval role_arn = f"arn:aws:iam::{ACCOUNT_ID}:role/AgentCoreEvaluationRole" client = boto3.client('bedrock-agentcore-control') create_config_response = client.create_online_evaluation_config( onlineEvaluationConfigName="strands_healthcare_agent_1", description="Continuous evaluation of a healthcare agent", rule={ "samplingConfig": {"samplingPercentage": 80.0} }, dataSourceConfig={ "cloudWatchLogs": { "logGroupNames": [LOG_GROUP_NAME], "serviceNames": [SERVICE_NAME] } }, evaluators=[{"evaluatorId":"Builtin.Helpfulness"}], evaluationExecutionRoleArn=role_arn, enableOnCreate=True )
AWS CLI
  1. aws bedrock-agentcore-control create-online-evaluation-config \ --online-evaluation-config-name "strands_healthcare_agent_1" \ --description "Continuous evaluation of a healthcare agent" \ --rule '{"samplingConfig": {"samplingPercentage": 80.0}}' \ --data-source-config '{"cloudWatchLogs": {"logGroupNames": ["/aws/agentcore/test-agent-traces"], "serviceNames": ["strands_healthcare_single_agent.DEFAULT"]}}' \ --evaluators '[{"evaluatorId": "Builtin.Helpfulness"}]' \ --evaluation-execution-role-arn "arn:aws:iam::{YOUR_ACCOUNT_ID}:role/AgentCoreEvaluationRole" \ --enable-on-create

Console

Vous pouvez créer des configurations d'évaluation en ligne à l'aide de l'interface visuelle de AgentCore la console Amazon Bedrock. Cette méthode fournit des formulaires guidés et une validation pour vous aider à configurer vos paramètres d'évaluation.

Pour créer une évaluation AgentCore en ligne

  1. Ouvrez la AgentCore console Amazon Bedrock.

  2. Dans le volet de navigation de gauche, choisissez Evaluation.

  3. Choisissez Créer une configuration d'évaluation.

    1. (Facultatif) Dans Nom de l'évaluation, entrez le nom de la configuration d'évaluation en ligne.

    2. (Facultatif) Pour activer la configuration d'évaluation après sa création, cochez la case sous le nom de l'évaluation.

    3. (Facultatif) Pour la description de la configuration d'évaluation, entrez une description de la configuration AgentCore d'évaluation.

    4. (Facultatif) Pour le délai d'inactivité de la session, entrez une durée comprise entre 1 et 60 minutes. La valeur par défaut est de 15 minutes.

  4. Pour Source de données, choisissez l'une des options suivantes :

    1. Définissez avec un point de terminaison d'agent : choisissez un agent que vous avez créé précédemment dans AgentCore Runtime, ou créez un nouvel agent en choisissant Agents. Choisissez ensuite un point de terminaison dans l'agent.

    2. Sélectionnez un groupe de CloudWatch journaux : sélectionnez jusqu'à 5 groupes de journaux. Entrez le nom du service utilisé par votre agent à des fins d'observabilité. Pour les agents hébergés sur AgentCore Runtime, le nom du service suit le format<agent-runtime-name>. <agent-runtime-endpoint-name>. Pour les agents exécutés en dehors de AgentCore Runtime, le nom du service est configuré dans la variable d'environnement OTEL_RESOURCE_ATTRIBUTES.

  5. Pour les évaluateurs, sélectionnez jusqu'à 10 évaluateurs par configuration d'évaluation, y compris les évaluateurs intégrés et personnalisés.

  6. (Facultatif) Pour les filtres, ajoutez jusqu'à 5 filtres pour identifier les sessions à évaluer.

  7. (Facultatif) Pour l'échantillonnage, choisissez un pourcentage compris entre 0,01 % et 100 % pour contrôler le pourcentage de sessions évaluées. La valeur par défaut est de 10 %.

  8. Pour le rôle Amazon Bedrock IAM, choisissez l'une des options suivantes :

    1. Utiliser un rôle existant : sélectionnez un rôle de service IAM qui possède déjà les autorisations requises.

    2. Créer un nouveau rôle : créez un nouveau rôle de service IAM.

  9. Choisissez Créer une configuration d'évaluation pour créer la configuration d'évaluation AgentCore en ligne.