Skip to content

Datasets y experimentos

Construye datasets de evaluación versionados y ejecuta experimentos que puntúan las salidas de los agentes a lo largo del tiempo. La columna vertebral de evaluación de Potato: almacenamiento en archivos o SQLite, versiones etiquetadas, splits, exportación a SFT/DPO y una comparación de experimentos lado a lado con deltas de regresión.

Los datasets y experimentos son la columna vertebral de evaluación de Potato: colecciones versionadas de ejemplos de evaluación y ejecuciones de experimentos que los puntúan con evaluadores programáticos. Juntos convierten a Potato de "anotar una vez" en "evaluar de forma continua": cura un conjunto de prueba, ejecuta evaluadores y sigue las puntuaciones entre versiones de prompt o de modelo.

Activación

yaml
datasets:
  enabled: true
  storage: file   # "file" (default, git-diffable JSONL) | "sqlite"

Datasets

Un dataset es una colección con nombre de ejemplos (id, inputs, reference_outputs opcional, metadata, split). Cada adición, actualización o borrado crea una nueva versión inmutable (v0001, v0002, …); las versiones pueden etiquetarse (p. ej. prod), y las lecturas fijan una versión con as_of (latest, una etiqueta o un id de versión).

Puedes curar ejemplos de tres maneras:

  • Desde la tarea en vivoImport loaded instances convierte las instancias de la tarea en ejemplos.
  • Solo desde trazas ingeridasImport ingested traces (webhook / LangSmith / Langfuse).
  • Con anotaciones humanas como referencias — agrega la etiqueta humana mayoritaria por esquema en los reference_outputs de cada ejemplo.

Experimentos

Un experimento ejecuta evaluadores contra una versión de un dataset y registra los resultados por ejemplo junto con las puntuaciones agregadas. Elige un dataset y evaluadores en la página de resumen y pulsa Run, o usa POST /datasets/api/experiments/run. Selecciona dos o más experimentos y pulsa Compare para ver las puntuaciones agregadas lado a lado, con deltas respecto a la línea base para que las regresiones salten a la vista.

Los evaluadores de tipo juez LLM llaman a tu endpoint de IA configurado y pueden tardar bastante en datasets grandes.

Exportar a datos de fine-tuning

Cualquier versión de un dataset se exporta a JSONL para fine-tuning:

  • SFT{"prompt": <inputs>, "completion": <reference_outputs>}
  • DPO{"prompt": <inputs>, "chosen": <reference_outputs>, "rejected": <metadata.rejected | outputs>}
bash
curl -OJ "http://localhost:8000/datasets/api/datasets/agent-eval-v1/export?format=sft"

API

Todos los endpoints requieren autenticación de administrador (cabecera X-API-Key o sesión de administrador).

MétodoRutaPropósito
POST/datasets/api/datasetsCrear un dataset
POST/datasets/api/datasets/<name>/examplesAñadir ejemplos (nueva versión)
POST/datasets/api/datasets/<name>/tagEtiquetar una versión
GET/datasets/api/datasets/<name>/export?format=sft|dpoExportar JSONL
POST/datasets/api/experiments/runEjecutar un experimento
GET/datasets/api/experimentsListar experimentos

La API de administración de evaluación (/admin/eval/...) inspecciona y controla el proceso de anotación de estas tareas: estado de datasets y experimentos, progreso de anotación por instancia, recuentos de trazas ingeridas y pausa/reanudación de asignaciones.

Relacionado