Adaption Labs liberó esta semana Invent a Dataset, una función que genera un conjunto de datos estructurado y listo para entrenar a partir de la descripción del comportamiento que se quiere enseñar a un modelo. El punto de partida no es un corpus semilla, ni un esquema predefinido, ni una guía de etiquetado: es una descripción de la tarea.

¿Se puede usar en producción hoy?

Sí, con una salvedad. La función está disponible en la aplicación de Adaption Labs y a través del SDK de Python y la API REST. Las filas generadas se descargan en JSONL, JSON, CSV o Parquet, de modo que el artefacto es un archivo portable, propio, que se puede usar para entrenar en cualquier parte. La generación misma corre en la plataforma alojada de Adaption y consume créditos. No hay documentada una vía de generación autoalojada.

El problema que apunta a resolver

La mayoría de los flujos de trabajo con datos parten de material que ya existe. Los equipos pasan semanas etiquetando, filtrando y remodelando ese material para aproximarlo a la tarea objetivo. El argumento de Adaption es que eso pone un techo a la calidad del modelo: el techo es qué tan bien los datos disponibles calzan con el comportamiento buscado.

En tareas propietarias y especializadas, la señal relevante suele estar en sistemas internos, texto no estructurado o registros de flujos de trabajo. Rara vez se convierte de forma limpia en un conjunto de entrenamiento acotado.

El equipo de investigación también marca una diferencia con las herramientas de datos sintéticos que ya existen. Esas herramientas automatizan la generación después de que una persona definió el esquema, la distribución de la tarea y la estrategia de generación. Invent a Dataset parte un nivel antes, en el comportamiento mismo.

¿Cómo funciona la API?

La mecánica está documentada y es concreta. Una sola llamada a datasets.invent crea el conjunto e inicia la generación, y retorna de inmediato con estado running. Después se consulta datasets.get hasta que el estado sea succeeded o failed, y ahí se descargan las filas.

Los códigos de dominio son el control principal. Los códigos vigentes se piden con datasets.invent_domains en vez de dejarlos fijos en el código. Luego se pasan valores como medical, que se pueden acotar con subdominios calificados como medical.symptoms_diagnosis. Se exige al menos un dominio o subdominio. Varios dominios pueden alimentar la misma corrida, y un dominio pasado sin subdominios toma todo su alcance.

Hay dos formatos de salida:

  • instruction_dataset, el predeterminado, produce pares de instrucción y respuesta para ajuste fino supervisado.
  • preference_pairs produce respuestas elegidas y rechazadas para entrenamiento por preferencias, como DPO.

Tres parámetros importan para uso productivo:

  • estimate=True cotiza la solicitud exacta y devuelve créditos estimados contra créditos disponibles, sin crear ni cobrar nada.
  • prompt acepta hasta 10.000 caracteres para dirigir sobre qué tratan realmente las filas.
  • idempotency_key acepta hasta 255 caracteres y hace seguros los reintentos de red, porque devuelve el conjunto original en vez de lanzar una segunda corrida.

La cantidad de filas por lanzamiento queda sujeta a un límite que fija el plan contratado.

Expansión por idioma y localización

El parámetro language_expansion corre en dos modos. El modo translate produce una variante de cada fila por idioma de destino. El modo localize produce una variante por cada par de país e idioma, con expresiones propias de la localidad en vez de traducción directa.

Un sample_rate entre 0,01 y 1 controla qué fracción de las filas inventadas se expande, y los créditos se cobran sobre las filas de salida expandidas, no sobre las originales. Los códigos no soportados devuelven un error 400 con una muestra de valores válidos.

Este es el punto que más debería interesar a un equipo hispanohablante: la diferencia entre translate y localize es exactamente la brecha entre un modelo que responde en español neutro y uno que responde con el vocabulario de un país específico.

El ciclo sin datos previos

Invent a Dataset es la primera mitad de un ciclo. El identificador del conjunto se pasa directo a autoscientist.create, que co-optimiza los datos y la receta de entrenamiento contra el objetivo definido. AutoScientist se lanzó en mayo de 2026 y es la contraparte, del lado del entrenamiento, del pilar de datos.

Adaption informa que AutoScientist supera al entrenamiento configurado por su propio personal de investigación por un promedio de 35%. Las tasas de victoria pasaron de 48% a 64%. Esas cifras vienen de evaluaciones internas especializadas por dominio en ocho verticales, con conjuntos de entre 5.000 y 100.000 filas, sobre arquitecturas que ofrece para ajuste fino Together AI.

Para tener en cuenta

  • Invent a Dataset genera filas de entrenamiento a partir de la descripción de una tarea, sin corpus semilla, esquema ni etiquetas.
  • Una llamada a datasets.invent define dominios, cantidad de filas, formato y expansión de idioma, y la generación es asincrónica.
  • La salida son pares de instrucción o pares de preferencia, descargables en JSONL, JSON, CSV o Parquet.
  • El identificador del conjunto entra directo en AutoScientist, cerrando el ciclo entre la intención y el modelo entrenado.