View a markdown version of this page

데이터 세트 관리 예제 - Amazon Bedrock AgentCore

데이터 세트 관리 예제

데이터 세트가 ACTIVE 상태에 도달하면 초안에서 예제를 추가, 업데이트, 삭제 및 나열할 수 있습니다. 모든 예제 변형은 비동기식(HTTP 202)이며 all-or-nothing 의미 체계를 사용합니다. 예제 ID를 찾을 수 없는 경우 전체 배치가에서 실패합니다ResourceNotFoundException.

요청당 최대 1,000개의 예제. 인라인 콘텐츠 제한: 5MB.

AddDatasetExamples

다음 예제에서는 데이터세트에 예제를 추가하는 방법을 보여줍니다.

AgentCore CLI
  1. AgentCore CLI를 사용하여 예제를 추가하려면 로컬 JSONL 파일에 새 시나리오를 추가한 다음 재배포합니다.

    # Edit agentcore/datasets/my_eval_dataset.jsonl — add new lines agentcore deploy

    배포는 JSONL 파일에서 새 시나리오를 감지하여 서비스에 추가합니다. diff만 적용됩니다. 기존 예제는 다시 업로드되지 않습니다.

    참고

    AgentCore 프로젝트 디렉터리(로 생성됨) 내에서이 작업을 실행합니다agentcore create.

AgentCore SDK
  1. 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
  1. 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
  1. 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
  1. AgentCore CLI로 예제를 업데이트하려면 로컬 JSONL 파일의 기존 시나리오를 수정한 다음 재배포합니다.

    # Edit agentcore/datasets/my_eval_dataset.jsonl — modify existing lines agentcore deploy

    배포는 로컬 파일을 서비스와 구분하고 변경된 예제를 업데이트합니다. 서비스가 새 예제가 아닌 업데이트로 인식하려면 각 줄에 exampleId가 있어야 합니다.

    참고

    AgentCore 프로젝트 디렉터리(로 생성됨) 내에서이 작업을 실행합니다agentcore create.

AgentCore SDK
  1. 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
  1. 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
  1. 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
  1. AgentCore CLI를 사용하여 예제를 삭제하려면 로컬 JSONL 파일에서 해당 줄을 제거한 다음 재배포합니다.

    # Edit agentcore/datasets/my_eval_dataset.jsonl — remove lines agentcore deploy

    배포는 제거된 시나리오를 감지하고 서비스에서 삭제합니다.

    참고

    AgentCore 프로젝트 디렉터리(로 생성됨) 내에서이 작업을 실행합니다agentcore create.

AgentCore SDK
  1. 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
  1. 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
  1. aws bedrock-agentcore-control delete-dataset-examples \ --dataset-id my-dataset-id \ --example-ids '["example-id-1", "example-id-2"]'

ListDatasetExamples

전체 콘텐츠가 포함된 페이지가 매겨진 예제 목록을 반환합니다. 기본적으로 초안에서 읽습니다. 게시된 버전에서 읽datasetVersion으려면를 지정합니다.

다음 예제에서는 데이터 세트 예제를 나열하는 방법을 보여줍니다.

AgentCore CLI
  1. # 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
  1. 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
  1. 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
  1. # 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