روبوت دردشة يستخدم واجهة برمجة تطبيقات OpenAI للرد على الرسائل النصية والصوتية الواردة من WhatsApp باستخدام نماذج اللغة المستندة إلى GPT3 (Davinci، Ada، Babbage، ...) ولإنشاء صور باستخدام DALL-E 2.
يتطلب مفتاحًا صالحًا لواجهة برمجة تطبيقات 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
واجهة برمجة التطبيقات الخاصة بـ 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 for Whatsapp Tutorial، من المفترض أن تكون قادرًا على الانضمام إلى Sandbox الخاص بك وبدء الدردشة مع الوكيل على الفور