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
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 vivo — Import loaded instances convierte las instancias de la tarea en ejemplos.
- Solo desde trazas ingeridas — Import ingested traces (webhook / LangSmith / Langfuse).
- Con anotaciones humanas como referencias — agrega la etiqueta humana mayoritaria por esquema en los
reference_outputsde 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>}
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étodo | Ruta | Propósito |
|---|---|---|
| POST | /datasets/api/datasets | Crear un dataset |
| POST | /datasets/api/datasets/<name>/examples | Añadir ejemplos (nueva versión) |
| POST | /datasets/api/datasets/<name>/tag | Etiquetar una versión |
| GET | /datasets/api/datasets/<name>/export?format=sft|dpo | Exportar JSONL |
| POST | /datasets/api/experiments/run | Ejecutar un experimento |
| GET | /datasets/api/experiments | Listar 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
- Referencia completa en Read the Docs — API y detalles de almacenamiento completos, ajustada a cada versión
- Evaluadores programáticos
- Reglas de automatización — cura automáticamente las trazas entrantes en datasets
- Curación semántica — encuentra trazas para añadir por similitud