هذا المشروع عبارة عن نظام توليد (RAG) الذي تم تجهيزه للمحادثة والذي يسمح للمستخدمين بتحميل ملفات PDF واستخراج المحتوى وطرح أسئلة حول المحتوى الذي تم تحميله. يقوم النظام بتتبع سجل الدردشة ويؤدي إلى قيام أسئلة المستخدم السياقية بناءً على المحادثة السابقة لتوفير الإجابات ذات الصلة.
تم تصميم التطبيق باستخدام STIPLELIT لواجهة المستخدم ، ويدمج GROQ من أجل LLM (نموذج اللغة) ، و Chroma كمتجر متجه للتعامل مع تضمينات المستندات واسترجاعها. يتم الحفاظ على تدفق المحادثة مع تاريخ الدردشة لتمكين الانتهاء من الأسئلة.
HuggingFaceEmbeddings لإنشاء تضمينات المستند واسترداد المحتوى ذي الصلة. لتشغيل هذا المشروع ، تحتاج إلى ما يلي:
استنساخ المستودع:
git clone https://github.com/yourusername/conversational-rag-with-pdf.git
cd conversational-rag-with-pdfإنشاء بيئة افتراضية:
python3 -m venv venv
source venv/bin/activate # On Windows, use `venvScriptsactivate`تثبيت التبعيات المطلوبة:
pip install -r requirements.txtإعداد متغيرات البيئة:
قم بإنشاء ملف .env في دليل الجذر وأضف مفاتيح API:
touch .env داخل ملف .env ، أضف ما يلي:
HF_TOKEN=your_huggingface_token
GROQ_API_KEY=your_groq_api_keyتشغيل التطبيق:
streamlit run utils.pyعند تشغيل التطبيق ، ستحتاج أولاً إلى إدخال مفتاح GroQ API. هذا مطلوب لأداء نمذجة اللغة والإجابة على الأسئلة.
انقر فوق زر اختيار ملف PDF لتحميل ملف PDF واحد أو أكثر. سيتم معالجة المحتوى من PDFs وتقسيمه إلى أجزاء لاسترجاع فعال.
بعد تحميل PDFs ، يمكنك طرح الأسئلة المتعلقة بمحتوى الملفات التي تم تحميلها. سيجيب المساعد بناءً على السياق الذي توفره PDFs وتاريخ الدردشة السابق.
يتتبع النظام تاريخ المحادثة. يمكنك عرض سجل الجلسة ، ويستخدم المساعد هذا السجل للإجابة على أسئلة المتابعة في السياق.
Gemma2-9b-It .إذا واجهت مشكلات مثل أخطاء مفتاح API أو مشكلات تحميل الملفات ، تأكد من ذلك:
pip install -r requirements.txt .