Pular para conteúdo

Datalchemy

Datalchemy

Simplificando a Geração de Dados Sintéticos Orientados por Semântica


Introdução

Datalchemy é uma biblioteca para a geração de dados sintéticos com base na estrutura do banco de dados do usuário. É ideal para desenvolvedores, cientistas de dados e equipes de QA que precisam criar dados consistentes e seguros para uso em testes ou protótipos.


Principais Funcionalidades

  • Integração com Múltiplos Bancos de Dados: Gerenciamento de conexões com bancos SQL como MySQL, PostgreSQL, SQLite, entre outros.

  • Geração de Modelos Automática: Utiliza o sqlacodegen para traduzir a estrutura do banco em modelos Python para uso com SQLAlchemy.

  • Assistente Semântico com LLMs: Geração de dados sintéticos através de prompts em linguagem natural, garantindo consistência com as relações e constraints do banco.

  • Configuração e Uso Simplificados: Interface intuitiva para configurar conexões e gerar dados.

  • Dados Seguros e Anonimizados: Geração de dados que seguem as melhores práticas de segurança e anonimização, atendendo a normas como LGPD e GDPR.


Casos de Uso

  • Testes Automatizados: Gere cenários realistas com dados consistentes para validar aplicações sem acessar dados reais.
  • Desenvolvimento de Prototipos: Popule rapidamente bancos de dados de desenvolvimento ou sandbox.
  • Treinamento de Modelos de IA: Crie dados sintéticos com características específicas para treinar modelos.
  • Análise de Dados: Simule cenários completos sem interferir no ambiente de produção.

Como Começar

Instalação

pip install datalchemy

Configuração

Defina as configurações de conexão com seus bancos de dados:

from datalchemy import DatabaseConnectionManager

configs = [
    {
        'name': 'main_db',
        'dialect': 'mysql+pymysql',
        'username': 'seu_usuario',
        'password': 'sua_senha',
        'host': 'localhost',
        'port': 3306,
        'database': 'meu_banco',
    }
]

manager = DatabaseConnectionManager(configs)

Geração de Dados

Conecte-se a um LLM para gerar dados sintéticos com base em prompts:

from datalchemy import Generators

generator = Generators(manager, OPENAI_API_KEY="sua_chave_aqui")
prompt = "Gere 10 registros para a tabela clientes, respeitando constraints."
response = generator.generate_data("main_db", prompt)
print(response)

Geração de Modelos

Gere os modelos SQLAlchemy do banco de dados:

models_code = generator.generate_models("main_db", save_to_file=True)
print(models_code)

Roadmap

  • Geração em Larga Escala: Suporte para grandes volumes de dados, com otimização do uso de tokens e recursos.
  • Validação Avançada: Regras configuráveis para validar os dados antes da inserção no banco.
  • Suporte Expandido: Integração com bancos de dados NoSQL.

Dicas para Maximizar o Uso

  • Utilize prompts claros e objetivos para obter dados mais relevantes.
  • Combine os dados gerados com ferramentas de visualização para melhor compreensão dos cenários simulados.
  • Explore a geração de modelos para documentar seu banco de dados e facilitar futuras integrações.