لماذا يواجه مساعد المنتدى الخاص بالذكاء الاصطناعي صعوبة في الإجابة على الأسئلة؟

أحد المفاهيم الخاطئة التي لدى الكثير منا حول الذكاء الاصطناعي هو أن توقعاتنا هي:

graph TD
    Question -->|"Expensive AI Magic"| Answer
    Answer["The perfect answer"]

قد يكون الأمر محبطًا للغاية إنفاق الكثير من المال على نموذج رائد ولا تزال تحصل على نتائج دون المستوى.

في هذا الموضوع، أود أن أقضي بعض الوقت في تعديل التوقعات والإشارة إلى الميزات المختلفة التي يقدمها Discourse AI للحصول على إجابات أفضل.

كيف يعمل Discourse AI بالفعل

الواقع أكثر دقة. عندما تطرح سؤالاً، هذا ما يحدث:

graph TD
    Question --> Consolidation[Question Consolidation]
    Consolidation --> RAG[RAG System]
    RAG --> ToolSelection[Tool Selection]
    ToolSelection --> Search[Search]
    ToolSelection --> Categories[Categories]
    ToolSelection --> Tags[Tags]
    Search --> Context[Gather Context]
    Categories --> Context
    Tags --> Context
    Context --> Answer[Generate Answer]
  1. يتم أولاً تجميع سؤالك وفهمه.
  2. يبحث نظام RAG الخاص بنا في المعرفة المتاحة (اختياري).
  3. بناءً على ما يجده، يقرر الأدوات التي سيستخدمها (اختياري).
  4. تجمع الأدوات معلومات محددة.
  5. يتم تجميع كل شيء لإنشاء إجابة.

السياق هو كل شيء

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

نماذج اللغة الكبيرة (LLMs) مثل GPT-4 أو Claude 3.5 Sonnet مدربة على كمية هائلة من البيانات العامة. ومع ذلك، هناك محاذيران يجعلانها أقل مثالية للإجابة على الأسئلة الخاصة بالمجال:

  1. نماذج LLMs مدربة على بيانات عامة.
  2. نماذج LLMs لديها تاريخ تدريب محدد، مما يعني أن البيانات العامة التي يبلغ عمرها بضعة أشهر فقط من المحتمل أن تكون مفقودة من مجموعة البيانات.

في حالة المنتدى المغلق، لن يكون هناك شيء في مجموعة البيانات مما يجعل السياق أكثر أهمية.

السياق هو المعلومات التي نقدمها لنموذج LLM قبل أن يجيب على سؤال لمساعدته في الإجابة عليه بشكل صحيح.

كيف تحصل على السياق؟

يمكن توفير السياق بعدة طرق:

  • تلقائيًا باستخدام RAG (استرجاع معزز بالتوليد) - عندما تقوم بتحميل مستندات إلى شخصية، يمكننا البحث في المستند عن إجابات قبل الرد. نقوم أولاً بتجميع سؤالك ثم نبحث في المحتوى باستخدام البحث الدلالي. هذا يساعد في توجيه الأدوات التي سيتم استخدامها.
  • تلقائيًا باستخدام الأدوات - يمكن لنماذج LLMs استخدام الأدوات (مثل البحث أو قراءة المواضيع) للعثور على معلومات إضافية بناءً على توجيهات RAG.
  • يدويًا - قد تقوم بلصق كمية كبيرة من النص ثم طرح أسئلة على نموذج LLM حولها.

السياق المستند إلى الأدوات

يستخدم مساعد منتدى Discourse أدوات للبحث وقراءة المواضيع والمنشورات وتصنيف الفئات أو العلامات.

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

في هذا المثال، يمكنك أن ترى أنني سألت مساعد المنتدى عما كنت أقوم به، وبدوره قرر البحث عن محتوى من Sam تم نشره في الأسبوع الماضي وحصل على 21 نتيجة.

لفهم السياق الجديد الذي حصل عليه النموذج من هذا البحث، يمكنك تمكين الإعداد: AI bot debugging allowed groups

سيضيف زر تصحيح الأخطاء في أسفل كل منشور، وعند النقر عليه، يمكنه إظهار السياق الدقيق الذي تم تقديمه لنموذج LLM.

أداة البحث في Discourse غنية جدًا بالخيارات:

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

ماذا أفعل إذا لم أحصل على النتائج المتوقعة؟

نظرًا لأن السياق هو كل شيء، فإن أول شيء يجب تأكيده هو:

  1. هل وجد نظام RAG محتوى ذا صلة لتوجيه الأدوات؟
  2. هل استخدم نموذج LLM الأدوات الصحيحة بناءً على هذا التوجيه؟
  3. هل وجدت الأدوات النتائج المتوقعة؟

على سبيل المثال، خذ هذا الفشل:

هذا فشل كلاسيكي في كل من توجيه RAG واستخدام الأدوات.

بحث نموذج LLM عن:

bug critical urgent broken order:latest status:open status:public

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

ما قد ينتج عنه نتيجة أفضل هو:

ابحث عن جميع الأخطاء المفتوحة مرتبة حسب op_likes والتي تم الإبلاغ عنها في الأسبوعين الماضيين. ومع ذلك، فإن هذه المجموعة الفرعية من المعلومات غير متاحة لوظيفة البحث كما هي، وستتطلب أداة مخصصة.

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

ماذا أفعل بحالات الفشل؟

عندما يكون لديك تفاعل فاشل، لديك بعض الخيارات:

  1. يمكنك تحسين موجه النظام لتلميح الروبوت بشكل أفضل.
  2. يمكنك توثيق المعلومات على المنتدى لمنح الروبوت نتائج بحث أفضل - يمكنك إعطاء الأولوية لفئة وثائقك بحيث يكون من المرجح أن يجدها.
  3. يمكنك تحميل مستند يحتوي على مزيد من السياق، وسنقوم بتقسيم المستند إلى أجزاء وتزويد الأجزاء الأقرب بالسؤال المجمع للمساعدة في تأريض الروبوت.
  4. إذا كانت شخصيتك تدور بشكل أساسي حول البحث، ففرض استخدام أداة البحث.
  5. يمكنك تطوير أدوات مخصصة لتلبية احتياجاتك بشكل أفضل.
  6. يمكنك زيادة كمية السياق التي تقدمها لنموذج LLM (المزيد من نتائج البحث، إلخ).

يمكن أن يكون الذكاء الاصطناعي غامضًا، وحل مشكلة واحدة يمكن أن يخلق مشكلة أخرى

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

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

المفتاح هو فهم أن الحصول على نتائج أفضل هو عملية تكرارية.

17 إعجابًا