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