Discutez sur WhatsApp avec une IA
Serveur : Node.JS, Express
Base de données : Redis
API : API WhatsApp Business Cloud, OpenAI GPT-3
Déploiement : Docker, Nginx, Linode
Divers : ElasticSearch, Kibana
WhatsApp-connector : le connecteur Whatsapp est un microservice qui connecte un bot à l'API WhatsApp, gère la messagerie et les demandes entrantes de WhatsApp.
chatbot : Chatbot est un microservice qui se connectera au modèle OpenAI GPT-3 pour répondre aux requêtes des utilisateurs en fonction de l'invite
Plusieurs prérequis et configuration doivent être effectués sur les méta-développeurs, veuillez suivre mon guide ci-dessous pour plus de détails : https://blog.amitwani.dev/create-a-chatbot-using-whatsapp-cloud-api
docker-compose
Mettre à jour les variables d'environnement
docker-compose-local.yml
dans le dossier docker
pour les variables d'environnement ci-dessous :VERIFY_TOKEN
- Vérifier le jeton pour le Webhook WhatsAppOPENAI_API_KEY
- Clé API OpenAIWHATSAPP_TOKEN
- Jeton d'authentification permanent/temporaire WhatsApp Business avec autorisation whatsapp_business_messaging
WHATSAPP_SEND_MESSAGE_API
- Point de terminaison de l'API d'envoi de messages de l'API WhatsApp Cloud avec ID de numéro de téléphoneCHATBOT_URL
– URL de l'API du microservice Chatbot Exécutez la commande docker-compose -f docker-compose.local.yml up -d
dans le dossier docker
npm
Accédez au whatsapp-connector
et chatbot
pour installer leurs dépendances.
npm install
ou
yarn add
Mettre à jour les variables d'environnement
.env
en copiant .env.sample
dans les deux microservicesVERIFY_TOKEN
- Vérifier le jeton pour le Webhook WhatsAppOPENAI_API_KEY
- Clé API OpenAIWHATSAPP_TOKEN
- Jeton d'authentification permanent/temporaire WhatsApp Business avec autorisation whatsapp_business_messaging
WHATSAPP_SEND_MESSAGE_API
- Point de terminaison de l'API d'envoi de messages de l'API WhatsApp Cloud avec ID de numéro de téléphoneCHATBOT_URL
– URL de l'API du microservice ChatbotExécutez le serveur
npm run start
Déployez facilement avec Docker à l'aide du Dockerfile
fourni dans le dossier de services respectif ou du docker-compose.yml
dans le dossier docker
GitHub Actions est utilisé pour créer un workflow CI/CD spécifié dans workflow.yml
.
main
docker-compose.yml
en remplaçant les variables d'environnement des secrets GitHubdocker-compose.yml
et nginx.conf
sur le serveurdocker-compose
pour recréer des conteneursSi vous avez des commentaires, veuillez me contacter à [email protected]