View a markdown version of this page

Prise en main - Amazon Bedrock AgentCore

Prise en main

Cette rubrique fournit un flux de travail de bout en bout pour créer, renseigner et publier un ensemble de données.

Schémas de jeux de données

Chaque ensemble de données déclare un schemaType au moment de sa création. AgentCore valide chaque exemple par rapport au schéma déclaré avant de l'accepter. Deux types de schéma sont pris en charge :

  • AGENTCORE_EVALUATION_PREDEFINED_V1 — Pour tester les agents par rapport à des tournures de conversation préécrites. Champs obligatoires :scenario_id, turns (liste non vide ; chaque tour doit contenirinput).

  • AGENTCORE_EVALUATION_SIMULATED_V1 — Pour la génération de conversations synthétiques. Champs obligatoires :scenario_id, actor_profile (objet avec un context et obligatoiregoal),input.

Pour obtenir des définitions complètes des champs de schéma, des exemples et une cartographie de la vérité de base, voir Schéma du jeu de données.

End-to-end flux de travail

L'exemple suivant illustre le cycle de vie complet du jeu de données : création, ajout d'exemples, liste des exemples, publication d'une version et nettoyage.

Exemple
AgentCore CLI
  1. # 1. Create dataset agentcore add dataset --name my_eval_dataset \ --schema-type AGENTCORE_EVALUATION_PREDEFINED_V1 # 2. Add your scenarios to the JSONL file # File: agentcore/datasets/my_eval_dataset.jsonl # 3. Deploy to create the dataset and sync examples agentcore deploy # 4. Publish version 1 agentcore dataset publish-version --name my_eval_dataset # 5. Check status (shows versions and example count) agentcore status --type dataset # 6. Download a published version to local file agentcore dataset download --name my_eval_dataset --version 1 # 7. Cleanup agentcore remove dataset --name my_eval_dataset agentcore deploy
AgentCore SDK
  1. from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") # 1. Create dataset (polls until ACTIVE) ds = client.create_dataset_and_wait( datasetName="my_eval_dataset", schemaType="AGENTCORE_EVALUATION_PREDEFINED_V1", source={ "inlineExamples": { "examples": [ { "scenario_id": "TC-01", "turns": [{"input": "What is my balance?", "expected_response": "Your balance is $50."}], "assertions": ["Response includes a dollar amount"], } ] } }, ) dataset_id = ds["datasetId"] print(f"Created: {dataset_id}, status={ds['status']}") # 2. Add more examples ds = client.add_examples_and_wait( datasetId=dataset_id, source={ "inlineExamples": { "examples": [ {"scenario_id": "TC-02", "turns": [{"input": "Transfer $100", "expected_response": "Transfer complete."}]} ] } }, ) print(f"Example count: {ds['exampleCount']}") # 3. List examples resp = client.list_dataset_examples(datasetId=dataset_id) for example in resp["examples"]: print(f" {example['exampleId']}: {example['scenario_id']}") # 4. Publish version 1 ds = client.create_dataset_version_and_wait(datasetId=dataset_id) print(f"Published, draftStatus: {ds.get('draftStatus')}") # 5. List versions resp = client.list_dataset_versions(datasetId=dataset_id) for v in resp["versions"]: print(f" Version {v['datasetVersion']}: {v['exampleCount']} examples") # 6. Cleanup client.delete_dataset_and_wait(datasetId=dataset_id)