openai whatsapp chatbot
v0.1 Whatsapp-Chatbot
OpenAI의 API를 사용하여 GPT3 기반 언어 모델(Davinci, Ada, Babbage 등)을 사용하여 WhatsApp에서 들어오는 문자 및 음성 메시지에 응답하고 DALL-E 2로 이미지를 생성하는 챗봇입니다.
OpenAI API에 대한 유효한 키가 필요합니다.
git clone https://github.com/simonsanvil/openai-whatsapp-chatbot
pip install -r requirements.txt
OpenAI API 키를 환경 변수로 설정하거나 앱이 실행될 작업 디렉터리의 .env 파일에 추가해야 합니다.
export OPENAI_API_KEY=[YOUR OPENAI API ACCESS KEY]
/whatsapp/receive
엔드포인트를 콜백 URL로, /whatsapp/status
상태 콜백 URL로 사용하여 Whatsapp 메시지 샌드박스용 Twilio를 설정합니다(이 작업 수행 방법에 대한 지침은 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
아래 이미지는 Whatsapp용 Twillio Sandbox를 구성할 때 채워야 할 상자를 보여줍니다.
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
환경 변수는 AssemblyAI의 API를 사용하여 에이전트가 응답할 수 있도록 수신 음성 메시지의 오디오를 구문 분석하고 텍스트로 변환하는 것입니다. 이것이 필요하지 않거나 원하지 않으면 해당 변수를 무시할 수 있습니다.
# (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
Whatsapp용 Twilio 샌드박스 튜토리얼의 지침을 따르면 샌드박스에 참여하여 즉시 에이전트와 채팅을 시작할 수 있습니다.