데이터 세트 관리 예제
데이터 세트가 ACTIVE 상태에 도달하면 초안에서 예제를 추가, 업데이트, 삭제 및 나열할 수 있습니다. 모든 예제 변형은 비동기식(HTTP 202)이며 all-or-nothing 의미 체계를 사용합니다. 예제 ID를 찾을 수 없는 경우 전체 배치가에서 실패합니다ResourceNotFoundException.
요청당 최대 1,000개의 예제. 인라인 콘텐츠 제한: 5MB.
AddDatasetExamples
다음 예제에서는 데이터세트에 예제를 추가하는 방법을 보여줍니다.
예
- AgentCore CLI
-
-
AgentCore CLI를 사용하여 예제를 추가하려면 로컬 JSONL 파일에 새 시나리오를 추가한 다음 재배포합니다.
# Edit agentcore/datasets/my_eval_dataset.jsonl — add new lines agentcore deploy배포는 JSONL 파일에서 새 시나리오를 감지하여 서비스에 추가합니다. diff만 적용됩니다. 기존 예제는 다시 업로드되지 않습니다.
참고
AgentCore 프로젝트 디렉터리(로 생성됨) 내에서이 작업을 실행합니다
agentcore create.
-
- AgentCore SDK
-
-
from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") ds = client.add_examples_and_wait( datasetId="my-dataset-id", source={ "inlineExamples": { "examples": [ { "scenario_id": "TC-02", "turns": [{"input": "Transfer $100", "expected_response": "Transfer complete."}], } ] } }, ) print(f"Example count: {ds['exampleCount']}")
-
- AWS SDK
-
-
import boto3 import time client = boto3.client('bedrock-agentcore-control') resp = client.add_dataset_examples( datasetId='my-dataset-id', source={'inlineExamples': {'examples': [ {'scenario_id': 'TC-02', 'turns': [{'input': 'Transfer $100', 'expected_response': 'Transfer complete.'}]} ]}} ) print(f"Added example IDs: {resp['exampleIds']}") # Poll until ACTIVE while True: ds = client.get_dataset(datasetId='my-dataset-id') if ds['status'] == 'ACTIVE': break time.sleep(2)
-
- AWS CLI
-
-
aws bedrock-agentcore-control add-dataset-examples \ --dataset-id my-dataset-id \ --source '{"inlineExamples": {"examples": [{"scenario_id": "TC-02", "turns": [{"input": "Transfer $100", "expected_response": "Transfer complete."}]}]}}'
-
UpdateDatasetExamples
각 항목에는 업데이트된 콘텐츠 필드가 exampleId 포함되어야 합니다. 데이터 세트는 ACTIVE 또는 UPDATE_FAILED 상태여야 합니다.
다음 예제에서는 데이터 세트 예제를 업데이트하는 방법을 보여줍니다.
예
- AgentCore CLI
-
-
AgentCore CLI로 예제를 업데이트하려면 로컬 JSONL 파일의 기존 시나리오를 수정한 다음 재배포합니다.
# Edit agentcore/datasets/my_eval_dataset.jsonl — modify existing lines agentcore deploy배포는 로컬 파일을 서비스와 구분하고 변경된 예제를 업데이트합니다. 서비스가 새 예제가 아닌 업데이트로 인식하려면 각 줄에
exampleId가 있어야 합니다.참고
AgentCore 프로젝트 디렉터리(로 생성됨) 내에서이 작업을 실행합니다
agentcore create.
-
- AgentCore SDK
-
-
from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") ds = client.update_examples_and_wait( datasetId="my-dataset-id", examples=[ { "exampleId": "example-id-from-list", "scenario_id": "TC-02-updated", "turns": [{"input": "Transfer $200", "expected_response": "Transfer complete."}], } ], )
-
- AWS SDK
-
-
import boto3 import time client = boto3.client('bedrock-agentcore-control') client.update_dataset_examples( datasetId='my-dataset-id', examples=[ { 'exampleId': 'example-id-from-list', 'scenario_id': 'TC-02-updated', 'turns': [{'input': 'Transfer $200', 'expected_response': 'Transfer complete.'}], } ] ) # Poll until ACTIVE while True: ds = client.get_dataset(datasetId='my-dataset-id') if ds['status'] == 'ACTIVE': break time.sleep(2)
-
- AWS CLI
-
-
aws bedrock-agentcore-control update-dataset-examples \ --dataset-id my-dataset-id \ --cli-input-json file://update-examples.json
-
DeleteDatasetExamples
데이터 세트는 ACTIVE, UPDATE_FAILED또는 CREATE_FAILED 상태여야 합니다.
다음 예제에서는 데이터 세트 예제를 삭제하는 방법을 보여줍니다.
예
- AgentCore CLI
-
-
AgentCore CLI를 사용하여 예제를 삭제하려면 로컬 JSONL 파일에서 해당 줄을 제거한 다음 재배포합니다.
# Edit agentcore/datasets/my_eval_dataset.jsonl — remove lines agentcore deploy배포는 제거된 시나리오를 감지하고 서비스에서 삭제합니다.
참고
AgentCore 프로젝트 디렉터리(로 생성됨) 내에서이 작업을 실행합니다
agentcore create.
-
- AgentCore SDK
-
-
from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") ds = client.delete_examples_and_wait( datasetId="my-dataset-id", exampleIds=["example-id-1", "example-id-2"], )
-
- AWS SDK
-
-
import boto3 import time client = boto3.client('bedrock-agentcore-control') client.delete_dataset_examples( datasetId='my-dataset-id', exampleIds=['example-id-1', 'example-id-2'] ) # Poll until ACTIVE while True: ds = client.get_dataset(datasetId='my-dataset-id') if ds['status'] == 'ACTIVE': break time.sleep(2)
-
- AWS CLI
-
-
aws bedrock-agentcore-control delete-dataset-examples \ --dataset-id my-dataset-id \ --example-ids '["example-id-1", "example-id-2"]'
-
ListDatasetExamples
전체 콘텐츠가 포함된 페이지가 매겨진 예제 목록을 반환합니다. 기본적으로 초안에서 읽습니다. 게시된 버전에서 읽datasetVersion으려면를 지정합니다.
다음 예제에서는 데이터 세트 예제를 나열하는 방법을 보여줍니다.
예
- AgentCore CLI
-
-
# Download examples to your local JSONL file (default: Draft) agentcore dataset download --name my_eval_dataset # Download examples from a 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") # List examples from Draft resp = client.list_dataset_examples(datasetId="my-dataset-id") for example in resp["examples"]: print(f" {example['exampleId']}: {example['scenario_id']}") # List examples from a published version resp = client.list_dataset_examples(datasetId="my-dataset-id", datasetVersion="1")
-
- AWS SDK
-
-
import boto3 client = boto3.client('bedrock-agentcore-control') resp = client.list_dataset_examples(datasetId='my-dataset-id') for example in resp['examples']: print(f" {example['exampleId']}: {example.get('scenario_id')}") # List examples from a published version resp = client.list_dataset_examples(datasetId='my-dataset-id', datasetVersion='1')
-
- AWS CLI
-
-
# List examples from Draft aws bedrock-agentcore-control list-dataset-examples \ --dataset-id my-dataset-id # List examples from a published version aws bedrock-agentcore-control list-dataset-examples \ --dataset-id my-dataset-id \ --dataset-version 1
-