Home
Login

أداة مفتوحة المصدر للأسئلة والأجوبة الذكية حول المستندات تعتمد على تقنية RAG، وتدعم التفاعل الحواري مع مستنداتك.

Apache-2.0Python 22.5kCinnamon Last Updated: 2025-06-11

Kotaemon - أداة مفتوحة المصدر للأسئلة والأجوبة الذكية حول المستندات باستخدام RAG

نظرة عامة على المشروع

Kotaemon هي أداة مفتوحة المصدر لـ RAG (الجيل المعزز للاسترجاع) مصممة خصيصًا للتفاعل الحواري مع المستندات. يهدف المشروع إلى تزويد المستخدمين النهائيين والمطورين بواجهة مستخدم RAG كاملة الميزات، والتي يمكن أن تلبي احتياجات المستخدمين في طرح الأسئلة والأجوبة حول المستندات، وتساعد المطورين أيضًا على بناء خطوط أنابيب RAG الخاصة بهم.

الميزات الأساسية

وظائف المستخدم النهائي

  • واجهة مستخدم بسيطة وجميلة: توفير واجهة سهلة الاستخدام للأسئلة والأجوبة RAG
  • دعم نماذج لغوية كبيرة متعددة (LLM): متوافقة مع العديد من موفري واجهات برمجة تطبيقات LLM (OpenAI، AzureOpenAI، Cohere، إلخ) ونماذج LLM المحلية (عبر ollama و llama-cpp-python)
  • تثبيت سهل: توفير نصوص بسيطة للتشغيل السريع
  • دعم متعدد المستخدمين: دعم تسجيل دخول متعدد المستخدمين، يمكن إنشاء مجموعات مستندات خاصة/عامة، ودعم التعاون والمشاركة

وظائف المطور

  • إطار عمل خط أنابيب RAG: توفير أدوات لبناء خطوط أنابيب الأسئلة والأجوبة حول المستندات باستخدام RAG
  • واجهة مستخدم قابلة للتخصيص: مبنية على Gradio، يمكن رؤية التأثير الفعلي لخط أنابيب RAG
  • خط أنابيب RAG مختلط: استخدام مسترجع مختلط (نص كامل ومتجه) وإعادة ترتيب لضمان أفضل جودة استرجاع
  • قابلية التوسع: دعم عناصر واجهة مستخدم مخصصة واستراتيجيات فهرسة واسترجاع مستندات متعددة

وظائف متقدمة

  • دعم الأسئلة والأجوبة متعددة الوسائط: دعم الأسئلة والأجوبة حول مستندات متعددة تحتوي على مخططات وجداول، ودعم تحليل المستندات متعددة الوسائط
  • وظيفة الإسناد المتقدمة: توفير معلومات إسناد مفصلة لضمان صحة إجابات LLM، ويمكن عرض محتوى الإسناد المميز مباشرة في عارض PDF الخاص بالمتصفح
  • طرق استدلال معقدة: دعم تقسيم المشكلات للإجابة على الأسئلة المعقدة/متعددة المراحل، ودعم الاستدلال المستند إلى الوكيل، مثل ReAct و ReWOO وما إلى ذلك
  • واجهة إعدادات قابلة للتكوين: يمكن تعديل الجوانب المهمة لعمليات الاسترجاع والإنشاء في واجهة المستخدم (بما في ذلك مطالبات الإدخال)

البنية التقنية

تنسيقات المستندات المدعومة

  • PDF، HTML، MHTML، XLSX
  • دعم المزيد من التنسيقات عبر مكتبة Unstructured (‎.doc، ‎.docx، إلخ)

خيارات تخزين البيانات

  • تخزين المستندات: Elasticsearch، LanceDB، SimpleFileDocumentStore
  • تخزين المتجهات: ChromaDB، LanceDB، InMemory، Milvus، Qdrant

دعم نماذج LLM

  • موفرو واجهات برمجة التطبيقات: OpenAI، Azure OpenAI، Cohere، Groq، إلخ
  • النماذج المحلية: دعم نماذج تنسيق GGUF عبر Ollama و llama-cpp-python

تكامل GraphRAG

يدعم المشروع نوعين من تطبيقات GraphRAG:

NanoGraphRAG (موصى به)

  • تكامل Kotaemon أكثر مباشرة
  • التعرف التلقائي على نموذج LLM الافتراضي ونموذج التضمين

MS GraphRAG

  • تطبيق Microsoft GraphRAG الرسمي
  • يدعم فقط OpenAI أو Ollama API
  • يدعم النماذج المحلية والإعدادات المخصصة

التثبيت والنشر

نشر Docker (موصى به)

توفير صور Docker مبسطة وكاملة:

  • إصدار مبسط: يدعم أنواع الملفات الأساسية، صورة أصغر
  • إصدار كامل: يتضمن حزمة غير منظمة، ويدعم المزيد من أنواع الملفات

التثبيت المحلي

  1. قم بتنزيل أحدث إصدار من ملف الإصدار
  2. قم بتكوين ملف ‎.env
  3. قم بتشغيل python app.py لبدء الخدمة
  4. اسم المستخدم وكلمة المرور الافتراضيان هما admin

التخصيص والتوسيع

تخصيص خط أنابيب الاستدلال

  • يمكن إضافة تطبيقات ‎.py جديدة في libs/ktem/ktem/reasoning/
  • تمكين خط أنابيب الاستدلال الجديد من خلال flowsettings

تخصيص خط أنابيب الفهرسة

  • الرجوع إلى التطبيقات النموذجية في libs/ktem/ktem/index/file/graph
  • دعم خط أنابيب فهرسة GraphRAG

ملفات التكوين

  • flowsettings.py: تكوين التطبيق
  • ‎.env: تكوين النموذج وبيانات الاعتماد

سيناريوهات التطبيق

  1. إدارة المعرفة المؤسسية: بناء نظام أسئلة وأجوبة للمستندات الداخلية
  2. البحث الأكاديمي: إجراء أسئلة وأجوبة ذكية حول الأدبيات البحثية
  3. تحليل المستندات القانونية: استرجاع وتحليل المستندات القانونية بسرعة
  4. دعم الوثائق التقنية: تزويد المستخدمين باستعلامات ذكية حول الوثائق التقنية
  5. قاعدة المعرفة الشخصية: إدارة والاستعلام عن مجموعات المستندات الشخصية

مزايا المشروع

  • مفتوح المصدر ومجاني: مفتوح المصدر بالكامل، ويمكن استخدامه وتعديله بحرية
  • كامل الميزات: من الأسئلة والأجوبة البسيطة إلى الاستدلال المعقد، تغطية كاملة للميزات
  • سهل الاستخدام: واجهة ويب بديهية، يمكن استخدامها دون خلفية تقنية
  • قابل للتخصيص بدرجة كبيرة: يدعم خيارات التكوين والتوسيع المتعددة
  • مجتمع نشط: تحديثات مستمرة ودعم المجتمع

الخصائص التقنية

  • تم تطويره باستخدام Python
  • استخدام Gradio لبناء واجهة ويب
  • دعم نشر حاويات Docker
  • تصميم معماري معياري
  • دعم تسريع GPU (النماذج المحلية)

ملخص

Kotaemon هي أداة واجهة مستخدم RAG قوية تتيح للمستخدمين التفاعل مع المستندات من خلال المحادثة. لا توفر فقط واجهة أسئلة وأجوبة مستندات بسيطة وسهلة الاستخدام للمستخدمين النهائيين، ولكنها توفر أيضًا إطارًا كاملاً للمطورين لبناء أنظمة RAG مخصصة. من خلال الاسترجاع المختلط، ودعم الوسائط المتعددة، والإسناد المتقدم، توفر Kotaemon حلاً شاملاً واحترافيًا في مجال الأسئلة والأجوبة الذكية حول المستندات.