Saltar al contenido principal

Conjuntos de datos de experimentos

Usa Datasets para almacenar casos de prueba reutilizables para experimentos. Cada conjunto de datos puede tener una o más versiones inmutables. Cuando ejecutas un experimento, Fetch Hive usa una versión específica del conjunto de datos para que la ejecución sea repetible.

¿Cómo creo un conjunto de datos?

Abre Experiments y luego elige Datasets en la navegación secundaria. Haz clic en Add Dataset. Ingresa un nombre y una descripción opcional. Sube un archivo CSV. Puedes hacer clic en el área de carga o arrastrar el CSV hacia ella. Revisa el mapeo de columnas. Fetch Hive mapea automáticamente:
  • columnas normales a valores de entrada
  • expected_output a la salida esperada
  • columnas metadata.* a metadatos de fila
Haz clic en Add Dataset para crear el conjunto de datos y su primera versión.

¿Cómo veo las versiones del conjunto de datos?

Abre Experiments y luego elige Datasets. Haz clic en una fila de conjunto de datos para abrir la página de detalle. Usa el selector de versión en el encabezado de la página para cambiar entre versiones. Las versiones se muestran como etiquetas como v1, v2 o v4. La URL de la página incluye la versión seleccionada:
/experiments/datasets/:datasetId/v/:versionId
Abrir un conjunto de datos sin una versión selecciona automáticamente la versión más reciente. Las ejecuciones siempre almacenan la versión exacta del conjunto de datos que usaron, por lo que las ejecuciones antiguas siguen siendo reproducibles incluso después de que existan versiones más nuevas.

Formato de archivo CSV

La primera fila debe contener los encabezados de columna. El importador de CSV soporta valores entre comillas, comas dentro de valores entre comillas, comillas escapadas, valores entre comillas multilínea y celdas vacías. Límites de carga:
LímiteValor
Tipo de archivoCSV
Tamaño máximo de archivo5 MB
Filas máximas10,000
Filas de vista previa mostradas en el diálogo50

Columnas del CSV

Un conjunto de datos de experimento tiene tres tipos de columnas:
  • columnas de entrada
  • una columna opcional de salida esperada
  • columnas opcionales de metadatos
Solo se necesitan columnas de entrada para ejecutar candidatos. La salida esperada y los metadatos son opcionales.

Columnas de entrada

Las columnas de entrada son los valores que Fetch Hive pasa al prompt o agente para esa fila. No tienen nombres fijos para experimentos de prompt. question, context y customer_message son solo ejemplos. No son nombres de columna obligatorios. Usa nombres de columna que coincidan con el candidato que estás probando.
Tipo de candidatoCon qué deben coincidir las columnas de entrada del CSVColumnas de ejemplo
Dashboard PromptLas variables del prompt en el editor de promptsquestion, context, input_url, input_scrape
Deployed PromptLas variables del prompt capturadas en la versión del despliegue seleccionadaquestion, context, input_url, input_scrape
AgentLa entrada de mensaje de usuario del agentemessage
Se recomienda al menos una columna de entrada. Sin una columna de entrada, la ejecución no tiene entrada específica de fila para enviar al candidato. Para experimentos de prompt, las columnas de entrada del CSV deben coincidir con las variables del prompt. Si tu prompt tiene {{question}} y {{context}}, tu CSV debe incluir question y context. Si tu prompt tiene {{input_url}} y {{input_scrape}}, tu CSV debe incluir input_url y input_scrape en su lugar. Para experimentos de agente, usa message como la columna de entrada principal. Los agentes comienzan con un mensaje de usuario, por lo que message es la forma más clara para el conjunto de datos.
message,expected_output,metadata.case_id,metadata.topic
"Find the pricing page for Acme and summarize the plans.","A concise pricing summary","agent-001","research"

Columna de salida esperada

Usa expected_output cuando tengas una respuesta de referencia para la fila.
Nombre de columnaRequeridoAlmacenado comoNotas
expected_outputNoexpected_output.valueUsado para revisión manual hoy y para puntuación futura de evaluadores.
La ejecución de evaluadores aún no está habilitada. Esto significa que expected_output actualmente no marca un resultado como correcto o incorrecto automáticamente.

Columnas de metadatos

Usa columnas metadata.* para etiquetas opcionales de fila. Las columnas de metadatos no activan ningún comportamiento integrado actualmente. No cambian el orden de ejecución, los ajustes del modelo, la configuración regional, el enrutamiento ni la ejecución del candidato. Fetch Hive las almacena con la fila para que puedas identificar casos, filtrar resultados, comparar grupos o conectar los resultados de vuelta a tus propios sistemas.
Patrón de columnaRequeridoAlmacenado comoEjemplo
metadata.case_idNometadata.case_id se convierte en case_idgeo-001
metadata.topicNometadata.topic se convierte en topicgeography
metadata.priorityNometadata.priority se convierte en priorityhigh
metadata.sourceNometadata.source se convierte en sourcesupport_faq
metadata.languageNometadata.language se convierte en languageen
Estos nombres son solo ejemplos. Puedes usar cualquier nombre metadata.* que ayude a tu equipo a revisar los resultados. No uses prefijos meta_ para conjuntos de datos nuevos. Usa metadata.* para que el mapeo sea claro.

Formas comunes de CSV

Prompt con {{question}}:
question,expected_output,metadata.case_id,metadata.topic
"What is the capital of France?","Paris","geo-001","geography"
Prompt con {{question}} y {{context}}:
question,context,expected_output,metadata.case_id,metadata.topic
"What is the refund window?","Customers can request a refund within 30 days.","30 days","policy-001","support"
Prompt con {{input_url}} y {{input_scrape}}:
input_url,input_scrape,expected_output,metadata.case_id,metadata.topic
"https://example.com/pricing","The pricing page lists Starter, Pro, and Enterprise plans.","Summarize the three available plans.","scrape-001","pricing"
Mensaje de agente:
message,expected_output,metadata.case_id,metadata.topic
"Classify this customer message: The setup was quick and support was helpful.","positive","sentiment-001","classification"

CSV de ejemplo

Puedes descargar el CSV de ejemplo desde el diálogo Add Dataset.
question,context,expected_output,metadata.case_id,metadata.topic
"What is the capital of France?","Use only the provided context. France's capital city is Paris.","Paris","geo-001","geography"
"Who wrote Pride and Prejudice?","Jane Austen published Pride and Prejudice in 1813.","Jane Austen","lit-001","literature"
"What is 18 multiplied by 7?","Calculate the product exactly.","126","math-001","math"
"Which planet is known as the Red Planet?","Mars is often called the Red Planet because of iron oxide on its surface.","Mars","space-001","science"
"What HTTP status code means Not Found?","Common HTTP status codes include 200 OK, 404 Not Found, and 500 Internal Server Error.","404","web-001","web"
"Summarize the refund policy in one sentence.","Customers can request a refund within 30 days of purchase if they provide the original receipt.","Customers can request a refund within 30 days with the original receipt.","policy-001","support"
"Return the country code for Japan.","Use ISO 3166-1 alpha-2 country codes. Japan is JP.","JP","locale-001","localization"
"What color do you get by mixing blue and yellow?","In subtractive color mixing, blue and yellow make green.","Green","art-001","art"
"Extract the invoice total.","Invoice INV-1042 lists subtotal $90, tax $9, and total $99.","$99","invoice-001","finance"
"Classify the sentiment as positive, neutral, or negative.","The customer wrote: The setup was quick and the support team was helpful.","positive","sentiment-001","classification"

Versiones del conjunto de datos

Las versiones del conjunto de datos son inmutables. Si necesitas cambiar filas más adelante, crea una nueva versión del conjunto de datos en lugar de editar una versión ya usada por una ejecución. Esto mantiene las ejecuciones de experimentos antiguas reproducibles.

Importar filas

Usa Import en la página de detalle del conjunto de datos para agregar filas a un conjunto de datos. Importar filas no edita la versión actual. Fetch Hive crea una nueva versión inmutable que contiene:
  • todas las filas de la última versión del conjunto de datos
  • cualquier fila nueva del CSV subido
Las filas duplicadas se omiten. La detección de duplicados compara los valores de entrada de la fila. La posición de la fila, la salida esperada y los metadatos no hacen que una misma fila de entrada sea única durante la importación. Después de la importación, Fetch Hive muestra:
  • la cantidad de filas importadas
  • la cantidad de duplicados omitidos
  • la nueva versión más reciente del conjunto de datos
Ejemplo: Si v3 tiene 100 filas e importas un CSV con 20 filas donde 5 son duplicados, Fetch Hive crea v4 con 115 filas. Las ejecuciones creadas antes de la importación siguen apuntando a su versión original del conjunto de datos. Las nuevas ejecuciones pueden usar la versión más reciente. Consulta también: Construir un experimento y Revisar resultados