View a markdown version of this page

Kelola kumpulan data - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kelola kumpulan data

Topik ini mencakup pembuatan, pengambilan, daftar, pembaruan, dan penghapusan kumpulan data.

Buat dataset

CreateDatasetAPI membuat dataset evaluasi baru. Ini adalah operasi asinkron (HTTP 202) — transisi dataset dari CREATING ke setelah penyerapan ACTIVE selesai.

Parameter yang diperlukan: datasetName (hanya alfanumerik dan garis bawah,^[a-zA-Z][a-zA-Z0-9_]{0,47}$),schemaType, dan source (contoh sebaris atau URI S3).

Parameter opsional: description, kmsKeyArn (kunci enkripsi yang dikelola pelanggan, tidak dapat diubah setelah pembuatan — lihat Enkripsi Dataset),. tags

Contoh berikut menunjukkan cara membuat dataset:

contoh
AgentCore CLI
  1. # Add a dataset to your project agentcore add dataset --name my_eval_dataset \ --schema-type AGENTCORE_EVALUATION_PREDEFINED_V1 # Edit the generated JSONL file with your scenarios # File location: agentcore/datasets/my_eval_dataset.jsonl # Deploy to create the dataset in your AWS account agentcore deploy

    Ini membuat file JSONL lokal dan mendaftarkan dataset dalam konfigurasi proyek Anda. Jalan agentcore deploy kan untuk membuat sumber daya dataset dan sinkronkan contoh ke layanan.

    catatan

    Jalankan ini dari dalam direktori AgentCore proyek (dibuat denganagentcore create).

AgentCore SDK
  1. from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") # Create with inline examples (polls until ACTIVE) ds = client.create_dataset_and_wait( datasetName="customer_support_scenarios", 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"], } ] } }, ) print(f"Dataset ID: {ds['datasetId']}, Status: {ds['status']}") # Create with S3 source ds = client.create_dataset_and_wait( datasetName="my_s3_dataset", schemaType="AGENTCORE_EVALUATION_PREDEFINED_V1", source={"s3Source": {"s3Uri": "s3://my-bucket/scenarios.jsonl"}}, )
    catatan

    Untuk penyerapan S3, setiap baris dalam file JSONL harus menyertakan bidang. exampleId Bucket S3 harus dapat diakses menggunakan kredenSIAL pemanggil.

AWS SDK
  1. import boto3 import time client = boto3.client('bedrock-agentcore-control') response = client.create_dataset( datasetName='customer_support_scenarios', 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 = response['datasetId'] # Create with S3 source response = client.create_dataset( datasetName='my_s3_dataset', schemaType='AGENTCORE_EVALUATION_PREDEFINED_V1', source={ 's3Source': {'s3Uri': 's3://my-bucket/scenarios.jsonl'} } ) # Poll until ACTIVE while True: ds = client.get_dataset(datasetId=dataset_id) if ds['status'] in ('ACTIVE', 'CREATE_FAILED'): break time.sleep(2)
AWS CLI
  1. # Create with inline examples aws bedrock-agentcore-control create-dataset \ --dataset-name "customer_support_scenarios" \ --schema-type 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"]}]}}' # Create with S3 source aws bedrock-agentcore-control create-dataset \ --dataset-name "my_s3_dataset" \ --schema-type AGENTCORE_EVALUATION_PREDEFINED_V1 \ --source '{"s3Source": {"s3Uri": "s3://my-bucket/scenarios.jsonl"}}' # Poll until ACTIVE aws bedrock-agentcore-control get-dataset \ --dataset-id my-dataset-id

Dapatkan dataset

GetDatasetAPI mengambil metadata kumpulan data, status, jumlah contoh, dan URL unduhan yang telah ditandatangani sebelumnya untuk konten kumpulan data. Secara default membaca Draf; tentukan datasetVersion untuk versi yang diterbitkan.

Ini downloadUrl adalah URL S3 yang telah ditandatangani sebelumnya untuk dataset.jsonl file lengkap. Anda dapat mengunduhnya dengan permintaan GET HTTP biasa tanpa header otentikasi.

Contoh berikut menunjukkan cara mendapatkan dataset:

contoh
AgentCore CLI
  1. # Show dataset deployment status and metadata agentcore status --type dataset # Download dataset content to your local JSONL file (default: Draft) agentcore dataset download --name my_eval_dataset # Download a specific published version agentcore dataset download --name my_eval_dataset --version 1
AgentCore SDK
  1. from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") # Get dataset (default: Draft) ds = client.get_dataset(datasetId="my-dataset-id") print(f"Status: {ds['status']}, Examples: {ds['exampleCount']}") print(f"Download URL: {ds['downloadUrl']}") # Get a specific published version ds_v1 = client.get_dataset(datasetId="my-dataset-id", datasetVersion="1")
AWS SDK
  1. import boto3 client = boto3.client('bedrock-agentcore-control') response = client.get_dataset(datasetId='my-dataset-id') print(f"Status: {response['status']}, Examples: {response['exampleCount']}") # Download the dataset content via presigned URL if 'downloadUrl' in response: import requests data = requests.get(response['downloadUrl']) print(data.text) # Get a specific published version response = client.get_dataset(datasetId='my-dataset-id', datasetVersion='1')
AWS CLI
  1. # Get dataset (default: Draft) aws bedrock-agentcore-control get-dataset \ --dataset-id my-dataset-id # Get a specific published version aws bedrock-agentcore-control get-dataset \ --dataset-id my-dataset-id \ --dataset-version 1

Daftar kumpulan data

ListDatasetsAPI mengembalikan daftar kumpulan data yang dipaginasi di akun dan Wilayah Anda.

Contoh berikut menunjukkan cara membuat daftar kumpulan data:

contoh
AgentCore CLI
  1. agentcore status --type dataset
AgentCore SDK
  1. from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") response = client.list_datasets() for dataset in response["datasets"]: print(f" {dataset['datasetName']} ({dataset['status']})")
AWS SDK
  1. import boto3 client = boto3.client('bedrock-agentcore-control') response = client.list_datasets() for dataset in response['datasets']: print(f" {dataset['datasetName']} ({dataset['status']})")
AWS CLI
  1. aws bedrock-agentcore-control list-datasets

Perbarui dataset

UpdateDatasetAPI memperbarui metadata dataset. Ini adalah operasi sinkron (HTTP 200). Hanya description dan tags dapat diperbarui. datasetName,schemaType, dan tidak kmsKeyArn berubah setelah penciptaan.

Dataset harus dalamACTIVE,UPDATE_FAILED, atau CREATE_FAILED status.

Contoh berikut menunjukkan cara memperbarui metadata dataset:

contoh
AgentCore CLI
  1. Untuk memperbarui dataset dengan AgentCore CLI, edit konfigurasi dataset di agentcore.json file Anda secara langsung, lalu gunakan kembali:

    agentcore deploy

    Bukaagentcore.json, temukan dataset dalam datasets array, memodifikasinyadescription, lalu jalankanagentcore deploy. Perubahan berlaku setelah penerapan.

    catatan

    Jalankan ini dari dalam direktori AgentCore proyek (dibuat denganagentcore create).

AgentCore SDK
  1. from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") client.update_dataset(datasetId="my-dataset-id", description="Updated description")
AWS SDK
  1. import boto3 client = boto3.client('bedrock-agentcore-control') client.update_dataset(datasetId='my-dataset-id', description='Updated description')
AWS CLI
  1. aws bedrock-agentcore-control update-dataset \ --dataset-id my-dataset-id \ --description "Updated description"

Hapus dataset

DeleteDatasetAPI menghapus dataset. Ini adalah operasi asinkron (HTTP 202).

  • Hapus penuh (hilangkandatasetVersion): Menghapus semua versi, Draf, dan catatan dataset.

  • Version-specific hapus (tentukan datasetVersion sebagai bilangan bulat): Menghapus hanya versi yang diterbitkan.

Dataset harus dalamACTIVE,CREATE_FAILED,UPDATE_FAILED, atau DELETE_FAILED status.

catatan

Hanya nomor versi integer yang diterima untuk penghapusan khusus versi.

Contoh berikut menunjukkan cara menghapus dataset:

contoh
AgentCore CLI
  1. # Delete a specific published version agentcore dataset remove-version 1 --name my_eval_dataset # Delete entire dataset 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") # Delete a specific published version client.delete_dataset_and_wait(datasetId="my-dataset-id", datasetVersion="1") # Delete entire dataset (polls until complete) client.delete_dataset_and_wait(datasetId="my-dataset-id")
AWS SDK
  1. import boto3 client = boto3.client('bedrock-agentcore-control') # Delete a specific published version client.delete_dataset(datasetId='my-dataset-id', datasetVersion='1') # Delete entire dataset client.delete_dataset(datasetId='my-dataset-id')
AWS CLI
  1. # Delete a specific published version aws bedrock-agentcore-control delete-dataset \ --dataset-id my-dataset-id \ --dataset-version 1 # Delete entire dataset aws bedrock-agentcore-control delete-dataset \ --dataset-id my-dataset-id