View a markdown version of this page

データセットの管理の例 - Amazon Bedrock AgentCore

データセットの管理の例

データセットがACTIVEステータスに達したら、ドラフトで例を追加、更新、削除、一覧表示できます。ミューテーションの例はすべて非同期 (HTTP 202) であり、all-or-nothingセマンティクスを使用します。サンプル ID が見つからない場合、バッチ全体が で失敗しますResourceNotFoundException

リクエストあたり最大 1,000 個の例。インラインコンテンツの制限: 5 MB。

AddDatasetExamples

次の例は、データセットに例を追加する方法を示しています。

AgentCore CLI
  1. AgentCore CLI で例を追加するには、ローカル JSONL ファイルに新しいシナリオを追加してから、再デプロイします。

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

    デプロイは JSONL ファイル内の新しいシナリオを検出し、サービスに追加します。差分のみが適用され、既存の例は再アップロードされません。

    注記

    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

データセットは、ACTIVEUPDATE_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