إنتقل إلى المحتوى الرئيسي

المحادثة مع المستندات

تتيح المحادثة مع المستندات لـ Libre WebUI البحث في المستندات المرفوعة وتمرير المقاطع الملائمة إلى سياق المحادثة.

الملفات المدعومة

يدعم الرفع حاليًا:

  • PDF (مع مصدر كل صفحة)
  • النص العادي والسجلات
  • Markdown ‏(.md و.markdown و.mdx، مع مصدر كل قسم)
  • HTML
  • مستندات Word ‏(.docx)
  • العروض التقديمية (.pptx، مع مصدر كل شريحة)
  • جداول البيانات (.xlsx، مع مصدر كل ورقة) وCSV/TSV
  • الشيفرة المصدرية (TypeScript وPython وGo وRust وSQL وYAML وغيرها من اللغات الشائعة)
  • الصور (.png و.jpg و.webp و.gif) — يقرأ النص نموذج الرؤية الذي هيأته (الإعدادات ← الافتراضيات ← نموذج الرؤية)
  • الصوت (.wav و.webm) — يُنسخ عبر مزوّد تحويل الكلام إلى نص، خلف بوابة وصول STT نفسها المستخدمة للإدخال الصوتي
  • الحد الأقصى لحجم الملف: 10 MB

تُفك حزم تنسيقات Office بمحلل محدود موجود في المستودع؛ فلا تعمل أي مكتبة مستندات خارجية داخل عملية الخادم. كما تُزال الازدواجية عند إعادة رفع البايتات نفسها في النطاق ذاته بدلًا من استيعابها مرتين.

يُوجّه استخراج الصور والصوت إلى المزوّدين الذين هيأتهم بالفعل؛ فلا تتضمن الحزمة محرك OCR أو تعرف على الكلام محليًا، ولا يغادر المثيل شيء سوى الاستدعاء المرسل إلى النموذج الذي اخترته. ويُعالج ملف PDF بلا طبقة نصية (نسخة ممسوحة ضوئيًا) بالطريقة نفسها: تُستعاد صور JPEG المضمنة للصفحات ويقرأها نموذج الرؤية مع توثيق مصدر كل صفحة. أما النسخ المخزنة بترميزات صور أخرى (CCITT fax وJBIG2) فلا تنتج نصًا. وإذا لم يُهيأ نموذج رؤية أو مزوّد STT، يُعلّم الرفع على أنه فاشل ويظهر سببه في الإعدادات ← المستندات.

يعالج الخادم الخلفي الملفات ويخزنها مع بقية بيانات التطبيق.

أوضاع البحث

يدعم Libre WebUI وضعين للاسترجاع:

الوضعوقت الاستخدامملاحظات
البحث بالكلماتمتاح دائمًاترتيب BM25؛ لا يتطلب نموذج تضمين
البحث الهجينعند تفعيل التضمينات في الإعداداتيدمج الترتيب المتجهي مع BM25 باستخدام دمج الرتب المتبادلة

عند تفعيل التضمينات، تنفذ كل استعلام كلا الترتيبين وتدمجهما: فقد تسبق مطابقة مصطلح دقيقة مقطعًا مشابهًا دلاليًا لكنه أكثر غموضًا، وتظل المقاطع التي لم تكتمل تضميناتها قابلة للوصول من الجانب المعجمي. وإذا فشلت التضمينات أو عُطلت، يعود البحث في المستندات إلى مطابقة الكلمات وحدها.

يُحسب الترتيب المعجمي داخل العملية على المقاطع التي يمكنك الوصول إليها. ويتعمد Libre عدم الاحتفاظ بفهرس نص كامل على القرص لمقاطع المستندات، لأن النص مخزن مشفرًا وفهرس الرموز سيُبقي النص الصريح بجوار النص المشفر. ولا يتأهل المقطع للترتيب المعجمي إلا إذا احتوى بالكامل على كلمة واحدة على الأقل من الاستعلام، لذلك لا يعرض المعرّف المركب ALPHA_BETA_GAMMA نصًا لا يشاركه سوى جزء منه.

تنضم مجموعات المعرفة المشتركة معك تلقائيًا إلى كلا الترتيبين. ويُفرض التحكم في الوصول داخل الاستعلام المتجهي نفسه؛ إذ تُنشر المنح في قائمة التحكم بالوصول للفهرس. لذلك يؤدي إلغاء المشاركة إلى إخفاء المستندات في البحث التالي مباشرة من دون إعادة إنشاء أي تضمين.

تفعيل البحث الدلالي

ثبّت نموذج تضمين:

ollama pull nomic-embed-text

ثم افتح الإعدادات وفعّل التضمينات. يمكنك استخدام نماذج تضمين Ollama محلية أو مكونات مزوّدين إضافية تدعم التضمينات.

إعدادات التضمين الافتراضية:

  • النموذج: nomic-embed-text
  • حجم المقطع: 1000 حرف
  • تداخل المقاطع: 200 حرف
  • عتبة التشابه: 0.3

الاستشهادات ووضع المستند الكامل

تحمل المقاطع المسترجعة بيانات مصدرها: اسم الملف المصدر، وفهرس المقطع، ودرجة الاسترجاع، وللتنسيقات ذات خريطة المقاطع الصفحة أو الشريحة أو الورقة أو قسم Markdown الذي جاء منه المقطع. ويسمّي سياق المحادثة موقع كل مقطع، بينما يسرد شريط المصادر في المحادثة المواقع المستشهد بها تحت كل مستند.

يمكن لكل محادثة أيضًا الانتقال إلى وضع المستند الكامل من شريط المصادر. وبدلًا من المقاطع المسترجعة، يُرسل المحتوى المستخرج كاملًا من كل مستند في النطاق مع الرسالة. ويحمي حد للرموز (FULL_DOCUMENT_CONTEXT_MAX_TOKENS، وقيمته الافتراضية 32000) نافذة سياق النموذج؛ فإذا تجاوزته المستندات المرفقة، تعود المحادثة إلى الاسترجاع ويوضح شريط المصادر السبب.

الرفع والبحث

  1. ارفع ملفًا مدعومًا من عناصر التحكم في المستندات.
  2. انتظر حتى تكتمل معالجته.
  3. اطرح سؤالًا في المحادثة.
  4. يسترجع Libre WebUI المقاطع الملائمة لتلك الجلسة ويضمّنها في السياق.

أمثلة على المطالبات:

Summarize the uploaded document in five bullets.
What deadlines are mentioned in the PDF?
Find the section that talks about pricing.
Compare the uploaded policy with this proposed change.

نقاط نهاية API

نقطة النهايةالغرض
POST /api/documents/uploadرفع مستند مدعوم
GET /api/documentsسرد المستندات المرفوعة
GET /api/documents/session/:sessionIdسرد مستندات جلسة محادثة
POST /api/documents/searchالبحث في المستندات
DELETE /api/documents/:documentIdحذف مستند
GET /api/documents/embeddings/statusعرض حالة التضمينات
POST /api/documents/embeddings/regenerateإعادة إنشاء التضمينات

أفضل الممارسات

  • اجعل الملفات المرفوعة مركزة على المهمة الحالية.
  • فضّل ملفات PDF النصية؛ تعمل النسخ الممسوحة عبر نموذج الرؤية، لكنها تكلف استدعاءً للنموذج لكل صفحة.
  • أعد إنشاء التضمينات بعد تغيير نموذج التضمين.
  • اخفض عتبة التشابه إذا أغفل البحث الدلالي سياقًا مفيدًا.
  • ارفع العتبة إذا بدت النتائج مشوشة.

وثائق ذات صلة