Converse no WhatsApp com uma IA
Servidor: Node.JS, Expresso
Banco de dados: Redis
API: API WhatsApp Business Cloud, OpenAI GPT-3
Implantação: Docker, Nginx, Linode
Diversos: ElasticSearch, Kibana
conector Whatsapp: O conector Whatsapp é um microsserviço que conecta um bot à API do WhatsApp, lida com mensagens e solicitações recebidas do WhatsApp
chatbot: Chatbot é um microsserviço que se conectará ao modelo OpenAI GPT-3 para responder às dúvidas dos usuários com base no prompt
Vários pré-requisitos e configurações precisam ser feitos no Meta Developers, siga meu guia abaixo para obter detalhes: https://blog.amitwani.dev/create-a-chatbot-using-whatsapp-cloud-api
docker-compose
Atualizar variáveis de ambiente
docker-compose-local.yml
dentro da pasta docker
para as variáveis de ambiente abaixo:VERIFY_TOKEN
– Token de verificação para WhatsApp WebhookOPENAI_API_KEY
- Chave de API OpenAIWHATSAPP_TOKEN
- Token de autenticação permanente/temporária do WhatsApp Business com permissão whatsapp_business_messaging
WHATSAPP_SEND_MESSAGE_API
- Ponto final da API de envio de mensagem da API do WhatsApp Cloud com ID do número de telefoneCHATBOT_URL
- URL da API do microsserviço do chatbot Execute o comando docker-compose -f docker-compose.local.yml up -d
dentro da pasta docker
npm
Navegue até whatsapp-connector
e chatbot
para instalar suas dependências.
npm install
ou
yarn add
Atualizar variáveis de ambiente
.env
copiando .env.sample
em ambos os microsserviçosVERIFY_TOKEN
– Token de verificação para WhatsApp WebhookOPENAI_API_KEY
- Chave de API OpenAIWHATSAPP_TOKEN
- Token de autenticação permanente/temporária do WhatsApp Business com permissão whatsapp_business_messaging
WHATSAPP_SEND_MESSAGE_API
- Ponto final da API de envio de mensagem da API do WhatsApp Cloud com ID do número de telefoneCHATBOT_URL
- URL da API do microsserviço do chatbotExecute o servidor
npm run start
Implante com Docker facilmente usando o Dockerfile
fornecido na respectiva pasta de serviços ou docker-compose.yml
na pasta docker
GitHub Actions é usado para criar um fluxo de trabalho de CI/CD especificado em workflow.yml
.
main
docker-compose.yml
substituindo variáveis de ambiente dos segredos do GitHubdocker-compose.yml
e nginx.conf
para o servidordocker-compose
para recriar contêineresSe você tiver algum comentário, entre em contato comigo em [email protected]