View a markdown version of this page

Nozioni di base - Amazon Bedrock AgentCore

Nozioni di base

Questo argomento fornisce un flusso di lavoro completo per la creazione, il popolamento e la pubblicazione di un set di dati.

Schemi di set di dati

Ogni set di dati dichiara un schemaType al momento della creazione. AgentCore convalida ogni esempio rispetto allo schema dichiarato prima di accettarlo. Sono supportati due tipi di schema:

  • AGENTCORE_EVALUATION_PREDEFINED_V1 — Per testare gli agenti rispetto a turni di conversazione prescritti. Campi obbligatori:, (elenco non vuoto; ogni turno deve contenere). scenario_id turns input

  • AGENTCORE_EVALUATION_SIMULATED_V1 — Per la generazione di conversazioni sintetiche. Campi obbligatori:, (oggetto con e obbligatorio),. scenario_id actor_profile context goal input

Per le definizioni complete dei campi dello schema, gli esempi e la mappatura della verità di base, consulta Dataset schema.

End-to-end flusso di lavoro

L'esempio seguente illustra il ciclo di vita completo del set di dati: creazione, aggiunta di esempi, elenco di esempi, pubblicazione di una versione e pulizia.

Esempio
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)