Чат-бот, который использует API OpenAI для ответа на входящие текстовые и голосовые сообщения из WhatsApp с их языковыми моделями на основе GPT3 (Davinci, Ada, Babbage и т. д.) и для создания изображений с помощью DALL-E 2.
Требуется действительный ключ к API OpenAI.
git clone https://github.com/simonsanvil/openai-whatsapp-chatbot
pip install -r requirements.txt
Вам необходимо установить ключ API OpenAI в качестве переменных среды или добавить его в файл .env в рабочем каталоге, где будет работать приложение:
export OPENAI_API_KEY=[YOUR OPENAI API ACCESS KEY]
/whatsapp/receive
этого приложения в качестве URL-адреса обратного вызова и /whatsapp/status
в качестве URL-адреса обратного вызова для статуса (инструкции о том, как это сделать, см. в руководстве Twillio, следует только это займет несколько минут). 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
На изображении ниже показано, какие поля необходимо заполнить при настройке песочницы Twillio для 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]
Переменная среды ASSEMBLYAI_API_KEY
предназначена для использования API AssemblyAI для анализа и расшифровки звука входящих голосовых сообщений, чтобы агент мог ответить на них. Если вам это не нужно или вы не хотите, вы можете игнорировать эту переменную.
# (Use --help to see all the options):
python3 -m app.whatsapp
Альтернативно, Docker-контейнер автоматически установит все требования и запустит приложение 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
Следуя инструкциям в учебном пособии по Twilio Sandbox для WhatsApp, вы сможете присоединиться к своей песочнице и сразу же начать общаться с агентом.