View a markdown version of this page

Administrar conjuntos de datos - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administrar conjuntos de datos

Este tema trata sobre la creación, la recuperación, la lista, la actualización y la eliminación de conjuntos de datos.

Crear conjunto de datos

La CreateDataset API crea un nuevo conjunto de datos de evaluación. Se trata de una operación asincrónica (HTTP 202): el conjunto de datos pasa de ACTIVE una CREATING a otra una vez que se completa la ingestión.

Parámetros obligatorios: datasetName (solo alfanuméricos y guiones bajos^[a-zA-Z][a-zA-Z0-9_]{0,47}$) y source (ejemplos en línea o schemaType URI de S3).

Parámetros opcionales: description, kmsKeyArn (clave de cifrado gestionada por el cliente, inmutable tras su creación; consulte Cifrado de conjuntos de datos),. tags

Los siguientes ejemplos muestran cómo crear un conjunto de datos:

ejemplo
AgentCore CLI
  1. # Add a dataset to your project agentcore add dataset --name my_eval_dataset \ --schema-type AGENTCORE_EVALUATION_PREDEFINED_V1 # Edit the generated JSONL file with your scenarios # File location: agentcore/datasets/my_eval_dataset.jsonl # Deploy to create the dataset in your AWS account agentcore deploy

    Esto crea un archivo JSONL local y registra el conjunto de datos en la configuración de tu proyecto. Ejecute agentcore deploy para crear el recurso del conjunto de datos y sincronizar los ejemplos con el servicio.

    nota

    Ejecútelo desde el directorio de un AgentCore proyecto (creado conagentcore create).

AgentCore SDK
  1. from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") # Create with inline examples (polls until ACTIVE) ds = client.create_dataset_and_wait( datasetName="customer_support_scenarios", schemaType="AGENTCORE_EVALUATION_PREDEFINED_V1", source={ "inlineExamples": { "examples": [ { "scenario_id": "TC-01", "turns": [{"input": "What is my balance?", "expected_response": "Your balance is $50."}], "assertions": ["Response includes a dollar amount"], } ] } }, ) print(f"Dataset ID: {ds['datasetId']}, Status: {ds['status']}") # Create with S3 source ds = client.create_dataset_and_wait( datasetName="my_s3_dataset", schemaType="AGENTCORE_EVALUATION_PREDEFINED_V1", source={"s3Source": {"s3Uri": "s3://my-bucket/scenarios.jsonl"}}, )
    nota

    Para la ingestión de S3, cada línea del archivo JSONL debe incluir un campo. exampleId Se debe poder acceder al bucket de S3 con las credenciales de la persona que llama.

AWS SDK
  1. import boto3 import time client = boto3.client('bedrock-agentcore-control') response = client.create_dataset( datasetName='customer_support_scenarios', schemaType='AGENTCORE_EVALUATION_PREDEFINED_V1', source={ 'inlineExamples': { 'examples': [ { 'scenario_id': 'TC-01', 'turns': [{'input': 'What is my balance?', 'expected_response': 'Your balance is $50.'}], 'assertions': ['Response includes a dollar amount'], } ] } } ) dataset_id = response['datasetId'] # Create with S3 source response = client.create_dataset( datasetName='my_s3_dataset', schemaType='AGENTCORE_EVALUATION_PREDEFINED_V1', source={ 's3Source': {'s3Uri': 's3://my-bucket/scenarios.jsonl'} } ) # Poll until ACTIVE while True: ds = client.get_dataset(datasetId=dataset_id) if ds['status'] in ('ACTIVE', 'CREATE_FAILED'): break time.sleep(2)
AWS CLI
  1. # Create with inline examples aws bedrock-agentcore-control create-dataset \ --dataset-name "customer_support_scenarios" \ --schema-type AGENTCORE_EVALUATION_PREDEFINED_V1 \ --source '{"inlineExamples": {"examples": [{"scenario_id": "TC-01", "turns": [{"input": "What is my balance?", "expected_response": "Your balance is $50."}], "assertions": ["Response includes a dollar amount"]}]}}' # Create with S3 source aws bedrock-agentcore-control create-dataset \ --dataset-name "my_s3_dataset" \ --schema-type AGENTCORE_EVALUATION_PREDEFINED_V1 \ --source '{"s3Source": {"s3Uri": "s3://my-bucket/scenarios.jsonl"}}' # Poll until ACTIVE aws bedrock-agentcore-control get-dataset \ --dataset-id my-dataset-id

Obtenga el conjunto de datos

La GetDataset API recupera los metadatos del conjunto de datos, el estado, el recuento de ejemplos y una URL de descarga prefirmada para el contenido del conjunto de datos. De forma predeterminada, lee el borrador; especifícalo datasetVersion para una versión publicada.

downloadUrlEs una URL de S3 prefirmada para el dataset.jsonl archivo completo. Puede descargarlo con una solicitud HTTP GET simple sin encabezados de autenticación.

Los siguientes ejemplos muestran cómo obtener un conjunto de datos:

ejemplo
AgentCore CLI
  1. # Show dataset deployment status and metadata agentcore status --type dataset # Download dataset content to your local JSONL file (default: Draft) agentcore dataset download --name my_eval_dataset # Download a specific 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") # Get dataset (default: Draft) ds = client.get_dataset(datasetId="my-dataset-id") print(f"Status: {ds['status']}, Examples: {ds['exampleCount']}") print(f"Download URL: {ds['downloadUrl']}") # Get a specific published version ds_v1 = client.get_dataset(datasetId="my-dataset-id", datasetVersion="1")
AWS SDK
  1. import boto3 client = boto3.client('bedrock-agentcore-control') response = client.get_dataset(datasetId='my-dataset-id') print(f"Status: {response['status']}, Examples: {response['exampleCount']}") # Download the dataset content via presigned URL if 'downloadUrl' in response: import requests data = requests.get(response['downloadUrl']) print(data.text) # Get a specific published version response = client.get_dataset(datasetId='my-dataset-id', datasetVersion='1')
AWS CLI
  1. # Get dataset (default: Draft) aws bedrock-agentcore-control get-dataset \ --dataset-id my-dataset-id # Get a specific published version aws bedrock-agentcore-control get-dataset \ --dataset-id my-dataset-id \ --dataset-version 1

Enumere los conjuntos de datos

La ListDatasets API muestra una lista paginada de los conjuntos de datos de tu cuenta y región.

Los siguientes ejemplos muestran cómo enumerar los conjuntos de datos:

ejemplo
AgentCore CLI
  1. agentcore status --type dataset
AgentCore SDK
  1. from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") response = client.list_datasets() for dataset in response["datasets"]: print(f" {dataset['datasetName']} ({dataset['status']})")
AWS SDK
  1. import boto3 client = boto3.client('bedrock-agentcore-control') response = client.list_datasets() for dataset in response['datasets']: print(f" {dataset['datasetName']} ({dataset['status']})")
AWS CLI
  1. aws bedrock-agentcore-control list-datasets

Actualizar el conjunto de datos

La UpdateDataset API actualiza los metadatos del conjunto de datos. Se trata de una operación sincrónica (HTTP 200). Solo description y tags se puede actualizar. datasetNameschemaType, y kmsKeyArn son inmutables después de su creación.

El conjunto de datos debe estar en ACTIVE estadoUPDATE_FAILED, oCREATE_FAILED.

Los siguientes ejemplos muestran cómo actualizar los metadatos del conjunto de datos:

ejemplo
AgentCore CLI
  1. Para actualizar un conjunto de datos con la AgentCore CLI, edita directamente la configuración del conjunto de datos en tu agentcore.json archivo y, a continuación, vuelve a implementarlo:

    agentcore deploy

    Abraagentcore.json, busque el conjunto de datos en la datasets matriz, modifíquelo y, a continuacióndescription, ejecútelo. agentcore deploy Los cambios surten efecto después de la implementación.

    nota

    Ejecútelo desde el directorio de un AgentCore proyecto (creado conagentcore create).

AgentCore SDK
  1. from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") client.update_dataset(datasetId="my-dataset-id", description="Updated description")
AWS SDK
  1. import boto3 client = boto3.client('bedrock-agentcore-control') client.update_dataset(datasetId='my-dataset-id', description='Updated description')
AWS CLI
  1. aws bedrock-agentcore-control update-dataset \ --dataset-id my-dataset-id \ --description "Updated description"

Eliminar conjunto de datos

La DeleteDataset API elimina un conjunto de datos. Se trata de una operación asincrónica (HTTP 202).

  • Eliminación completa (omisióndatasetVersion): elimina todas las versiones, el borrador y el registro del conjunto de datos.

  • Version-specific eliminar (especificar datasetVersion como un entero): elimina solo la versión publicada.

El conjunto de datos debe estar en DELETE_FAILED estado ACTIVECREATE_FAILED,UPDATE_FAILED, o.

nota

Solo se aceptan números de versión enteros para la eliminación específica de la versión.

Los siguientes ejemplos muestran cómo eliminar un conjunto de datos:

ejemplo
AgentCore CLI
  1. # Delete a specific published version agentcore dataset remove-version 1 --name my_eval_dataset # Delete entire dataset agentcore remove dataset --name my_eval_dataset agentcore deploy
AgentCore SDK
  1. from bedrock_agentcore.evaluation import DatasetClient client = DatasetClient(region_name="us-west-2") # Delete a specific published version client.delete_dataset_and_wait(datasetId="my-dataset-id", datasetVersion="1") # Delete entire dataset (polls until complete) client.delete_dataset_and_wait(datasetId="my-dataset-id")
AWS SDK
  1. import boto3 client = boto3.client('bedrock-agentcore-control') # Delete a specific published version client.delete_dataset(datasetId='my-dataset-id', datasetVersion='1') # Delete entire dataset client.delete_dataset(datasetId='my-dataset-id')
AWS CLI
  1. # Delete a specific published version aws bedrock-agentcore-control delete-dataset \ --dataset-id my-dataset-id \ --dataset-version 1 # Delete entire dataset aws bedrock-agentcore-control delete-dataset \ --dataset-id my-dataset-id