Un chatbot qui utilise l'API d'OpenAI pour répondre aux messages texte et vocaux entrants de WhatsApp avec leurs modèles de langage basés sur GPT3 (Davinci, Ada, Babbage, ...) et pour générer des images avec DALL-E 2.
Nécessite une clé valide pour l'API d'OpenAI.
git clone https://github.com/simonsanvil/openai-whatsapp-chatbot
pip install -r requirements.txt
Vous devez définir la clé API OpenAI comme variable d'environnement ou l'ajouter à un fichier .env dans le répertoire de travail où l'application sera exécutée :
export OPENAI_API_KEY=[YOUR OPENAI API ACCESS KEY]
/whatsapp/receive
de cette application comme URL de rappel et /whatsapp/status
comme URL de rappel d'état (suivez le didacticiel de Twillio pour obtenir des instructions sur la façon dont cela est effectué, ne devrait prends quelques minutes). export TWILLIO_AUTH_TOKEN=[YOUR TWILIO AUTH TOKEN]
export TWILLIO_ACCOUNT_SID=[YOUR TWILIO ACCOUNT SID]
export FROM_WHATSAPP_NUMBER=[YOUR ASSIGNED TWILIO WHATSAPP NUMBER] # +14155238886
L'image ci-dessous montre les cases que vous devez remplir lors de la configuration de votre Twillio Sandbox pour Whatsapp :
export MAX_TOKENS=[NUMBER OF MAX TOKENS IN EACH REPLY]
export CONVERSATION_EXPIRES_MINS=[N MINUTES UNTIL A CONVERSATION IS ERASED FROM MEMORY]
export ALLOWED_PHONE_NUMBERS=[+1234567890,+1987654321] # Default is any number
export START_TEMPLATE=[PATH TO A FILE WITH A TEMPLATE FOR THE START OF A CONVERSATION] # data/start_template.txt
export ASSEMBLYAI_API_KEY=[YOUR ASSEMBLY-AI API KEY]
La variable d'environnement ASSEMBLYAI_API_KEY
consiste à utiliser l'API d'AssemblyAI pour analyser et transcrire l'audio des messages vocaux entrants afin que l'agent puisse y répondre. Si vous n'en avez pas besoin ou ne le souhaitez pas, vous pouvez ignorer cette variable.
# (Use --help to see all the options):
python3 -m app.whatsapp
Alternativement, le conteneur Docker installera automatiquement toutes les exigences et exécutera l'application WhatsApp.
# building the image
docker build -t openai-ws-chatbot .
# running the container
# It is expected that you have all the required environmental variables in a .env file
docker run -p 5000:5000 openai-ws-chatbot --env_file=.env
Après avoir suivi les instructions du didacticiel Twilio Sandbox pour Whatsapp, vous devriez pouvoir rejoindre votre sandbox et commencer à discuter immédiatement avec l'agent.