Banterbot هو تطبيق chatbot سهل الاستخدام يستفيد من نماذج Openai لتوليد استجابات مدركة للسياق ، والأصوات العصبية Azure لتوليف النص إلى الكلام ، والتعرف على الكلام إلى النص Azure. تقدم الحزمة مجموعة أدوات شاملة لبناء تطبيقات chatbot مع واجهة بديهية ومجموعة من المرافق.
هناك حاجة إلى ثلاثة متغيرات بيئة للوظائف الكاملة:
OPENAI_API_KEY : مفتاح API Openai صالحAZURE_SPEECH_KEY : مفتاح واجهة برمجة تطبيقات خطاب Azure المعرفي للخدمات المعرفية لوظيفة النص إلى الكلام ووظيفة الكلام إلى النصAZURE_SPEECH_REGION : المنطقة المرتبطة بمفتاح واجهة برمجة تطبيقات خطاب Azure Councitive Services الخاص بك تقوم واجهة المستخدم الرسومية (GUI) بإنشاء بيئة محادثة متعددة اللاعبين حيث يمكن حتى تسعة مستخدمين التفاعل مع chatbot في وقت واحد. يتضمن واجهة المستخدم الرسومية منطقة سجل محادثة وألواح المستخدم مع أزرار "الاستماع" لمعالجة إدخال المستخدم. كما يدعم روابط المفاتيح لراحة المستخدم.
فئة مسؤولة عن إدارة التفاعلات مع API Openai ChatCompletion. إنه يوفر وظائف لإنشاء استجابات من API استنادًا إلى رسائل الإدخال. وهو يدعم توليد ردود في مجملها أو كدفق من كتل الاستجابة.
الفصل الذي يتولى تخليق النص إلى كلام باستخدام الخدمات المعرفية لـ Azure. وهو يدعم مجموعة واسعة من تنسيقات الإخراج والأصوات وأنماط التحدث. يمكن مقاطعة الكلام المصنفة ، ويمكن مراقبة التقدم في الوقت الفعلي.
الفصل الذي يوفر واجهة لتحويل اللغة المنطوقة إلى نص مكتوب باستخدام Azure Cromitive Services. إنها تتيح التعرف المستمر على الكلام ويوفر نتائج في الوقت الفعلي حيث يتم التعرف على الجمل.
يتطلب Banterbot تشغيل العديد من نماذج اللغة Spacy ، وسوف تقوم بتنزيلها تلقائيًا على التهيئة لأول مرة ، إذا كانت مفقودة أو غير متوافقة-قد تستغرق هذه العملية أحيانًا بعض الوقت.
يمكن تثبيت Banterbot أو تحديثه باستخدام فهرس Python Package (PYPI):
python -m pip install --upgrade banterbotلتثبيت Banterbot ، ما عليك سوى استنساخ المستودع وتثبيت التبعيات المطلوبة:
git clone https://github.com/gabrielscabrera/banterbot.git
cd banterbot
python -m pip install . ابدأ Banterbot مع واجهة مستخدم رسومية محسّنة عن طريق تشغيل banterbot الأوامر في المحطة الخاصة بك. يتيح واجهة المستخدم الرسومية هذه المستخدمين العديد من المستخدمين بالتفاعل مع الروبوت ، ولكل منها زر مخصص لإدخال الكلام وشاشة للاستجابات.
--prompt : قم بتعيين موجه نظام في بداية المحادثة (على سبيل المثال ، --prompt "You are Grendel the Quiz Troll, a charismatic troll who loves to host quiz shows." ).
--model : اختر نموذج Openai لتوليد المحادثة. الإعدادات الافتراضية لـ GPT-4 ، ولكن يمكن تحديد إصدارات أخرى إذا تم تحديدها في الكود.
--voice : حدد صوت Microsoft Azure Councitive Services إلى صوت إلى كلام. الافتراضي هو "أريا" ، ولكن يمكن تحديد أصوات أخرى إذا كانت متوفرة.
--debug : تمكين وضع التصحيح لعرض معلومات إضافية في المحطة لاستكشاف الأخطاء وإصلاحها.
--greet : اطلب من الروبوت تحية المستخدم عند بدء التشغيل.
--name : تعيين اسم إلى مساعد لأغراض جمالية. هذا لا يبلغ الروبوت نفسه ؛ لتزويد الروبوت بالمعلومات ، استخدم العلم --prompt .
هنا مثال:
banterbot --greet --model gpt-4-turbo --voice davis --prompt " You are Grondle the Quiz Troll, a charismatic troll who loves to host quiz shows. " --name Grondle بالإضافة إلى ذلك ، يمكنك استخدام banterbot character لتحديد حرف تم تحميله مسبقًا للتفاعل معه. على سبيل المثال:
banterbot character therapistسيبدأ محادثة مع Grendel therapy Troll. لسرد جميع الأحرف المتاحة ، قم بتشغيل:
banterbot character -h يمكنك أيضًا استخدام banterbot voice-search للبحث من خلال جميع الأصوات المتاحة. على سبيل المثال:
banterbot voice-search --language en fr سوف تدرج جميع النماذج الصوتية الإنجليزية (EN) والفرنسية (FR). تشغيل banterbot voice-search -h لمزيد من المعلومات.
لاستخدام Banterbot في البرنامج النصي ، قم بإنشاء مثيل لفئة TKInterface واستدعاء طريقة run :
from banterbot import AzureNeuralVoiceManager , OpenAIModelManager , TKInterface
model = OpenAIModelManager . load ( "gpt-4o" )
voice = AzureNeuralVoiceManager . load ( "Davis" )
assistant_name = "Grendel"
# Optional system prompt to set up a custom character prior to initializing BanterBot.
system = "You are Grendel the Quiz Troll, a charismatic troll who loves to host quiz shows."
# The four arguments `model`, `voice`, `system`, and `assistant_name` are optional.
interface = TKInterface ( model = model , voice = voice , system = system , assistant_name = assistant_name )
# Setting `greet` to True instructs BanterBot to initiate the conversation. Otherwise, the user must initiate.
interface . run ( greet = True ) يتم حفظ سجلات الدردشة في $HOME/Documents/BanterBot/Conversations/ الدليل كملفات .txt فردية.
لمزيد من الوثائق الكاملة ، يرجى الرجوع إلى مستندات Banterbot.