Um chatbot inteligente para WhatsApp que utiliza IA generativa com RAG (Retrieval Augmented Generation) para fornecer respostas contextualizadas baseadas em documentos específicos.
Necessidade de automatizar o atendimento via WhatsApp com respostas precisas e contextualizadas baseadas em documentos específicos da organização.
- Integração com WhatsApp através da Evolution API
- Implementação do sistema RAG para contextualização de respostas
- Gerenciamento eficiente de mensagens com sistema de buffer/debounce
- Persistência de dados e histórico de conversas
FastAPI
Framework web assíncrono para Python, escolhido por sua alta performance e documentação automática. É ideal para APIs modernas que precisam lidar com requisições assíncronas de forma eficiente, como é o caso do processamento de mensagens do WhatsApp.
LangChain
Framework especializado para desenvolvimento de aplicações com IA. Facilita a integração com modelos de linguagem e possui suporte nativo para RAG, permitindo que o chatbot forneça respostas mais precisas baseadas nos documentos fornecidos.
Redis
Sistema de armazenamento em memória que garante alta performance no gerenciamento do histórico de conversas e implementa o sistema de buffer para evitar mensagens duplicadas. Sua velocidade é crucial para manter a fluidez das conversas.
PostgreSQL
Banco de dados relacional robusto utilizado para armazenamento persistente de dados. É empregado principalmente pela Evolution API para gerenciar sessões e informações permanentes do sistema.
Docker
Containerização da aplicação que garante um ambiente isolado e reproduzível. Com Docker Compose, orquestramos todos os serviços necessários (API, Redis, PostgreSQL, Evolution API) de forma integrada.
Evolution API
Responsável pela interface com WhatsApp, gerenciando sessões, mensagens, autenticação e toda a camada de segurança necessária para comunicação com a plataforma.
- Suporte para arquivos PDF e TXT
- Vetorização automática de conteúdo
- Armazenamento em Chroma DB
- Respostas contextualizadas utilizando RAG
- Manutenção de histórico de conversas
- Sistema de buffer para evitar mensagens duplicadas
- Sistema de debounce para otimizar processamento
- Cache com Redis para respostas rápidas
- Processamento assíncrono de requisições
- Docker e Docker Compose instalados
- Chave API OpenAI
- Ambiente Evolution API configurado
Crie um arquivo .env na raiz do projeto e siga o exemplo do arquivo .env.example:
- Clone o repositório
git clone https://github.com/seu-usuario/zapbot.git
cd zapbot-
Configure o arquivo
.envcom suas credenciais -
Inicie os containers
docker-compose up -d- Configure sua instância do WhatsApp através da Evolution API
- Adicione documentos via endpoint
/documents/upload - Envie mensagens pelo WhatsApp e receba respostas contextualizadas
- Monitore logs através do dashboard da Evolution API
Contribuições são muito bem-vindas! Para contribuir:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -m 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request

