管理資料集範例
資料集達到ACTIVE狀態後,您可以在草稿中新增、更新、刪除和列出範例。所有範例變動都是非同步 (HTTP 202) 並使用all-or-nothing語意 - 如果找不到任何範例 ID,整個批次會失敗,並顯示 ResourceNotFoundException。
每個請求最多 1,000 個範例。內嵌內容限制:5 MB。
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
-