Um chatbot inteligente que responde perguntas sobre estoque usando IA e linguagem natural
O Stock GPT é uma aplicação web inteligente que permite aos usuários fazer consultas sobre estoque de produtos utilizando linguagem natural. Desenvolvido com Streamlit e LangChain, o sistema utiliza modelos de IA da OpenAI para interpretar perguntas e fornecer respostas precisas através de consultas SQL automatizadas.
- 🗣️ Conversação Natural: Faça perguntas como se estivesse falando com um especialista
- 🧠 IA Avançada: Suporte para GPT-3.5, GPT-4 e GPT-4-turbo
- 📊 Análises Inteligentes: Relatórios automáticos sobre estoque e produtos
- 🇧🇷 Interface em Português: Totalmente localizada para o Brasil
- ⚡ Respostas Rápidas: Consultas otimizadas para máxima performance
- Interface conversacional intuitiva
- Histórico de conversas durante a sessão
- Respostas contextualmente relevantes
- Seleção de Modelo: Escolha entre GPT-3.5, GPT-4 e GPT-4-turbo
- Controle de Temperature: Ajuste a criatividade das respostas (0.0 - 2.0)
- Configuração em Tempo Real: Mudanças aplicadas instantaneamente
- 📦 Status e quantidade de produtos em estoque
- 💰 Informações de preços e valores
- 🏷️ Consultas por categoria, marca ou fornecedor
- 📊 Relatórios de entrada e saída de produtos
- 🔍 Busca por produtos específicos
⚠️ Identificação de produtos com estoque baixo
| Tecnologia | Finalidade | Versão |
|---|---|---|
| Streamlit | Interface web interativa | 1.46.0 |
| LangChain | Framework para LLM e agentes | latest |
| OpenAI | Modelos de linguagem GPT | API v1 |
| SQLite | Banco de dados local | built-in |
| Python Decouple | Gerenciamento de variáveis | 3.8 |
Usuário → Streamlit → LangChain Agent → OpenAI GPT → SQL Toolkit → SQLite → Resposta
- Interface: Streamlit para chat responsivo
- Processamento: LangChain com padrão ReAct
- IA: Modelos GPT para compreensão e geração
- Dados: SQLite com toolkit automatizado
stock-agent/
├── 📄 app.py # Interface principal do Streamlit
├── 🤖 agent.py # Lógica do agente de IA e conexão com banco
├── 🗄️ estoque.db # Banco SQLite com dados de estoque (12 produtos)
├── 📋 requirements.txt # Dependências do projeto
├── 📚 README.md # Documentação completa
└── 🔧 .env # Variáveis de ambiente (criar)
O banco estoque.db contém 18 tabelas com dados completos de estoque:
Tabelas Principais:
products_product: Catálogo com 12 produtoscategories_category: Categorias dos produtosbrands_brand: Marcas disponíveissuppliers_supplier: Fornecedores cadastradosinflows_inflow: Histórico de entradasoutflows_outflow: Histórico de saídas
Tabelas de Sistema:
- Autenticação Django (users, groups, permissions)
- Sistema de migrations e sessões
- Logs administrativos
- Python 3.8+ instalado
- Chave da API OpenAI (Obter aqui)
- Git para clonagem do repositório
git clone https://github.com/Kauanrodrigues01/stock-agent.git
cd stock-agent# Linux/macOS
python -m venv venv
source venv/bin/activate
# Windows
python -m venv venv
venv\Scripts\activatepip install -r requirements.txtCrie um arquivo .env na raiz do projeto:
OPENAI_API_KEY=sua_chave_da_api_openai_aquistreamlit run app.py🎉 Pronto! A aplicação estará disponível em http://localhost:8501
- Acesse
http://localhost:8501no navegador - Configure o modelo de IA na barra lateral
- Ajuste a temperatura para controlar criatividade
- Digite sua pergunta no chat
- Receba respostas inteligentes baseadas nos dados
🔍 "Quantos produtos temos em estoque?"
💰 "Qual o produto mais caro?"
📦 "Mostrar produtos com estoque baixo"
🏷️ "Listar produtos por categoria"
💵 "Qual o valor total do estoque?"
🔄 "Produtos que precisam ser repostos"
📊 "Relatório de produtos mais vendidos"
🏪 "Produtos do fornecedor específico"
🎮 "Informações sobre placas de vídeo"
💾 "Preço das memórias RAM disponíveis"
⚡ "Processadores Intel em estoque"
🖥️ "Produtos da categoria hardware"
| Modelo | Velocidade | Qualidade | Custo | Recomendado para |
|---|---|---|---|---|
| GPT-3.5-turbo | ⚡⚡⚡ | ⭐⭐⭐ | 💰 | Consultas rápidas e diretas |
| GPT-4 | ⚡⚡ | ⭐⭐⭐⭐⭐ | 💰💰💰 | Análises complexas |
| GPT-4-turbo | ⚡⚡⚡ | ⭐⭐⭐⭐⭐ | 💰💰 | Uso geral (recomendado) |
- 0.0 - 0.3: Respostas determinísticas e precisas
- 0.4 - 0.7: Equilibrio entre precisão e criatividade (padrão: 0.5)
- 0.8 - 1.0: Respostas mais criativas e variadas
- 1.1 - 2.0: Máxima criatividade (menos precisão)
👤 Usuário → 💬 Pergunta → 🤖 Agent ReAct → 🧠 LLM → 🔧 SQL Tools → 🗄️ SQLite → ✨ Resposta
- ReAct Agent: Padrão Reasoning + Acting para tomada de decisões
- SQL Database Toolkit: Converte linguagem natural em SQL
- OpenAI LLM: Processa e formata respostas amigáveis
- Streamlit Interface: Apresentação interativa e responsiva
O sistema utiliza um prompt especializado que:
- Instrui o agente a usar ferramentas SQL
- Garante respostas em português brasileiro
- Formata saídas de forma amigável
- Mantém contexto da conversa
Contribuições são muito bem-vindas! 🎉
- Fork o projeto
- Crie uma branch para sua feature
git checkout -b feature/MinhaNovaFeature
- Commit suas mudanças
git commit -m 'Adiciona MinhaNovaFeature' - Push para a branch
git push origin feature/MinhaNovaFeature
- Abra um Pull Request
Encontrou um problema? Crie uma issue incluindo:
- Descrição detalhada
- Passos para reproduzir
- Screenshots (se aplicável)
- Informações do ambiente
- 📱 Interface mobile responsiva
- 📊 Dashboard com gráficos e métricas
- 🔔 Sistema de alertas para estoque baixo
- 📄 Exportação de relatórios (PDF/Excel)
- 🔐 Autenticação de usuários
- 🌐 API REST para integração
- 📈 Análise preditiva de demanda
- v2.0: Interface completa com dashboard
- v3.0: IA preditiva e análises avançadas
- v4.0: Integração com sistemas ERP
Agradecimentos especiais para:
- OpenAI pelos modelos GPT excepcionais
- LangChain pelo framework poderoso e flexível
- Streamlit pela simplicidade na criação de interfaces
- Comunidade Python pelo ecossistema incrível
Kauan Rodrigues Lima
- GitHub: @Kauanrodrigues01
- LinkedIn: Kauan Rodrigues
🔗 Link do Projeto: https://github.com/Kauanrodrigues01/stock-agent
