View a markdown version of this page

管理数据集示例 - Amazon Bedrock AgentCore

管理数据集示例

数据集达到ACTIVE状态后,您可以在草稿中添加、更新、删除和列出示例。所有示例突变都是异步的 (HTTP 202),并且使用全有或全无语义——如果找不到任何示例 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加上更新的内容字段。数据集必须处于ACTIVEUPDATE_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