Um agente inteligente que converte perguntas em linguagem natural para consultas SQL e as executa em um banco de dados PostgreSQL.
- Conversão de linguagem natural para SQL usando GPT-4o
- Validação de segurança para consultas SQL
- Execução de consultas em banco de dados PostgreSQL
- Explicação dos resultados em linguagem natural
- Interface gráfica com Streamlit
- Visualização de dados com gráficos
- Sistema de logging para monitoramento
- Testes unitários
- LangChain
- LangGraph
- OpenAI API
- Streamlit
- Psycopg2
- Pandas
- Python-dotenv
- Logging
sql_agent/
│
├── app.py # Ponto de entrada principal
├── requirements.txt # Dependências do projeto
├── .env.example # Exemplo de variáveis de ambiente
│
├── config/
│ ├── __init__.py
│ └── configuracoes.py # Configurações do aplicativo
│
├── database/
│ ├── __init__.py
│ ├── conexao.py # Funções de conexão com o banco
│ └── esquema.py # Definição do esquema do banco
│
├── agent/
│ ├── __init__.py
│ ├── estado.py # Definição do estado do agente
│ ├── nos.py # Nós do grafo (gerar_sql, validar_sql, etc.)
│ └── fluxo_trabalho.py # Definição do fluxo de trabalho
│
├── ui/
│ ├── __init__.py
│ └── interface.py # Interface do usuário com Streamlit
│
├── utils/
│ ├── __init__.py
│ └── config_log.py # Configuração de logging
│
└── tests/
├── __init__.py
├── teste_database.py
├── teste_nos.py
└── teste_fluxo.py
Para usar este código:
- Crie a estrutura de pastas conforme descrito acima
- Copie cada arquivo para sua respectiva pasta
- Instale as dependências com
pip install -r requirements.txt
- Configure as variáveis de ambiente no arquivo
.env
- Execute o aplicativo com
python app.py