Esse bot foi desenvolvido para o grupo de estudantes da codeBuddy(Moura BJ) para auxiliar na resolução de dúvidas de programação. Ele utiliza a API do GPT-3 para gerar respostas para as perguntas feitas no grupo.
Ele responde perguntas ligadas ao tema principal do grupo, que no caso é o Projeto X.
Mas ele pode ser adaptado para responder perguntas de outros temas.
O bot funciona da seguinte forma:
- Ele fica escutando o grupo e quando alguém envia uma mensagem que começa com
!orientador
ou!advisor
, ele responde com uma resposta gerada pelo GPT-3. - Ele pega as últimas 3 mensagens do grupo e as usa como contexto para gerar a resposta.
- Ele tentará formatar a resposta para o markdown do Whatsapp e usará emojis para dar uma cara mais humana para a resposta.
- Ele só irá responder mensagens em grupos, então todos que conhecer os comandos podem usar o bot em outos grupos fora do projeto (fica a dica).
- Node.js
- Conta no OpenAI
- Conta no Whatsapp
A API do GPT-3 é paga, porém a OpenAI oferece um saldo de U$18 para você testar as funcionalidades da API. Você pode usar esse saldo para testar o bot.
Clone o repositório
git clone https://github.com/misterioso013/gpt-advisor-wabot.git
cd gpt-advisor-wabot
Instale as dependências com:
npm install
Crie um arquivo .env
com a seguinte variável de ambiente:
OPENAI_API_KEY="sk-...."
-
Veja o arquivo
.env.example
para mais detalhes- Você pode encontrar a sua chave de API no dashboard do OpenAI
-
Rode o bot com
npm run dev
-
Aguarde o QR Code aparecer no terminal
-
Escaneie o QR Code com o Whatsapp Web
-
Pronto, o bot está rodando
Para rodar o bot em produção, você pode usar o PM2
Para isso, instale o PM2 globalmente com:
npm install -g pm2
Instale as dependências de produção com:
npm install --production
Crie um arquivo .env
com as variáveis de ambiente vistas no tópico anterior ou rode o comando (linux):
touch .env && echo 'OPENAI_API_KEY="sk-...."' > .env
Faça o build do projeto com:
npm run build
E rode o bot com:
pm2 start dist/index.js --name gpt-advisor-wabot
Para ver o QR Code do Whatsapp, use:
pm2 logs gpt-advisor-wabot
Caso esteja usando o Ubuntu você poderá encontrar alguns problemas com o puppeteer. Para resolver isso, siga as instruções deste link
Contribuições são sempre bem-vindas! Se você tiver alguma ideia de como melhorar o bot, sinta-se livre para abrir uma issue ou um pull request.