แชทบอตที่ใช้ 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
คุณต้องตั้งค่าคีย์ OpenAI API เป็นตัวแปรสภาพแวดล้อมหรือเพิ่มลงในไฟล์ .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 Sandbox สำหรับ 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
อีกทางหนึ่งคอนเทนเนอร์นักเทียบท่าจะติดตั้งข้อกำหนดทั้งหมดโดยอัตโนมัติและเรียกใช้แอปพลิเคชัน 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 แล้ว คุณจะสามารถเข้าร่วมแซนด์บ็อกซ์ของคุณและเริ่มแชทกับตัวแทนได้ทันที