https://github.com/esscova/whatsapp-ai-chatbot
chatbot com whatsapp usando waha
https://github.com/esscova/whatsapp-ai-chatbot
chromadb flask-api langchain rag whatsapp-bot
Last synced: 7 months ago
JSON representation
chatbot com whatsapp usando waha
- Host: GitHub
- URL: https://github.com/esscova/whatsapp-ai-chatbot
- Owner: esscova
- Created: 2025-03-22T21:52:09.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-22T22:23:45.000Z (7 months ago)
- Last Synced: 2025-03-22T23:24:51.675Z (7 months ago)
- Topics: chromadb, flask-api, langchain, rag, whatsapp-bot
- Language: Python
- Homepage:
- Size: 260 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WhatsApp AI Chatbot
Um chatbot inteligente para WhatsApp desenvolvido com Python, que utiliza modelos de inteligência artificial para fornecer respostas automáticas e interações contextuais.
## Visão Geral

Este projeto cria um chatbot para WhatsApp com capacidades de IA avançadas, permitindo automatizar atendimentos, responder perguntas de usuários e executar diversas tarefas através do WhatsApp. O bot é construído com Python e integra-se ao [waha](https://waha.devlike.pro/), oferecendo uma solução para comunicação automatizada.
## Funcionalidades
- **Conversas Alimentadas por IA**: Utiliza modelo de linguagem para gerar respostas contextuais e inteligentes
- **Integração com WhatsApp**: Conexão perfeita com Waha
- **Sistema RAG (Retrieval-Augmented Generation)**: Capacidade de buscar e utilizar informações específicas para enriquecer as respostas
- **Processamento de Mensagens**: Capacidade de receber e responder a vários formatos de mensagens
- **Armazenamento de Dados Vetoriais**: Utiliza dados em formato Chroma para melhor processamento de informações
## Stack Tecnológica
- **Python**: Linguagem principal de desenvolvimento
- **Serviços de IA**: Integração com LLMs através do langchain
- **Chroma DB**: Para armazenamento de dados vetoriais
- **Docker**: Containerização para facilitar implantação
- **Sistema RAG**: Para melhorar a qualidade e relevância das respostas
## Estrutura do Projeto
```
whatsapp-ai-chatbot/
├── bot/ # Lógica principal do chatbot
├── chroma_data/ # Dados vetoriais para processamento de linguagem
├── rag/ # Sistema de Retrieval-Augmented Generation
├── services/ # Serviços auxiliares e integrações
├── .dockerignore # Arquivos ignorados pelo Docker
├── .env.example # Exemplo de variáveis de ambiente
├── .gitignore # Arquivos ignorados pelo Git
├── README.md # Documentação do projeto
├── app.py # Ponto de entrada da aplicação
├── compose.yml # Configuração do Docker Compose
├── dockerfile # Instruções para construção da imagem Docker
└── requirements.txt # Dependências do projeto
```
## Instalação
### Pré-requisitos
- Python 3.8 ou superior
- Docker e Docker Compose (recomendado para implantação)
- Conta no WhatsApp
### Passos para Instalação
1. **Clone o repositório**:
```bash
git clone https://github.com/esscova/whatsapp-ai-chatbot.git
cd whatsapp-ai-chatbot
```
2. **Configure as variáveis de ambiente**:
Edite o arquivo `.env` com suas configurações específicas:
- Chaves de API para serviços de IA
## Como Usar
### Iniciar a integração
1. **Docker**:
```bash
docker-compose up -d
```
2. **Configurando o webhook**:
Após subir os serviços no compose um webhook estará disponível em http://localhost:5000/chatbot/webhook/ e deverá ser configurado no dashboard Waha para enviar eventos de mensagens para o endpoint processar.
*Na configuração do Waha deve-se usar o seguinte endpoint:* http://api:5000/chatbot/webhook/
### Conectar ao WhatsApp
O processo de conexão com o WhatsApp do Waha fornece uma session default, na dashboard podemos acessá-la e gerar o QR-CODE para conexão.
### Interagindo com o Bot
Após a conexão bem-sucedida, os usuários podem interagir com o bot enviando mensagens para o número do WhatsApp configurado. O bot processará as mensagens e responderá de acordo com sua programação e capacidades de IA.
## Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para:
1. Fazer fork do projeto
2. Criar uma branch para sua feature (`git checkout -b feature/nova-funcionalidade`)
3. Commit suas mudanças (`git commit -m 'Adiciona nova funcionalidade'`)
4. Push para a branch (`git push origin feature/nova-funcionalidade`)
5. Abrir um Pull Request
## Contato
Para dúvidas, sugestões ou colaborações, entre em contato através do GitHub ou abra uma issue no repositório do projeto.
[esscova](https://github.com/esscova)