Kelola kumpulan data
Topik ini mencakup pembuatan, pengambilan, daftar, pembaruan, dan penghapusan kumpulan data.
Buat kumpulan data
CreateDatasetAPI membuat dataset evaluasi baru. Ini adalah operasi asinkron (HTTP 202) — transisi dataset dari ke setelah konsumsi selesai. CREATING ACTIVE
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 terkelola pelanggan, tidak dapat diubah setelah pembuatan — lihat enkripsi Dataset),. tags
Contoh berikut menunjukkan cara membuat dataset:
contoh
- AgentCore CLI
-
-
# 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 kumpulan data dalam konfigurasi proyek Anda. Jalankan agentcore deploy untuk membuat sumber daya kumpulan data dan menyinkronkan contoh ke layanan.
Jalankan ini dari dalam direktori AgentCore proyek (dibuat denganagentcore create).
- AgentCore SDK
-
-
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"}},
)
Untuk konsumsi S3, setiap baris dalam file JSONL harus menyertakan bidang. exampleId Bucket S3 harus dapat diakses menggunakan kredensi pemanggil.
- AWS SDK
-
-
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
-
-
# 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 ditetapkan sebelumnya untuk konten kumpulan data. Secara default membaca Draf; tentukan datasetVersion untuk versi yang diterbitkan.
downloadUrlIni adalah URL S3 presigned untuk file lengkapdataset.jsonl. Anda dapat mengunduhnya dengan permintaan HTTP GET biasa tanpa header otentikasi.
Contoh berikut menunjukkan cara mendapatkan dataset:
contoh
- AgentCore CLI
-
-
# 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
-
-
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
-
-
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
-
-
# 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 menampilkan daftar kumpulan data yang dipaginasi di akun dan Wilayah Anda.
Contoh berikut menunjukkan cara membuat daftar kumpulan data:
contoh
- AgentCore CLI
-
-
agentcore status --type dataset
- AgentCore SDK
-
-
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
-
-
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
-
-
aws bedrock-agentcore-control list-datasets
Perbarui kumpulan data
UpdateDatasetAPI memperbarui metadata kumpulan data. Ini adalah operasi sinkron (HTTP 200). Hanya description dan tags dapat diperbarui. datasetName,schemaType, dan kmsKeyArn tidak dapat diubah setelah penciptaan.
Dataset harus dalamACTIVE,UPDATE_FAILED, atau CREATE_FAILED status.
Contoh berikut menunjukkan cara memperbarui metadata kumpulan data:
contoh
- AgentCore CLI
-
-
Untuk memperbarui kumpulan data dengan AgentCore CLI, edit konfigurasi kumpulan data di file agentcore.json Anda secara langsung, lalu terapkan ulang:
agentcore deploy
Bukaagentcore.json, temukan dataset dalam datasets array, modifikasidescription, lalu jalankanagentcore deploy. Perubahan berlaku setelah penerapan.
Jalankan ini dari dalam direktori AgentCore proyek (dibuat denganagentcore create).
- AgentCore SDK
-
-
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
-
-
import boto3
client = boto3.client('bedrock-agentcore-control')
client.update_dataset(datasetId='my-dataset-id', description='Updated description')
- AWS CLI
-
-
aws bedrock-agentcore-control update-dataset \
--dataset-id my-dataset-id \
--description "Updated description"
Hapus kumpulan data
DeleteDatasetAPI menghapus dataset. Ini adalah operasi asinkron (HTTP 202).
-
Hapus penuh (hilangkandatasetVersion): Menghapus semua versi, Draf, dan catatan kumpulan data.
-
Version-specific delete (tentukan datasetVersion sebagai integer): Menghapus hanya versi yang diterbitkan.
Dataset harus dalamACTIVE,, CREATE_FAILEDUPDATE_FAILED, atau DELETE_FAILED status.
Hanya nomor versi integer yang diterima untuk penghapusan khusus versi.
Contoh berikut menunjukkan cara menghapus dataset:
contoh
- AgentCore CLI
-
-
# 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
-
-
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
-
-
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
-
-
# 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