Un chatbot que utiliza la API de OpenAI para responder a mensajes de texto y voz entrantes de WhatsApp con sus modelos de lenguaje basados en GPT3 (Davinci, Ada, Babbage,...) y generar imágenes con DALL-E 2.
Requiere una clave válida para la API de OpenAI.
git clone https://github.com/simonsanvil/openai-whatsapp-chatbot
pip install -r requirements.txt
Debe configurar la clave API de OpenAI como variable ambiental o agregarla a un archivo .env en el directorio de trabajo donde se ejecutará la aplicación:
export OPENAI_API_KEY=[YOUR OPENAI API ACCESS KEY]
/whatsapp/receive
de esta aplicación como su URL de devolución de llamada y /whatsapp/status
como su URL de devolución de llamada de estado (siga el tutorial de Twillio para obtener instrucciones sobre cómo se hace esto, solo debe tomar unos minutos). 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
La siguiente imagen muestra qué casillas debe completar al configurar su Twillio Sandbox para 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 ambiental ASSEMBLYAI_API_KEY
sirve para utilizar la API de AssemblyAI para analizar y transcribir el audio de los mensajes de voz entrantes para que el agente pueda responderlos. Si no necesita o no quiere esto, puede ignorar esa variable.
# (Use --help to see all the options):
python3 -m app.whatsapp
Alternativamente, el contenedor acoplable instalará automáticamente todos los requisitos y ejecutará la aplicación 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
Después de seguir las instrucciones del tutorial de Twilio Sandbox para Whatsapp, deberías poder unirte a tu sandbox y comenzar a chatear con el agente inmediatamente.