# Crea un conjunto de datos de entrenamiento de IA a partir de tus documentos existentes

Recopila tickets de soporte o documentos aprobados y prepara un conjunto de datos JSONL revisable con referencias a las fuentes, comprobaciones de duplicados y divisiones de evaluación independientes.

Canonical page: https://beeuni.ai/blog/es/build-ai-training-dataset-jsonl

Tu historial de soporte puede servir para entrenar un modelo que clasifique solicitudes, pero la información está repartida entre tickets y respuestas. Beeuni puede recopilar las conversaciones que elijas, convertirlas en ejemplos etiquetados y comprobar si faltan campos o hay duplicados. Tú revisas las etiquetas dudosas y recibes un conjunto de datos JSONL, con un registro JSON por línea y enlaces a los tickets originales.

## Define el comportamiento antes que el formato del archivo

Supongamos que quieres que un modelo clasifique las solicitudes entrantes. Cada ejemplo necesita una solicitud y una categoría aprobada. Si quieres respuestas basadas en un manual, cada ejemplo necesita una pregunta, el texto de apoyo y una respuesta verificada. Convertir cada párrafo en una pregunta no demuestra que las respuestas sean correctas o útiles.

Conecta el servicio que contiene el material o dale al agente acceso al repositorio de documentación. Empieza con una colección identificada o un intervalo de fechas. Para la documentación pública, especifica el sitio y las secciones que se deben incluir. Antes de revisar los primeros ejemplos, pide al agente que enumere las fuentes recopiladas y las páginas que no pudo leer.

## Resuelve primero un pequeño problema de etiquetado

Imagina un equipo de soporte ficticio que prepara un clasificador de solicitudes. Quiere cuatro etiquetas: facturación, acceso a la cuenta, ayuda con el producto y requiere revisión. Mediante un conector de soporte autorizado, el agente lee tickets cerrados de un intervalo de fechas acordado. Recopila solo los campos necesarios para etiquetar y hacer seguimiento de las fuentes, y omite los datos de contacto y los archivos adjuntos irrelevantes. La cola a la que llegó cada ticket no necesariamente indica cuál es su etiqueta correcta: un agente de facturación podría haber respondido a una pregunta reenviada sobre el inicio de sesión.

Guarda en el ordenador una copia de las fuentes junto con las referencias de los tickets, la regla de selección y la hora de recopilación. Ejecuta la conversión con esa copia para que un ticket editado a mitad de la revisión no cambie los ejemplos sin que nadie lo note. El agente puede escribir y ejecutar los scripts de extracción y validación, y luego entregar juntos el conjunto de datos, los scripts y el informe de revisión.

Empieza con solicitudes que incluyan mensajes breves, conversaciones largas y más de un asunto. Decide qué contendrá la entrada cuando se use el modelo para predecir. Si el modelo solo verá el primer mensaje del cliente, no incluyas en la entrada de entrenamiento la resolución final. De lo contrario, aprenderá de información que tu aplicación no tendrá cuando llegue una nueva solicitud.

| Solicitud ficticia | Etiqueta propuesta | Criterio de etiquetado |
| --- | --- | --- |
| Me han cobrado dos veces este mes. | Facturación | Una disputa por un cargo |
| Nunca llega el correo para restablecer la contraseña. | Acceso a la cuenta | La solicitud trata sobre el inicio de sesión |
| No puedo iniciar sesión para cancelar antes de mi próxima renovación. | Requiere revisión | Decidir qué intención tiene prioridad |
| Esto sigue sin funcionar. | Requiere revisión | Contexto insuficiente para clasificar |

Escribe la regla para la tercera fila antes de pedirle al agente que etiquete el resto. Puedes clasificar según el impedimento inmediato o enviar a revisión cualquier solicitud con intenciones en conflicto. Ambas políticas pueden ser razonables. Si los anotadores las aplican de manera distinta, el modelo aprenderá de ejemplos incoherentes.

## Usa los desacuerdos para mejorar la guía de etiquetado

Pide a dos revisores que etiqueten de forma independiente el mismo lote pequeño. Conserva sus etiquetas originales y la decisión final. Cuando no estén de acuerdo, registra el motivo: falta de contexto, categorías que se solapan o un error de etiquetado. Un agente puede reunir estos casos en un archivo de revisión, pero la persona responsable del flujo de trabajo debe definir la política de enrutamiento.

Si una decisión cambia la guía de etiquetado, vuelve a revisar los ejemplos anteriores afectados por esa regla. Para el clasificador ficticio, elegir «impedimento inmediato» asigna la solicitud de cancelación a acceso a la cuenta. Los demás mensajes que combinan problemas para iniciar sesión con pagos deben tratarse de la misma manera. Corregir solo la fila en disputa deja intacta la incoherencia anterior.

Mantén los mensajes de origen separados de las variantes sintéticas. Reformular una solicitud diez veces puede ayudar a cubrir distintas expresiones, pero no aporta diez situaciones independientes. Si generas variantes, registra su ejemplo de origen y comprueba que conserven el significado. Un cambio pequeño, como pasar de «me han cobrado» a «me cobrarán», puede cambiar la etiqueta prevista.

## Conserva un registro de revisión antes de crear los registros de entrenamiento

Usa un esquema intermedio que conserve la fuente junto a cada ejemplo. Este podría ser un registro de revisión ficticio para un conjunto de datos de preguntas y respuestas. La pregunta y la respuesta de tu conjunto de datos deben proceder de material propio que hayas verificado.

```
{"id":"sample-001","source":"sample-handbook.txt","section":"Opening hours","question":"When does the desk open?","answer":"The desk opens at 9 a.m.","review_status":"pending","split":"unassigned"}
```

Este es un esquema de trabajo, no una carga útil para una API de entrenamiento. Después de la revisión, convierte los registros aprobados al formato que requiere tu herramienta de entrenamiento. Si esa herramienta solo acepta mensajes o pares de entrada y salida, conserva las referencias a las fuentes y las decisiones de revisión en un archivo complementario.

## Dale al agente comprobaciones que pueda ejecutar

- **Estructura:** analiza cada línea JSONL y exige los campos y tipos de valor esperados.
- **Fuentes:** comprueba que cada ejemplo apunte a una fuente y una sección existentes.
- **Duplicados:** compara el texto normalizado y revisa por separado los casi duplicados. Una redacción parecida también puede describir hechos distintos.
- **Privacidad:** busca datos personales y credenciales, y revisa los registros marcados antes de exportarlos.
- **Cobertura:** cuenta los ejemplos de cada categoría y enumera las categorías con poco o ningún material revisado.

Un script puede comprobar que existe una referencia a una fuente. No puede demostrar que la respuesta se desprende de esa fuente. Revisa las respuestas, incluidos los ejemplos con falta de contexto o pasajes contradictorios. Mantén las propuestas generadas separadas de los registros aprobados.

## No incluyas el mismo caso en entrenamiento y en pruebas

Decide qué quieres medir con la evaluación. Para comprobar el rendimiento con documentos no vistos, mantén todos los ejemplos de un mismo documento en la misma división. Si varios archivos describen el mismo caso, agrúpalos por caso. Una división aleatoria por filas puede hacer que una respuesta de evaluación casi idéntica aparezca en el entrenamiento.

Pide train.jsonl, validation.jsonl, un manifiesto de fuentes y un informe de validación. El informe debe incluir el número de registros, los registros rechazados, los grupos de duplicados y la regla de división. Cuando el conjunto de datos supere estas comprobaciones, puedes pedir a Beeuni [que ejecute un experimento de ajuste fino en tu ordenador de entrenamiento conectado](/blog/es/run-model-fine-tuning-with-beeuni).

Para el clasificador, una entrega utilizable incluye las definiciones de las etiquetas, los campos de entrada y la regla para solicitudes ambiguas junto con los archivos JSONL. Incluye el script de preparación y su configuración para que otro desarrollador pueda reproducir la conversión. Registra de qué lote de fuentes procede la exportación; un archivo llamado final.jsonl no le dice a quien lo revisa qué cambió desde la última exportación.

Si la fuente empieza en una hoja de cálculo, la [guía de limpieza de CSV](/blog/es/clean-messy-csv-without-losing-rows) cubre los identificadores y los valores ausentes. Para integrar la preparación de conjuntos de datos en tu propia interfaz, empieza con la [guía del SDK](/docs/es/sdk).
