Apresentando o iris-synthetic-data-gen
Apresentando o iris-synthetic-data-gen
Hoje publiquei um novo pacote no Open Exchange para geração de dados sintéticos diretamente no IRIS.
Pode ser um processo frustrante encontrar datasets decentes quando você está tentando montar um aplicativo de demonstração. Talvez o dataset não seja tão importante, mas você ainda quer que ele pareça minimamente realista e com várias tabelas relacionadas que sejam utilizáveis diretamente no IRIS, com os elegantes joins implícitos usando ->. Ou talvez você só queira tabelas relacionadas e facilmente instaláveis via IPM para testar o desempenho de consultas; esse tipo de geração de dados seria perfeito.
Optei por criar os datasets usando Embedded Python, e eles são configuráveis por arquivos de configuração personalizados. Os datasets são gerados diretamente com um único método de classe no IRIS e podem ser escalados com um multiplicador para criar conjuntos de dados tão pequenos ou grandes quanto você quiser, sem precisar ajustar configurações manualmente.
No momento, tenho quatro datasets:
- Serviços financeiros (ex.: cartões bancários, contas, transações)
- Varejo (lojas, produtos, usuários, inventário)
- Cadeia de suprimentos (produtos, pedidos de venda, movimentação de estoque)
- Gestão de parque temático (parques, zonas, atrações, incidentes)
Não sou especialista em nenhum desses domínios, então duvido que sejam super precisos, e a geração de dados usa bibliotecas Python como faker e geração ponderada estatisticamente com numpy, então tudo acaba sendo um pouco sintético.
Também vou ser honesto: como um projeto paralelo feito “nas horas vagas”, ao qual não pude dedicar muito tempo, ele só foi possível graças à IA. Usei IA extensivamente no design dos datasets e na geração do código para criá-los. Eu supervisionei, testei casos de uso pessoais e estive bastante envolvido no design do projeto, mas o código foi todo gerado por IA e não revisei cuidadosamente o processo de geração de dados.
Para mim, este projeto é um ótimo exemplo de “vibe coding” completo, ou seja, deixar o agente cuidar de todo o processo de desenvolvimento. Nesse caso, as consequências de bugs são baixas, já que esses datasets não são destinados a produção. O código pode ser avaliado principalmente pelos resultados gerados, sabendo que detalhes ou casos extremos não são tão relevantes.
Também funciona como um bom template para criar novos datasets — o primeiro deles levou algumas horas de planejamento cuidadoso, discussão com agentes e iteração sobre a melhor forma de criar e integrar o dataset no IRIS. Já o último dataset, bastou pedir ao agente: “Crie um novo dataset com tabelas de varejo configurado e gerado como os outros aqui”, e ele fez um trabalho bastante bom sem muita supervisão.
Espero que isso seja útil para alguns, e fiquem à vontade para dar feedback, contribuir ou usar como base para criar seus próprios datasets sintéticos!