الكلية سؤال وجواب chatbot
هذا المشروع عبارة عن Q&A chatbot مصممة للإجابة على الأسئلة المتعلقة بالأكاديمية العالمية للتكنولوجيا (GAT) باستخدام مجموعة من نماذج اللغة الكبيرة (LLMS) ، وعرقات النصوص ، والجيل المسبق للاسترجاع (RAG) ، وتقنيات الهندسة السريعة. يمكن لـ chatbot معالجة كل من المدخلات النصية والصوتية ، مع توفير الإجابات ذات الصلة بناءً على سجل المحادثة والوثائق المحملة مسبقًا.
سمات
- إدخال النص والصوت : يقبل استعلامات المستخدم عبر إدخال النص أو تسجيل الصوت.
- الجيل المتمثل في الاسترداد (RAG) : يعزز الاستجابات باستخدام المعلومات ذات الصلة التي تم استردادها من المستندات المحملة مسبقًا.
- استجابات مدركة للسياق : تستخدم تاريخ المحادثة لتوفير إجابات متماسكة ومناسبة سياقًا.
- واجهة STREMLIT : واجهة سهلة الاستخدام مصممة مع STREMELIT ، والتي تتميز بخيارات لوضع المتابعة وتخصيص عمق البحث.
تثبيت
استنساخ المستودع
git clone https://github.com/mahadev0811/CollegeChatbot.git
cd CollegeChatbot
إنشاء بيئة افتراضية
python -m venv venv
source venv/bin/activate # On Windows use `venvScriptsactivate`
تثبيت التبعيات
pip install -r requirements.txt
تكوين مفتاح API
- قم بإنشاء ملف
config.json في دليل الجذر باستخدام مفتاح Google API:
{
"google_api_key" : " YOUR_GOOGLE_API_KEY "
}
الاستخدام
تشغيل التطبيق
تتفاعل مع chatbot
- استخدم مربع إدخال النص أو مسجل الصوت لإرسال استفساراتك.
- ضبط الإعدادات باستخدام خيارات الشريط الجانبي:
- وضع أسئلة المتابعة : تبديل لاستخدام سجل المحادثة للاستجابات.
- عمق البحث : اضبط عدد الفقرات للبحث في المستندات للحصول على المعلومات ذات الصلة.
هيكل المشروع
- st_app.py : البرنامج النصي للتطبيق الرئيسي.
- inmbeddding_generator.py : البرنامج النصي لإنشاء التضمينات من ملف البيانات.
- WebScrapper.ipynb : دفتر Noteter Jupyter لتجنب البيانات النصية من عناوين URL لإنشاء ملف البيانات RAW.
- config.json : ملف التكوين لمفاتيح API.
- المتطلبات. txt : قائمة باقات بيثون المطلوبة.
- data_generation/gat_raw.txt : RAW Dated Data التي تحتوي على معلومات حول GAT.
- data_generation/gat_refined.txt : النسخة البشرية التي يتم تحريرها من البيانات الأولية.
- gat_embeddings.pkl : تضمينات محسوبة للوثيقة المحملة مسبقًا.
توليد البيانات
لإنشاء ملف بيانات RAW الأولي ( gat_raw.txt ) ، استخدم دفتر webscrapper.ipynb . يقوم دفتر الملاحظات هذا بإخلاص محتوى النص من عناوين URL المعطاة والتنسيقات بشكل مناسب.
توليد التضمينات
لإنشاء التضمينات من ملف البيانات الخاص بك ، استخدم البرنامج النصي inmbed_generator.py . يقرأ هذا البرنامج النصي ملفًا نصيًا يحتوي على البيانات ، ويقوم بإنشاء التضمين باستخدام نموذج FlageMbedding ، ويحفظ التضمين كملف مخلل.
تشغيل مولد التضمين
قم بإعداد ملف البيانات الخاص بك
- تأكد من أن ملف البيانات الخاص بك (على سبيل المثال ، data_generation/gat_refined.txt) بالتنسيق الصحيح ، مع فقرات مفصولة بواسطة خطوط جديدة مزدوجة ( n n).
تشغيل البرنامج النصي
لقطات الشاشة
- يعرض هذا الفيديو chatbot في العمل ، والإجابة على أسئلة حول GAT:
التسجيلات. mp4
الاعتمادات
- flagembedding: نموذج التضمين المخصص المستخدم لترميز الاستعلامات.
- STREMLIT: إطار تطبيق Open Source لمشاريع ML وعلوم البيانات.
- محولات الوجه المعانقة: مكتبة لنماذج NLP الحديثة.
- Google Cloud Speech to-Text API: خدمة لتحويل الكلام إلى نص.
- Google Generative AI: يستخدم لتوليد الاستجابات.
رخصة
تم ترخيص هذا المشروع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا - راجع ملف الترخيص للحصول على التفاصيل.