Presentamos iris-synthetic-data-gen
Hoy he publicado un nuevo paquete en Open Exchange para la generación de datos sintéticos directamente en IRIS.
Encontrar conjuntos de datos decentes cuando quieres crear una aplicación de demostración puede resultar frustrante. Quizás el conjunto de datos no sea tan importante, pero aun así quieres que parezca algo realista y con varias tablas enlazadas que puedan usarse directamente dentro de IRIS con los joins implícitos mediante ->. O tal vez simplemente quieres tablas enlazadas que sean fáciles de instalar con IPM para hacer benchmarks de consultas; en ese caso, esta generación de conjuntos de datos sería perfecta.
He optado por crear los conjuntos de datos utilizando Embedded Python.Estos conjuntos de datos son configurables mediante archivos de configuración personalizados. Los conjuntos de datos se generan directamente con un único método de clase de IRIS, y pueden escalarse con un multiplicador para crear conjuntos de datos tan pequeños o grandes como quieras, sin tener que ajustar las configuraciones manualmente.
Por el momento tengo cuatro conjuntos de datos:
- Servicios financieros (p.ej., tarjetas bancarias, cuentas, transacciones)
- Retail (tiendas, productos, usuarios, inventario)
- Cadena de suministro (productos, pedidos de venta, movimientos de inventario)
- Gestión de parques temáticos (parques, zonas, atracciones, incidentes)
No soy experto en ninguno de estos ámbitos, así que dudo que sean muy precisos. Además, la generación de datos utiliza librerías de Python como faker y generación estadística ponderada con numpy, por lo que todo tiene un aspecto bastante sintético.
También seré sincero: al tratarse de un proyecto secundario al que no he podido dedicarle mucho tiempo, este trabajo solo ha sido posible gracias a la IA. He utilizado IA de forma intensiva para el diseño de los conjuntos de datos y la generación del código necesario para crearlos. Yo he supervisado, probado para casos de uso personales y he estado muy involucrado en el diseño del proyecto, pero el código está generado por IA y no he revisado en detalle el proceso de generación de los conjuntos de datos.
Para mí, este proyecto es un gran caso de uso del “vibe coding” completo, es decir, dejar que el agente se encargue de todo el proceso de desarrollo. En este caso, las consecuencias de los posibles errores son bajas, ya que estos conjuntos de datos no están diseñados para ningún uso en producción. El código puede evaluarse en gran medida por los resultados obtenidos, asumiendo que los detalles o casos extremos no son relevantes.
También es una buena plantilla para crear nuevos conjuntos de datos: el primero me llevó un par de horas de planificación cuidadosa, debate con los agentes e iteraciones sobre la mejor forma de crearlo e integrarlo en IRIS. Sin embargo, para el último conjunto de datos pude simplemente pedir al agente: “Crea un nuevo conjunto de datos con tablas de retail configurado y generado como los demás”, e hizo un trabajo bastante bueno sin apenas supervisión.
Espero que esto os resulte útil, y no dudéis en dar feedback, contribuir o usarlo como plantilla para crear vuestros propios conjuntos de datos sintéticos.