Guías

Datasets y golden sets

Construye y mantén los datasets que alimentan tus evaluaciones — importación CSV, columnas variables y referencias.

Un dataset (o golden set) es la biblioteca de casos de prueba: las variables de entrada y los valores esperados. Es un activo curado con vida propia — se le agregan casos, se corrigen los esperados, evoluciona — y un mismo golden set puede alimentar varios evals.

En Verica el dataset es además la mesa de trabajo: la página del dataset no es solo datos, es donde iteras el borrador completo (datos + prompt + criterios) con feedback inmediato. El eval es la formalización congelada y comparable de ese borrador.

Crear un dataset

Desde Datasets → Nuevo dataset se abre un diálogo que pide dos cosas:

  • Nombre (obligatorio — hasta que lo escribas, las dos opciones de origen quedan deshabilitadas).
  • El origen de los datos:
    • Importar un CSV o JSONL — la primera fila del CSV son las columnas; el JSONL lleva un objeto por línea.
    • Empezar de cero — planilla vacía con una columna de datos y la columna output.

Al elegir el origen, el dataset se crea al instante y aterrizas en la planilla. Cerrar el diálogo sin elegir cancela la creación.

La planilla

El detalle del dataset es la planilla: no hay modo vista y modo edición. El nombre y la descripción se editan en el lugar, sin íconos de "editar".

  • Autoguardado: unos 800 ms después del último cambio, con indicador de estado. No hay botón de guardar.
  • Fila fantasma: siempre hay una fila en blanco al final, sin índice. Al hacer clic se materializa y aparece otra debajo. No hay botón de "agregar caso".
  • Pegar: puedes pegar un bloque TSV, CSV o incluso una tabla Markdown empezando en cualquier celda. Sobreescribe las celdas en el lugar (las filas existentes conservan su identidad) y agranda la planilla con filas y columnas nuevas si hace falta; las columnas calculadas se saltean.
  • Agregar columna: el + en la cabecera. El menú de cada columna (Acciones de la columna) permite renombrarla, eliminarla y cambiar su Tipo Columna.
  • Columnas: el botón muestra u oculta columnas sin borrarlas.
  • Inspección de caso: un panel lateral que abre un caso completo — output, columnas, veredictos de los criterios, razonamiento, calificación manual y procedencia. / cambia de caso, Esc cierra, g/b califica.

La columna output

output es una columna fija y reservada: no se importa, no se edita y no se renombra. Es el lugar donde cada ejecución deposita la salida del modelo.

El nombre está reservado: si importas un CSV cuya cabecera se llame literalmente output, esa columna pasa a llamarse output_2.

Tipos de columna

TipoQué es
EstándarDatos planos: escritos a mano, importados o generados con IA.
CombinadaSu valor se deriva de una plantilla que interpola otras columnas de la misma fila. Nunca se escribe ni se almacena; se muestra como solo lectura.
Recuperada (RAG)Su valor se obtiene llamando a un endpoint HTTPS externo — el caso típico es traer los fragmentos recuperados de tu índice vectorial.

Una columna recuperada se configura con el endpoint, el Método (GET/POST), los parámetros o el cuerpo de la solicitud, los headers, la Autenticación (sin autenticación, Bearer, clave de API o básica) y el mapeo de la respuesta: Ruta de los ítems, Campo de texto y, opcionalmente, campo de puntaje y campo de origen. El secreto de autenticación se referencia por id y solo se descifra en el worker.

Tiene dos modos: precalculada una sola vez (Precalcular todo, y el valor queda congelado en la fila) o Actualizar en cada ejecución — la recuperación se vuelve a ejecutar en cada ejecución y la columna lleva la insignia Dinámico.

Columnas reservadas del sistema

Además de output, hay columnas que el producto administra por vos. Se persisten, se exportan y se vuelven a importar sin esfuerzo, pero quedan fuera de las variables {{ }} del prompt y del editor de celdas:

ColumnaPara qué
output_rating + output_feedbackLa calificación manual (good / bad) y su comentario. Se agregan y se borran juntas.
failure_modeEl modo de fallo que escribe Analizar fallos. Solo lectura, con un selector por celda.
human:<id> + human_note:<id>El veredicto humano a ciegas para un criterio juez, que usa la calibración.

Importar datos

CSV

La primera fila son las cabeceras y todas las columnas del archivo entran tal cual. Las cabeceras se sanitizan a nombres de variable: se pasan a minúsculas, se les quitan los acentos, y cualquier cosa que no sea letra, número o _ se reemplaza por _. Un nombre que quede vacío se convierte en columna_1, columna_2, etc.

Si el nombre sanitizado choca con otro ya tomado (o con output), se le agrega _2.

Las filas completamente vacías se descartan y cada celda se recorta de espacios sobrantes.

JSONL

Un objeto JSON por línea. Se aceptan tanto objetos planos como el formato de OpenAI Evals ({"item": {…}}, que se desenvuelve solo). Los valores anidados se conservan como texto JSON.

Si importas la exportación JSONL de una ejecución de OpenAI Evals, Verica además arma el resto de la mesa de trabajo: el prompt del playground y un criterio juez por cada grader que logre reconstruir. Es un intento de mejor esfuerzo — lo que no valide se saltea sin bloquear la importación de los datos, y nunca crea un eval.

El prompt del dataset

El botón Prompt abre el panel del playground: el prompt propio del dataset (Prompt de Sistema más la cadena de mensajes de usuario, con {{ columna }}), la Credencial, el Modelo y sus parámetros. Importar prompt copia al panel el prompt de otro dataset.

  • Output corre el prompt sobre cada caso del borrador y llena la columna output en vivo. Reemplaza los outputs actuales y consume crédito de tu API key. No congela nada: es parte del proceso de drafteo.
  • El botón de play en una celda de output regenera solo ese caso, guardando y usando el prompt actual (no el de la última generación completa).
  • Evaluar re-evalúa los outputs existentes con los criterios actuales, sin volver a muestrear el modelo. El menú desplegable permite evaluar un solo criterio.
  • El botón de play en una celda de criterio reevalúa solo esa celda — útil cuando un juez dio un veredicto errático.

Criterios como columnas

En la mesa de trabajo, el criterio es la columna. El + fantasma después de output crea uno; hacer clic en la cabecera lo edita o lo borra.

Las celdas muestran una insignia PASS/FAIL, con el puntaje o la etiqueta al lado, el razonamiento al pasar el mouse y un ! si el grader falló. La cabecera muestra el porcentaje de PASS.

Cada criterio se marca según su costo, no según cuándo corre:

  • Criterio local: gratis, no llama al proveedor.
  • 💲 Criterio con proveedor: cuesta tokens (jueces y embeddings).

Ambos corren en el mismo momento: con Output o con Evaluar. No hay evaluación en vivo — todas las celdas leen lo que persistió la última ejecución. Generar o evaluar blanquea las columnas, y un criterio recién editado queda en hasta que lo vuelvas a evaluar.

La configuración completa de cada tipo está en Criterios y graders.

El valor esperado

No hay roles de columna: para la planilla, todas las columnas son datos. La comparación contra el "valor esperado" se define por criterio, en su campo Valor esperado, eligiendo qué columna hace de referencia. Por defecto se propone la última columna del golden set.

Borrador y snapshots

El borrador del dataset nunca se congela. Cuando un eval corre, Verica crea una copia congelada del golden set y la ejecución queda pinneada a ella; el original sigue editable.

  • Cada ejecución pinnea además la versión del prompt y una copia congelada de la configuración de cada criterio. Por eso reproduce exactamente los datos, el prompt y las reglas de calificación que vio.
  • Editar después de generar outputs no los borra: el guardado es un upsert por identidad de caso. Borrar un caso descarta su output; agregar uno crea un caso nuevo sin output.
  • Si el borrador no cambió desde el último snapshot congelado, volver a correr reutiliza ese snapshot en lugar de copiar los datos de nuevo.
  • Las ejecuciones nuevas usan la última versión del golden set; las viejas siguen pinneadas a la suya.

Generar casos con IA

Función del plan Pro. Corre sobre la credencial BYOK de tu workspace: no hay una clave de plataforma detrás.

Generar casos produce casos diversos a partir de tu prompt. Necesitas tener el prompt escrito y al menos una columna.

Elegir el enfoque

El diálogo pide credencial, modelo y un Enfoque (opcional): la lente que orienta la generación — "solo vuelos dentro de Asia", "clientes enojados del plan Enterprise".

El enfoque queda guardado en el dataset y se precarga la próxima vez; vaciarlo vuelve a generar sin enfoque. Es el enfoque de la próxima generación, no la identidad del dataset: variarlo entre lotes para construir un set compuesto por rebanadas es un flujo de trabajo previsto.

Revisar las dimensiones

La IA propone dimensiones de variación; cada dimensión se vuelve una columna y sus valores se combinan entre sí. Vienen en dos grupos:

  • Dimensiones existentes — detectadas de tus columnas actuales. El nombre y los valores están bloqueados, pero puedes agregar valores nuevos. El selector Usar como decide su rol: Dimensión (genera combinaciones), Contexto (la IA la completa en cada caso pero no genera combinaciones) o No incluir.
  • Dimensiones nuevas — totalmente personalizables: renombrar, agregar y quitar valores.

La propuesta queda cacheada en el navegador, así que recargar la página no vuelve a gastar tokens.

Generar

En el panel de Configuración eliges la Cantidad de casos (máximo 150) y si quieres reemplazar los casos existentes o agregarlos al final. El panel muestra en vivo las Combinaciones posibles: los casos se reparten entre ellas sin repetir ninguna mientras queden sin usar.

La generación se parte en lotes de hasta 40 casos, balanceados entre sí. Cada lote se guarda al completarse, así que cerrar la ventana o un fallo a mitad de camino deja lotes completos y válidos, nunca una llamada partida. Detener después de este lote conserva lo que ya llegó.

Por debajo, la generación arrastra el contexto que hace falta para que los casos nuevos encajen con los viejos: un resumen de los últimos casos (para que los formatos de id, fecha y código continúen en lugar de reinventarse), un mapa de qué combinaciones están menos cubiertas, y un resumen de los escenarios ya generados en esta sesión para no repetirlos. La precedencia declarada es enfoque > casos existentes > idioma.

Procedencia

Cada caso generado queda estampado automáticamente con el enfoque usado, la fecha, y el nombre y email de quien lo generó — sin un solo clic extra. El estampado registra a la persona tal como estaba en ese momento, así que el registro sobrevive intacto aunque después se borre la cuenta.

Lo ves en la inspección de caso (Caso generado con IA, Enfoque: …, y Editada después de generar si alguien tocó el caso), en el historial de enfoques junto al botón de generar, y en la lista de datasets. También viaja en la exportación.

Desde el detalle de un lote puedes borrar el lote completo: se eliminan sus casos junto con sus outputs y evaluaciones. Los snapshots congelados de ejecuciones anteriores no se tocan.

Analizar fallos

Función del plan Pro. También corre sobre tu credencial BYOK.

Analizar fallos construye una taxonomía de modos de fallo a partir de los casos que vos marcaste como malos (output_rating = bad, con output_feedback como la señal más fuerte). Necesitas al menos cuatro casos marcados como malos.

El flujo tiene un humano en cada paso:

  1. Detectar modos de fallo con IA — la IA propone entre 2 y 8 modos, cada uno con nombre, descripción y un criterio observable: una regla medible sobre evidencia visible ("la salida incluye…", "el JSON es inválido cuando…").
  2. Curar la taxonomía — renombrar, editar, combinar o eliminar modos, y agregar los que falten. La taxonomía es tuya.
  3. Preasignar y revisar — la IA asigna cada caso a un modo y vos revisas la distribución: arrastra casos entre modos, reordena los modos y usa el grupo Sin modo para lo que no encaje. Recién entonces Confirmar distribución.

El resultado se escribe en la columna reservada Modo de fallo y aparece en el panel de modos de fallo de la mesa de trabajo, con un grupo Sin clasificar para los fallos activos que todavía no tienen modo.

Si el dataset ya tiene taxonomía, tienes dos modos: Clasificar fallos nuevos (preserva las etiquetas existentes y solo asigna los casos sin modo) o Revisar todos los fallos (reconstruye la distribución completa, con confirmación antes de sobrescribir).

Exportar y duplicar

Exportar dataset ofrece dos formatos:

  • CSV — datos, output y el resultado de cada criterio.
  • JSONL — formato OpenAI Evals, con output y evaluaciones por línea.

Duplicar clona el dataset entero: golden set, prompt del playground y criterios de la mesa de trabajo. La copia es un borrador nuevo — no viaja nada congelado.

Promover a eval

Promover convierte la mesa de trabajo en un eval listo para ejecutar y comparar. Solo pide un nombre.

Promover copia, no mueve: los criterios y el prompt del playground se copian al eval (como versión 1), el golden set queda compartido y el dataset conserva su mesa de trabajo intacta. Puedes ajustar y promover de nuevo para obtener dos evals comparables.

Para promover necesitas al menos un caso con datos y un criterio.

Límites

En el plan Free: hasta 100 casos por dataset y 3 datasets. Los planes pagos no tienen tope. El detalle completo está en Planes y límites.

Siguientes pasos

En esta página