هذا المشروع عبارة عن تطبيق يستند إلى JavaScript باستخدام بنية الجيل المعزز للاسترجاع (RAG) المبتكرة من خلال LangChainJS. يجمع هذا النظام بشكل فعال بين أداة استرداد المستندات ومولد الاستجابة للتعامل مع الاستعلامات المعقدة بدقة عالية. يعمل مكون "المسترد" كأداة بحث دقيقة داخل مجموعة المستندات، حيث يستخرج المعلومات الأكثر صلة بناءً على استعلامات المستخدم. بعد الاسترجاع، يقوم "المولد" بتجميع هذه المعلومات في استجابات متماسكة وذات صلة بالسياق. يعد هذا النهج ثنائي المكونات مثاليًا للمهام التي تتطلب توليفًا عميقًا للمحتوى وفهمه، مثل إنشاء ملخصات تفصيلية أو الإجابة على أسئلة متعددة الأوجه من مجموعة واسعة من مصادر المستندات. يتعامل هذا التطبيق مع العديد من المستندات والاستعلامات المعقدة بسهولة، مما يجعله أداة قيمة للباحثين ومنشئي المحتوى ومحللي البيانات.
يستخدم المشروع Ollama مع LangChainJS، لذا تأكد من تثبيت Ollama. بعد التثبيت قم بتشغيل
$ ollama pull gemma:2b-instruct-q5_0
$ ollama pull nomic-embed-text
في بوويرشيل.
يستخدم المشروع أيضًا ChromaDB كقاعدة بيانات لتخزين المتجهات، لذا قم بتنزيل Docker وتثبيته من https://www.docker.com/ وتشغيله
$ docker pull chromadb/chroma
$ docker run -p 8000:8000 chromadb/chroma
في بوويرشيل لسحب صورة chromaDB وبدء حاوية chromaDB. سيتم إنشاء التضمينات وتخزينها داخل حاوية chromaDB التي تم إنشاؤها في عامل الإرساء.
استنساخ المستودع باستخدام git clone
.
بعد الاستنساخ، انتقل إلى الدليل الجذر وقم بتشغيل npm install
في الجهاز لتثبيت الحزم.
بعد تثبيت الحزم بنجاح، قم بتشغيل npm start
في الجهاز. سوف تحصل على خطأ في المرة الأولى، ثم قم بتشغيل npm start
مرة أخرى حتى يعمل الكود.
المساهمات في المشروع هي موضع ترحيب! يرجى إنشاء طلبات السحب، أو إرسال المشكلات لاقتراح تغييرات على المستودع، أو الإبلاغ عن الأخطاء.
هذا المشروع مرخص بموجب ترخيص MIT - راجع ملف الترخيص للحصول على التفاصيل.