Um chatbot que usa a API OpenAI para responder mensagens de texto e voz recebidas do WhatsApp com seus modelos de linguagem baseados em GPT3 (Davinci, Ada, Babbage, ...) e para gerar imagens com DALL-E 2.
Requer uma chave válida para a API do OpenAI.
git clone https://github.com/simonsanvil/openai-whatsapp-chatbot
pip install -r requirements.txt
Você precisa definir a chave da API OpenAI como uma variável ambiental ou adicioná-la a um arquivo .env no diretório de trabalho onde o aplicativo será executado:
export OPENAI_API_KEY=[YOUR OPENAI API ACCESS KEY]
/whatsapp/receive
deste aplicativo como URL de retorno de chamada e /whatsapp/status
como URL de retorno de chamada de status (siga o tutorial do Twillio para obter instruções sobre como isso é feito, só deve demorar alguns 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
A imagem abaixo mostra quais caixas você precisa preencher ao configurar seu 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]
A variável ambiental ASSEMBLYAI_API_KEY
serve para usar a API do AssemblyAI para analisar e transcrever o áudio das mensagens de voz recebidas para que o agente possa respondê-las. Se você não precisa ou não deseja isso, pode ignorar essa variável.
# (Use --help to see all the options):
python3 -m app.whatsapp
Alternativamente, o contêiner docker instalará automaticamente todos os requisitos e executará o aplicativo 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
Depois de seguir as instruções do tutorial do Twilio Sandbox para Whatsapp, você poderá entrar no seu sandbox e começar a conversar com o agente imediatamente