Discourse AI - مواضيع ذات صلة

:bookmark: يشرح هذا الدليل كيفية تمكين وتهيئة ميزة “المواضيع ذات الصلة” (Related topics) الخاصة بإضافة Discourse AI.

:person_raising_hand: مستوى المستخدم المطلوب: مسؤول (Administrator)

تساعد المواضيع ذات الصلة المستخدمين على اكتشاف المحتوى ذي الصلة من خلال اقتراح مواضيع مشابهة دلالياً للموضوع الذي يقرؤونه حاليًا. وهذا يعزز استكشاف المحتوى ويزيد من تفاعل المستخدمين.

الميزات

  • التشابه النصي الدلالي (Semantic textual similarity): يتجاوز مطابقة الكلمات الرئيسية للعثور على محتوى ذي صلة حقيقي
  • التبديل بين المواضيع “المقترحة” (Suggested) و “ذات الصلة” (Related)
  • متاح للمستخدمين المجهولين والمستخدمين المسجلين الدخول

تمكين المواضيع ذات الصلة

:information_source: يتم تشغيل المواضيع ذات الصلة افتراضيًا لجميع عملاء Discourse المستضافين مع تمكين إضافة Discourse AI

المتطلبات الأساسية

تتطلب المواضيع ذات الصلة التضمينات (Embeddings) لتعمل.

إذا كنت تستخدم الاستضافة لدينا، يتم توفير التضمينات باستخدام نموذج مفتوح المصدر. لا يلزم إعداد إضافي.

ستحتاج المثيلات المستضافة ذاتيًا إلى تكوين نموذج تضمين من خلال موفر مدعوم.

التهيئة

  1. انتقل إلى المسؤول (Admin) → الإضافات (Plugins) → Discourse AI → ميزات الذكاء الاصطناعي (AI Features)
  2. ابحث عن وحدة التضمينات (Embeddings) وقم بتهيئتها:
    • عيّن ai_embeddings_selected_model إلى تعريف التضمين الذي قمت بتهيئته
    • مكّن ai_embeddings_enabled لتنشيط التضمينات
  3. مكّن ai_embeddings_semantic_related_topics_enabled لتنشيط ميزة المواضيع ذات الصلة

إعداد نموذج تضمين

قبل تمكين التضمينات، تحتاج إلى تكوين نموذج تضمين. انتقل إلى المسؤول (Admin) → الإضافات (Plugins) → Discourse AI → التضمينات (Embeddings) لإنشاء تعريف تضمين جديد. يمكنك الاختيار من بين الإعدادات المسبقة التالية:

  • Open AI: text-embedding-3-small أو text-embedding-3-large (موصى به لمعظم المواقع)
  • Google: gemini-embedding-001
  • Hugging Face (الاستدلال المستضاف ذاتيًا): multilingual-e5-large (موصى به للمواقع غير الإنجليزية أو متعددة اللغات)، bge-large-en، أو bge-m3

ستحتاج إلى توفير مفتاح واجهة برمجة التطبيقات (API key) (أو ربط سر الذكاء الاصطناعي (AI Secret)) وعنوان URL لنقطة النهاية (endpoint URL) للموفر الذي اخترته.

إعدادات إضافية

تسمح لك الإعدادات التالية بضبط ميزة المواضيع ذات الصلة:

  • ai_embeddings_semantic_related_topics: الحد الأقصى لعدد المواضيع التي سيتم عرضها في قسم المواضيع ذات الصلة (الافتراضي: 5)
  • ai_embeddings_semantic_related_include_closed_topics: ما إذا كان سيتم تضمين المواضيع المغلقة في النتائج ذات الصلة (الافتراضي: true)
  • ai_embeddings_semantic_related_age_penalty: تطبيق عقوبة على المواضيع الأقدم لتفضيل المحتوى الأحدث (الافتراضي: 0.0، النطاق: 0.0–2.0)
  • ai_embeddings_semantic_related_age_time_scale: مقياس الوقت بالأيام لعقوبة العمر (الافتراضي: 365)

الأسئلة الشائعة التقنية

توسيع لعرض مخطط لبنية المواضيع ذات الصلة

الملخص هو أنه عند إنشاء موضوع أو تحديثه، يحدث ما يلي:

sequenceDiagram
    User->>Discourse: ينشئ موضوعًا
    Discourse-->>Embedding Microservice: يُنشئ تضمينات
    Embedding Microservice-->>Discourse: 
    Discourse-->>PostgreSQL: تخزين التضمينات

وأثناء زيارة الموضوع:

sequenceDiagram
    User->>Discourse: يزور موضوعًا
    Discourse-->>PostgreSQL: استعلام عن أقرب المواضيع
    PostgreSQL-->>Discourse: 
    Discourse->>User: يعرض المواضيع ذات الصلة

كيف تعمل المواضيع ذات الصلة؟

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

كيف تتم معالجة بيانات الموضوع/المنشور؟

  • بالنسبة للمواقع المستضافة على Discourse، تتم معالجة البيانات داخل مركز البيانات الافتراضي الخاص والآمن لدينا. بالنسبة للمواقع المستضافة ذاتيًا، تعتمد معالجة البيانات على موفر الطرف الثالث الذي اخترته.

أين يتم تخزين بيانات التضمينات؟

  • يتم تخزين بيانات التضمينات في قاعدة بيانات Discourse الخاصة بك، إلى جانب بيانات المنتدى الأخرى مثل المواضيع والمنشورات والمستخدمين.

ما هي نماذج التضمين المتاحة؟

  • يدعم Discourse AI نماذج من OpenAI (text-embedding-3-small، text-embedding-3-large)، و Google (gemini-embedding-001)، ونقاط نهاية متوافقة مع Hugging Face (bge-large-en، bge-m3، multilingual-e5-large)، و Cloudflare Workers AI. يمكنك أيضًا تكوين نماذج تضمين مخصصة من خلال واجهة مسؤول المستخدم.
14 إعجابًا

شيء يستحق المراقبة.

عند مراجعة العديد من المشاركات في المواضيع ذات الصلة لموقع إنجليزي (OpenAI)، بدأت ألاحظ أن المواضيع باللغة الإسبانية تميل إلى التجمع معًا وأشتبه في أنه إذا تمت ترجمتها أولاً إلى اللغة الإنجليزية، فإن كل مشاركة سيكون لها متجه مختلف وبالتالي سيتم تجميعها مع مشاركات أخرى. :slightly_smiling_face:



فائدة جانبية لهذه الميزة للمشرفين هي التحقق من أن فئات المواضيع المدرجة في المواضيع ذات الصلة صحيحة.

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

للعلم - تم ملاحظة فكرة ذات صلة في طلب الميزة هذا.



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

إعجابَين (2)

يتم التحكم في هذا السلوك بواسطة النموذج، ويبدو أنه مشكلة معروفة:

أعتقد أن نموذج المصدر المفتوح الذي نوصي به للمواقع متعددة اللغات يقوم بعمل أفضل في هذا، ولكن لا يزال يتعين علينا طرحه على المزيد من العملاء للتحقق من صحة ذلك.

إعجابَين (2)

لن يسمح لي بتمكين هذا الخيار:

هل هناك شيء مفقود هنا أم أن Gemini وحده لا يكفي؟

تحديث: قد تحتاج التعليمات ووصف الخطأ إلى التحديث لإضافة أنه يجب أيضًا تحديث نموذج التضمينات الذكاء الاصطناعي لمطابقة المزود وإلا لا يمكن تمكين ai_embeddings_enabled. الوصف للمعامل مفقود Gemini كخيار.

إعجاب واحد (1)

تم تقسيم 7 مشاركات إلى موضوع جديد: “أخطاء Net::HTTPBadResponse” في تضمينات Gemini

ماذا يجب أن أملأ هنا من فضلك:

أريد ملء ما سبق، لأنني أريد تمكين الخيار الأول من بين الخيارات الأربعة المعروضة أدناه:

إذا كنت تستخدم OpenAI، فلا شيء.

إعجاب واحد (1)

إذًا، هذا الخيار الأول (وحدة التضمين) يزعجني، ولا يسمح لي بتمكينه:

معظم هذه فارغة. ولكن ai embeddings discourse service api key هو مفتاح واجهة برمجة تطبيقات OpenAI الخاص بك و ai embeddings discourse service api endpoint هو https://api.openai.com/v1/embeddings. يجب أن يكون النموذج text-embedding-3-large (بالتأكيد، يمكن أن يكون small أيضًا ولكنه يواجه بعض المشكلات).

إعجاب واحد (1)

تم تقسيم 3 مشاركات إلى موضوع جديد: كيفية عرض كل من المواضيع المقترحة والمواضيع ذات الصلة

ما كانت نتائجك من مقارنة small و large؟ أعرف أن هناك فرقًا في الأبعاد يؤثر على دقة النموذج. إصدار small أرخص بـ 5 مرات. هل هو غير قابل للاستخدام حقًا في العالم الحقيقي لتشابه الموضوع؟ منتدانا 99٪ باللغة الإنجليزية.

سأكون مهتمًا جدًا بسماع المزيد. هل يمكنك من فضلك توضيح مكان all-mpnet-base-v2 مقارنة بنماذج OpenAI لموقع إنجليزي بحت؟

تعتبر التضمينات رخيصة جدًا لدرجة أن السعر لا يهم - إلا إذا كان هناك عدد لا يحصى من المنشورات حيث تكون تكلفة 0.01 سنت مهمة في التكاليف الإجمالية.

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

ربما يأتي هذا من نماذج OpenAI ولكن ليس لدي ما يكفي من المال لاستخدام تلك الحلول الأكثر احترافية.

إعجاب واحد (1)

لقد كنت أستخدم نموذج text-embedding-3-small قبل قراءة هذا. هل نموذج text-embedding-ada-002 أفضل بكثير؟

آدا هو الجيل السابق

إعجاب واحد (1)

تم تقسيم مشاركة إلى موضوع جديد: Related Topics not translated