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.
esquema de conjunto de datos
Un conjunto de datos contiene uno o más escenarios. Cada escenario representa una conversación (sesión) con el agente. Tanto los ejecutores de conjuntos de datos por lotes como bajo demanda utilizan el mismo formato de conjunto de datos.
El AgentCore SDK admite dos tipos de escenarios:
-
Los escenarios predefinidos utilizan una secuencia fija de turnos que se crean a mano. El corredor repite los giros exactamente como están escritos.
-
Los escenarios simulados utilizan a un LLM-backed actor para generar turnos de forma dinámica en función de una persona y un objetivo. Consulte Simulación de usuarios para obtener más información sobre los perfiles de los actores y la configuración de la simulación.
FileDatasetProviderdetecta automáticamente el tipo de escenario a partir de la estructura JSON: los escenarios con un turns campo se cargan como predefinidos; los escenarios con un actor_profile campo (y sin élturns) se cargan como simulados.
Escenarios predefinidos
Un escenario predefinido especifica una secuencia fija de giros con entradas conocidas y salidas esperadas opcionales.
Single-turn ejemplo
Cada escenario envía un mensaje y comprueba la respuesta:
{ "scenarios": [ { "scenario_id": "math-question", "turns": [ { "input": "What is 15 + 27?", "expected_response": "15 + 27 = 42" } ], "expected_trajectory": ["calculator"], "assertions": ["Agent used the calculator tool to compute the result"] }, { "scenario_id": "weather-check", "turns": [ { "input": "What's the weather?", "expected_response": "The weather is sunny" } ], "expected_trajectory": ["weather"], "assertions": ["Agent used the weather tool"] } ] }
Multi-turn ejemplo
Multi-turn los escenarios tienen varios turnos por escenario. Los turnos se ejecutan de forma secuencial dentro de la misma sesión, manteniendo el contexto de la conversación. Cada turno puede tener su propia expected_response duración assertions y expected_trajectory aplicarse a toda la sesión:
{ "scenarios": [ { "scenario_id": "math-then-weather", "turns": [ { "input": "What is 15 + 27?", "expected_response": "15 + 27 = 42" }, { "input": "What's the weather?", "expected_response": "The weather is sunny" } ], "expected_trajectory": ["calculator", "weather"], "assertions": [ "Agent used the calculator tool for the math question", "Agent used the weather tool when asked about weather" ] } ] }
Campos de escenario
| Campo | Obligatorio | Tipo | Restricciones | Description (Descripción) |
|---|---|---|---|---|
|
|
Sí |
Cadena |
Non-empty |
Identificador único para el escenario. |
|
|
Sí |
Lista de objetos |
Non-empty lista |
Lista de turnos en la conversación. Cada turno tiene |
|
|
No |
Lista de cadenas |
Secuencia esperada de nombres de herramientas. Utilizado por los evaluadores de trayectorias ( |
|
|
|
No |
Lista de cadenas |
Afirmaciones en lenguaje natural sobre el comportamiento esperado. Utilizado por |
|
|
|
No |
Objeto |
Metadatos de valores clave arbitrarios para el escenario. |
Cambie los campos
| Campo | Obligatorio | Tipo | Restricciones | Description (Descripción) |
|---|---|---|---|---|
|
|
Sí |
Cadena u objeto |
Non-empty |
La solicitud enviada al agente para este turno. Puede ser una cadena simple (por ejemplo, |
|
|
No |
Cadena |
La respuesta esperada del agente para este turno. Utilizado por |
Escenarios simulados
Un escenario simulado define un perfil de actor y una entrada inicial. El actor genera los siguientes turnos de forma dinámica:
{ "scenarios": [ { "scenario_id": "geography-student", "scenario_description": "A curious student asks geography questions", "actor_profile": { "traits": {"expertise": "novice", "tone": "curious"}, "context": "A student studying world geography who wants to learn about capitals", "goal": "Find out the capital cities of at least two different countries" }, "input": "Hi! I'm studying geography. Can you help me learn about world capitals?", "max_turns": 5, "assertions": [ "Agent provides accurate capital city information", "Agent is helpful and encouraging to the student" ] } ] }
Campos de escenario
| Campo | Obligatorio | Tipo | Restricciones | Description (Descripción) |
|---|---|---|---|---|
|
|
Sí |
Cadena |
Non-empty |
Identificador único para el escenario. |
|
|
Sí |
Objeto |
Debe contener |
La identidad y el objetivo del actor, |
|
|
Sí |
Cadena u objeto |
Non-empty |
El primer mensaje enviado a su agente para iniciar la conversación. Normalmente es una cadena simple, pero también puede ser un objeto estructurado. |
|
|
No |
Cadena |
Metadatos opcionales que describen el escenario. Son útiles para organizar e identificar escenarios en los resultados. |
|
|
|
No |
Entero |
Debe ser ≥ 1 |
Número máximo de turnos antes de que se detenga la conversación. Predeterminado: 10. |
|
|
No |
Lista de cadenas |
Afirmaciones en lenguaje natural sobre el comportamiento esperado. Utilizado por |
|
|
|
No |
Objeto |
Metadatos de valores clave arbitrarios para el escenario. |
nota
Los escenarios simulados no admiten expected_trajectory la opción por turno expected_response porque el flujo de la conversación no se conoce de antemano. assertionsUtilízalo para obtener la verdad básica con escenarios simulados.
Mapeo de la verdad básica
Ambos corredores asignan automáticamente los campos del conjunto de datos a los evaluadores que los utilizan:
| Evaluador | Campo de verdad fundamental | Nivel | Description (Descripción) |
|---|---|---|---|
|
|
|
Rastreo |
Mide la precisión con la que la respuesta del agente coincide con la respuesta esperada. |
|
|
|
Session |
Valida si el comportamiento del agente satisface las afirmaciones del lenguaje natural. |
|
|
|
Session |
Comprueba que la secuencia real de llamadas a la herramienta coincide exactamente. |
|
|
|
Session |
Comprueba que las herramientas esperadas aparezcan en orden, lo que permite añadir más entre ellas. |
|
|
|
Session |
Comprueba que todas las herramientas esperadas estén presentes, independientemente del orden en que estén. |
-
Los campos de información básica son opcionales. Los evaluadores que no utilizan la verdad básica (por ejemplo
Builtin.Helpfulness,Builtin.Faithfulness) evalúan basándose únicamente en el contenido de la sesión. -
Puede incluir todos los campos de información básica en un único conjunto de datos. Cada corredor envía los campos relevantes a los evaluadores apropiados.
-
Si no hay campos de verdad básicos, los evaluadores vuelven a su modalidad básica sin la verdad.
Para obtener más información sobre los campos de Ground Truth y cómo funcionan con la API Evaluate, consulta las evaluaciones de Ground Truth.
Construcción de conjuntos de datos en línea
En lugar de cargarlos desde un archivo JSON, puedes crear conjuntos de datos directamente en Python:
from bedrock_agentcore.evaluation import Dataset, PredefinedScenario, Turn dataset = Dataset( scenarios=[ PredefinedScenario( scenario_id="math-question", turns=[ Turn( input="What is 15 + 27?", expected_response="15 + 27 = 42", ), ], expected_trajectory=["calculator"], assertions=["Agent used the calculator tool"], ), PredefinedScenario( scenario_id="weather-check", turns=[ Turn(input="What's the weather?"), ], expected_trajectory=["weather"], ), ] )
O carga desde un archivo JSON:
from bedrock_agentcore.evaluation import FileDatasetProvider dataset = FileDatasetProvider("dataset.json").get_dataset()