Docchat: نظام استرجاع Langchain
ينفذ هذا التطبيق البطيء نظام استرجاع قائم على Langchain لمعالجة مستندات PDF وإجراء استرجاع للمحادثة باستخدام قدرات Langchain.
بنية خرقة

Streamlit واجهة المستخدم

ملخص
يتيح التطبيق للمستخدمين تحميل ملفات PDF ، واستخراج النص ، وتقسيمها إلى أجزاء ، وإنشاء التضمينات باستخدام جوجل نخيل ، وإنشاء سلسلة استرجاع محادثة. يمكن للمستخدمين بعد ذلك طرح الأسئلة المتعلقة بمحتوى PDF المعالج وتلقي الإجابات بناءً على سلسلة المحادثة.
التقنيات الرئيسية المستخدمة
- Langchain : مكتبة لمهام معالجة اللغة الطبيعية ، بما في ذلك تقسيم النص واسترجاع المحادثة.
- جوجل نخيل التضمينات : التضمينات المستخدمة في التشابه الدلالي وتمثيل النص.
- FAISS (بحث تشابه AI على Facebook) : مكتبة فعالة للبحث عن التشابه وتجميع المتجهات الكثيفة.
إعداد المشروع
المتطلبات الأساسية
بيئة بيثون : تأكد من تثبيت Python 3.x.
متغيرات البيئة : قم بإنشاء ملف .env في دليل جذر المشروع مع المحتوى التالي: google_api_key = your_google_api_key_here استبدل your_google_api_key_here بمفتاح Google API الفعلي.
تثبيت
- استنساخ المستودع : استنساخ هذا المستودع إلى جهازك المحلي:
git clone https://github.com/Varunv003/langchain-palm2-rag_application
- إعداد بيئة افتراضية : يوصى باستخدام بيئة افتراضية لإدارة التبعيات:
python -m venv venv
# On Windows: .venvScriptsactivate
# On macOS/Linux: source venv/bin/activate
- تثبيت التبعيات : تثبيت حزم Python المطلوبة باستخدام PIP:
pip install -r requirements.txt
- هيكل القالب : لإعداد بنية المجلد الأولي للمشروع ، تشغيل:
python template.py
# This command will create necessary directories and files based on your project needs.
- تشغيل التطبيق لتشغيل تطبيق SPEREMLIT:
streamlit run app.py
# The application will start, and you can access it in your web browser at http://localhost:8501.
بنية الملف
- app.py : رمز تطبيق SPEREMLIT الرئيسي لتحميل PDFs ومعالجتها وإدارة تفاعلات المستخدم.
- Helper.py : يحتوي على وظائف مساعد لاستخراج نص PDF ، وقطع النص ، وإنشاء متجر Vector Vector ، وإعداد سلسلة المحادثة.
- template.py : البرنامج النصي لتهيئة بنية المجلد وإنشاء الدلائل/الملفات اللازمة للمشروع. .ENV: ملف متغير البيئة لتخزين البيانات الحساسة مثل مفاتيح API.
الاستخدام
- تحميل ملفات PDF: استخدم الشريط الجانبي "تحميل بياناتك" لتحميل ملف PDF واحد أو أكثر.
- PDFS Process: انقر فوق "إرسال ومعالجة" لاستخراج النص ، وإنشاء التضمينات ، وإعداد سلسلة استرجاع للمحادثة.
- طرح الأسئلة: أدخل الأسئلة المتعلقة بمحتوى PDF الذي تم تحميله في حقل إدخال النص.
- عرض الردود: سيتم عرض الاستجابات التي تم إنشاؤها بواسطة نموذج محادثة Langchain في الواجهة الرئيسية.
- التسجيل: يتم تنفيذ التسجيل لالتقاط خطوات وتوقيت رئيسي أثناء استخراج نص PDF ، وقطع النص ، وإنشاء متجر المتجهات ، وإعداد سلسلة المحادثة. يتم عرض السجلات في وحدة التحكم أو المحطة حيث يتم تشغيل التطبيق.
التحسينات المستقبلية
- تحسين معالجة الأخطاء وتعليقات المستخدم أثناء تحميل الملف ومعالجته.
- تحسين قابلية التوسع والتحسينات للأداء للتعامل مع مستندات PDF أكبر.
- دمج نماذج AI إضافية أو صقل النماذج الحالية للحصول على استجابات محادثة أفضل.