هذا هو chatbot Telegram المستندة إلى Python يستخدم API Openai مع نماذج GPT-3.5-Turbo-* لتوفير استجابات محادثة للمستخدمين بطريقة واعية سياق الحوار.
يمكنك بسهولة تكوين معلمات نماذج Openai لـ chatbot باستخدام ملف models.yml . يسمح هذا النهج بإجراء تعديلات سريعة لإعدادات النموذج مثل temperature و max_tokens voice وما إلى ذلك دون تغيير الكود. ما عليك سوى تحرير ملف models.yml .
استنساخ أو تنزيل المستودع.
git clone [email protected]:welel/dialog-chat-bot.git
الخروج على فرع GPT-3.5 توربو .
git checkout gpt-3.5-turbo
إنشاء بيئة افتراضية وتفعيلها وتثبيت التبعيات.
python -m venv env
source env/bin/activate
pip install --upgrade pip && pip install -r requirements.txt
لاستخدام الرسائل الصوتية ، يرجى تثبيت FFMPEG.
# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# on Arch Linux
sudo pacman -S ffmpeg
# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg
# on Windows using Chocolatey (https://chocolatey.org/)
choco install ffmpeg
# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg
نسخ/إعادة تسمية .env.dist إلى .env وملءها بالبيانات.
cp .env.dist .env
قم بإعداد روبوت برقية والحصول على رمز روبوت (انظر https://medium.com/geekculture/generate-telegram-token-for-bot-api-d26faf9bf064 للحصول على التعليمات).
قم بإعداد حساب Openai والحصول على مفتاح API (انظر https://beta.openai.com/docs/quickstart للحصول على التعليمات).
تشغيل الروبوت.
python bot.py
قم بتثبيت Docker و Docker Compose (رابط إذا كنت لا تعرف كيف).
نسخ/إعادة تسمية .env.dist إلى .env وملءها بالبيانات.
cp .env.dist .env
الآن ببساطة قم ببناء الصورة وقم بتشغيلها باستخدام Docker:
docker compose build
docker compose up -d
لبدء التفاعل مع الروبوت ، أرسل أي رسالة إلى روبوت Telegram.
يستخدم chatbot التكوينات المحددة في ملف models.yml لتكييف استجاباته. يسمح هذا الملف بتخصيص مفصل لمعلمات نموذج Openai ، مما يوفر المرونة لضبط سلوك الروبوت وفقًا للاحتياجات أو السياقات المختلفة.
models.yml يحتوي ملف models.yml في دليل المشروع على تكوينات لنماذج أو سيناريوهات مختلفة. إليك كيفية تكوينه:
تحديد نموذج : ضمن مفتاح models ، يمكنك تحديد تكوينات متعددة.
يمكن لكل تكوين تحديد نموذج Openai مختلف. على سبيل المثال ، يستخدم التكوين default gpt-3.5-turbo مع حد max_tokens 100. تحتاج إلى تعيين اسم تكوين النموذج في البيئة متغير MODEL_CONFIG_NAME لتحديد التكوين.
تكوين نموذج دردشة Openai (قسم chat_model ) :
gpt-3.5-turbo ، ولكل منها قدرات مختلفة وأحجام نوافذ السياق. تكوين سلوك chatbot (قسم chatbot ) :
max_context_len العدد الإجمالي للموارد (مدخلات المستخدم واستجابات الروبوت) في نافذة محادثة واحدة. يساعد ضبط هذا على إدارة تفاصيل تاريخ المحادثة ويمكن أن يؤثر على المتطلبات الحسابية والفواتير. تكوين صوت BOT (قسم voice ) :
alloy ، echo ، fable ، onyx ، nova ، و shimmer . كل صوت له نغمة وأسلوب فريد.