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

يُعاني مطورو أنظمة استرجاع المعلومات القائمة على الوكلاء (RAG) من تحديات كبيرة، تتمثل في صعوبة بناء أنظمة فعّالة تجنب الهلوسة وتقدم إجابات دقيقة ومُناسبة. غالبًا ما تُعيد هذه الأنظمة أجزاءً غير ذات صلة من النصوص، دون الإجابة على السؤال بدقة. يُقدم إطار عمل إيليسيا (Elysia) حلاً مبتكرًا لهذه المشكلة.

ما هي المشكلة في معظم أنظمة استرجاع المعلومات القائمة على الوكلاء؟

تفتقر أنظمة RAG التقليدية إلى الفهم السياقي، حيث تعتمد على تحويل الأسئلة إلى متجهات للبحث عن نصوص “متشابهة”، على أمل الحصول على إجابة صحيحة. يُشبه هذا البحث عن مطعم جيد وأنت مُغطّى العينين – قد يحالفك الحظ، ولكن ليس بالضرورة. كما تُضيف معظم الأنظمة العديد من الأدوات إلى نظام الذكاء الاصطناعي في آن واحد، مما يُشبه إعطاء طفل صغير صندوق أدوات كامل وطلبه بناء رف كتب.

ركائز إيليسيا الثلاث:

1. أشجار القرار:

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

2. عرض ذكي لمصادر البيانات:

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

3. خبرة البيانات:

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

  • أنواع الحقول الموجودة.
  • نطاقات البيانات.
  • العلاقات بين أجزاء البيانات المختلفة.
  • ما هو منطقي للبحث عنه.

كيفية عمل إيليسيا:

التعلم من الملاحظات:

يتذكر إيليسيا عندما يقول المستخدمون “نعم، هذا مفيد” ويستخدم هذه الأمثلة لتحسين الاستجابات المستقبلية. لكن هذا يتم بذكاء – لا تؤثر ملاحظاتك على نتائج الآخرين، وتساعد النظام على التحسن في الإجابة على أنواع أسئلتك المحددة. هذا يعني أنه يمكنك استخدام نماذج أصغر وأرخص لا تزال تُقدم نتائج جيدة لأنها تتعلم من حالات النجاح الفعلية.

تقسيم النصوص بشكل منطقي:

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

توجيه النماذج:

تحتاج المهام المختلفة إلى نماذج مختلفة. لا تحتاج الأسئلة البسيطة إلى GPT-4، والتحليل المعقد لا يعمل بشكل جيد مع النماذج الصغيرة. يُوجّه إيليسيا المهام تلقائيًا إلى النموذج المناسب بناءً على التعقيد، مما يُوفر المال ويُحسّن السرعة.

البدء مع إيليسيا:

التثبيت بسيط للغاية:

pip install elysia-ai
elysia start

هذا كل ما في الأمر. ستحصل على واجهة ويب وإطار عمل بايثون. للمطورين الذين يرغبون في التخصيص:

from elysia import tool, Tree
tree = Tree()
@tool(tree=tree)
async def add(x: int, y: int) -> int:
  return x + y
tree("What is the sum of 9009 and 6006?")

إذا كانت لديك بيانات Weaviate، فالأمر أسهل:

import elysia
tree = elysia.Tree()
response, objects = tree(
    "What are the 10 most expensive items in the Ecommerce collection?",
    collection_names=["Ecommerce"]
)

مثال واقعي: روبوت الدردشة الخاص بـ Glowe

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

الخلاصة:

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

المصدر: MarkTechPost