؟ الجيل المعزز للاسترجاع الرائع (RAG)
يحتوي هذا المستودع على قائمة رائعة منسقة ومعلومات عامة عن تطبيقات الجيل المعزز للاسترجاع (RAG) في الذكاء الاصطناعي التوليدي.
يعد الاسترجاع المعزز (RAG) أحد تقنيات الذكاء الاصطناعي التوليدي حيث يتم استرجاع سياق إضافي من مصادر خارجية لإثراء العملية التوليدية لنماذج اللغات الكبيرة (LLMs). يسمح هذا النهج لـ LLMs بدمج معلومات محدثة أو محددة أو حساسة قد يفتقرون إليها من بيانات ما قبل التدريب الخاصة بهم وحدها.
محتوى
- معلومات عامة عن RAG
- النهج
- ؟ الأطر التي تسهل RAG
- تقنيات
- المقاييس
- ؟ قواعد البيانات
معلومات عامة عن RAG
في مناهج RAG التقليدية، يتم استخدام إطار أساسي لاسترداد المستندات التي تثري سياق موجه LLM. على سبيل المثال، عند الاستعلام عن المواد اللازمة لتجديد المنزل، قد يمتلك LLM معرفة عامة حول التجديد ولكنه يفتقر إلى تفاصيل محددة حول منزل معين. يسمح تنفيذ بنية RAG بالبحث السريع واسترجاع المستندات ذات الصلة، مثل المخططات، لتقديم استجابات أكثر تخصيصًا. وهذا يضمن أن LLM يتضمن معلومات محددة لاحتياجات التجديد، وبالتالي تعزيز دقة استجاباتها.
يتبع تنفيذ RAG النموذجي الخطوات الأساسية التالية:
- تقسيم قاعدة المعرفة: قم بتقسيم مجموعة المستندات إلى أجزاء أصغر يمكن التحكم فيها.
- إنشاء عمليات التضمين: قم بتطبيق نموذج التضمين لتحويل أجزاء النص هذه إلى عمليات تضمين متجهة، مع التقاط معناها الدلالي.
- التخزين في قاعدة بيانات متجهة: احفظ التضمينات في قاعدة بيانات متجهة، مما يتيح استرجاعها بسرعة بناءً على التشابه الدلالي.
- التعامل مع استعلامات المستخدم: قم بتحويل استعلام المستخدم إلى تضمين باستخدام نفس النموذج الذي تم تطبيقه على أجزاء النص.
- استرداد البيانات ذات الصلة: ابحث في قاعدة بيانات المتجهات عن عمليات التضمين التي تتطابق بشكل وثيق مع تضمين الاستعلام بناءً على التشابه الدلالي.
- تعزيز الموجه: قم بدمج الأجزاء النصية الأكثر صلة في موجه LLM لتوفير سياق قيم لتوليد الاستجابة.
- إنشاء رد: يستفيد LLM من المطالبة المعززة لتقديم استجابة دقيقة ومصممة خصيصًا لاستعلام المستخدم.
النهج
تختلف تطبيقات RAG من حيث التعقيد، بدءًا من استرجاع المستندات البسيط وحتى التقنيات المتقدمة التي تدمج حلقات التغذية الراجعة التكرارية والتحسينات الخاصة بالمجال. قد تشمل الأساليب ما يلي:
- RAG التصحيحية (CRAG): طرق تصحيح أو تحسين المعلومات المستردة قبل التكامل في استجابات LLM.
- الضبط الدقيق للاسترجاع (RAFT): تقنيات لضبط LLMs خصيصًا لتحسين مهام الاسترجاع والتوليد.
- RAG الانعكاسي الذاتي: النماذج التي تقوم بضبط استراتيجيات الاسترجاع ديناميكيًا بناءً على تعليقات أداء النموذج.
- RAG Fusion: تقنيات تجمع بين طرق استرجاع متعددة لتحسين تكامل السياق.
- الاسترجاع المعزز الزمني (TAR): مراعاة البيانات الحساسة للوقت في عمليات الاسترجاع.
- Plan-then-RAG (PlanRAG): الاستراتيجيات التي تتضمن مراحل التخطيط قبل تنفيذ RAG للمهام المعقدة.
- GraphRAG: نهج منظم يستخدم الرسوم البيانية المعرفية لتعزيز تكامل السياق والتفكير.
- FLARE - نهج يتضمن توليد الاسترجاع النشط المعزز لتحسين جودة الاستجابة.
- الاسترجاع السياقي - يعمل على تحسين الاسترجاع عن طريق إضافة السياق ذي الصلة إلى أجزاء الوثيقة قبل الاسترجاع، مما يعزز أهمية المعلومات المستردة من قواعد المعرفة الكبيرة.
؟ الأطر التي تسهل RAG
- Haystack - إطار عمل تنسيق LLM لإنشاء تطبيقات LLM قابلة للتخصيص وجاهزة للإنتاج.
- LangChain - إطار عمل متعدد الأغراض للعمل مع LLMs.
- Semantic Kernel - SDK من Microsoft لتطوير تطبيقات الذكاء الاصطناعي التوليدية.
- LlamaIndex - إطار عمل لتوصيل مصادر البيانات المخصصة بـ LLMs.
- Cognita - إطار عمل RAG مفتوح المصدر لبناء تطبيقات معيارية وجاهزة للإنتاج.
- Verba - تطبيق مفتوح المصدر لـ RAG خارج الصندوق.
- Mastra - إطار عمل Typescript لبناء تطبيقات الذكاء الاصطناعي.
تقنيات
تنظيف البيانات
- تقنيات تنظيف البيانات: خطوات المعالجة المسبقة لتحسين البيانات المدخلة وتحسين أداء النموذج.
مطالبة
- الاستراتيجيات
- وضع العلامات ووضع العلامات: إضافة علامات أو تسميات دلالية إلى البيانات المستردة لتعزيز ملاءمتها.
- السبب والإجراء (ReAct) (ReAct): تكامل قدرات التفكير لتوجيه استجابات LLM بناءً على السياق المسترجع.
- سلسلة الفكر (CoT): تشجيع النموذج على التفكير في المشكلات خطوة بخطوة قبل تقديم الإجابة.
- سلسلة التحقق (CoVe): مطالبة النموذج بالتحقق من كل خطوة من خطوات تفكيره للتأكد من دقتها.
- الاتساق الذاتي: إنشاء مسارات تفكير متعددة واختيار الإجابة الأكثر اتساقًا.
- مطالبة Zero-Shot: تصميم المطالبات التي توجه النموذج دون أي أمثلة.
- مطالبة قليلة الطلقات: تقديم بعض الأمثلة في الموجه لتوضيح تنسيق الاستجابة المطلوب.
- التخزين المؤقت
- التخزين المؤقت الفوري: يعمل على تحسين LLMs عن طريق تخزين حالات الاهتمام المحسوبة مسبقًا وإعادة استخدامها.
التقطيع
- قطع ذات حجم ثابت
- تقسيم النص إلى أجزاء ذات حجم متناسق للمعالجة الفعالة.
- يقسم النصوص إلى أجزاء بناءً على الحجم والتداخل.
- مثال: التقسيم حسب الحرف (LangChain).
- مثال: SentenceSplitter (LlamaIndex).
- التقطيع العودي
- التجزئة الهرمية باستخدام الخوارزميات العودية لهياكل المستندات المعقدة.
- مثال: التقسيم بشكل متكرر حسب الحرف (LangChain).
- التقطيع المستند إلى المستندات
- تجزئة المستندات بناءً على بيانات التعريف أو إشارات التنسيق للتحليل المستهدف.
- مثال: MarkdownHeaderTextSplitter (LangChain).
- مثال: التعامل مع تضمينات الصور والنصوص باستخدام نماذج مثل OpenCLIP.
- التقطيع الدلالي
- استخراج أقسام ذات معنى بناءً على الأهمية الدلالية بدلاً من الحدود التعسفية.
- تقطيع وكيل
- طرق التقطيع التفاعلية حيث تقوم LLMs بتوجيه التجزئة.
التضمين
- حدد نموذج التضمين
- لوحة المتصدرين لـ MTEB : استكشف معيار Hugging Face لتقييم تضمينات النماذج.
- عمليات التضمين المخصصة : قم بتطوير عمليات التضمين المخصصة لمجالات أو مهام محددة لتحسين أداء النموذج. يمكن للتضمينات المخصصة التقاط المصطلحات والفروق الدقيقة الخاصة بالمجال. تتضمن التقنيات الضبط الدقيق للنماذج المدربة مسبقًا على مجموعة البيانات الخاصة بك أو تدريبات التضمين من البداية باستخدام أطر عمل مثل TensorFlow أو PyTorch.
استرجاع
- طرق البحث
- مؤشر متجر المتجهات المسطح
- شكل بسيط وفعال من الاسترجاع.
- يتم توجيه المحتوى وتخزينه كمتجهات محتوى مسطحة.
- استرجاع الفهرس الهرمي
- بيانات ضيقة بشكل هرمي إلى مستويات مختلفة.
- ينفذ عمليات الاسترداد بترتيب هرمي.
- أسئلة افتراضية
- يستخدم لزيادة التشابه بين أجزاء قاعدة البيانات والاستعلامات (نفس الشيء مع HyDE).
- يتم استخدام LLM لإنشاء أسئلة محددة لكل مقطع نصي.
- يحول هذه الأسئلة إلى تضمينات متجهة.
- أثناء البحث، يتم مطابقة الاستعلامات مع فهرس متجهات الأسئلة هذا.
- تضمينات المستندات الافتراضية (HyDE)
- يستخدم لزيادة التشابه بين أجزاء قاعدة البيانات والاستعلامات (نفس الشيء مع الأسئلة الافتراضية).
- يتم استخدام LLM لإنشاء استجابة افتراضية بناءً على الاستعلام.
- يحول هذه الاستجابة إلى تضمين متجه.
- يقارن متجه الاستعلام مع متجه الاستجابة الافتراضية.
- صغيرة إلى استرجاع كبيرة
- يعمل على تحسين عملية الاسترجاع باستخدام أجزاء أصغر للبحث وأجزاء أكبر للسياق.
- تشير القطع الفرعية الأصغر إلى القطع الأصلية الأكبر
- إعادة الترتيب : يعمل على تحسين نتائج البحث في مسارات RAG من خلال إعادة ترتيب المستندات التي تم استردادها في البداية، مع إعطاء الأولوية لتلك الأكثر صلة لغويًا بالاستعلام.
المقاييس
مقاييس البحث
تُستخدم هذه المقاييس لقياس التشابه بين عمليات التضمين، وهو أمر بالغ الأهمية لتقييم مدى فعالية أنظمة RAG في استرداد ودمج المستندات الخارجية أو مصادر البيانات. من خلال تحديد مقاييس التشابه المناسبة، يمكنك تحسين أداء ودقة نظام RAG الخاص بك. وبدلاً من ذلك، يمكنك تطوير مقاييس مخصصة مصممة خصيصًا لمجالك أو مكانتك المحددة لالتقاط الفروق الدقيقة الخاصة بالمجال وتحسين مدى ملاءمته.
تشابه جيب التمام
- يقيس جيب التمام للزاوية بين متجهين في مساحة متعددة الأبعاد.
- فعالة للغاية لمقارنة تضمينات النص حيث يمثل اتجاه المتجهات المعلومات الدلالية.
- يُستخدم بشكل شائع في أنظمة RAG لقياس التشابه الدلالي بين عمليات تضمين الاستعلام وعمليات تضمين المستندات.
منتج دوت
- يحسب مجموع منتجات الإدخالات المقابلة لتسلسلين من الأرقام.
- أي ما يعادل تشابه جيب التمام عندما يتم تطبيع المتجهات.
- بسيطة وفعالة، وغالبًا ما تستخدم مع تسريع الأجهزة لإجراء العمليات الحسابية واسعة النطاق.
المسافة الإقليدية
- حساب مسافة الخط المستقيم بين نقطتين في الفضاء الإقليدي.
- يمكن استخدامه مع التضمينات ولكنه قد يفقد فعاليته في المساحات عالية الأبعاد بسبب "لعنة الأبعاد".
- غالبًا ما يستخدم في خوارزميات التجميع مثل وسائل K بعد تقليل الأبعاد.
تشابه جاكارد
- يقيس التشابه بين مجموعتين محدودتين حيث أن حجم التقاطع مقسوم على حجم اتحاد المجموعتين.
- مفيد عند مقارنة مجموعات من الرموز المميزة، كما هو الحال في نماذج حقيبة الكلمات أو مقارنات n-gram.
- أقل قابلية للتطبيق على عمليات التضمين المستمرة التي تنتجها LLMs.
ملاحظة: يُنظر إلى تشابه جيب التمام والمنتج النقطي بشكل عام على أنهما المقاييس الأكثر فعالية لقياس التشابه بين التضمينات عالية الأبعاد.
مقاييس تقييم الاستجابة
تقوم هذه المقاييس بتقييم جودة وملاءمة الإجابات التي تم إنشاؤها من نظام RAG الخاص بك، وتقييم مدى دقتها وملاءمتها للسياق وموثوقيتها. ومن خلال تطبيق مقاييس التقييم هذه، يمكنك الحصول على رؤى حول أداء نظامك وتحديد مجالات التحسين.
- قياس الأداء الآلي
- البشر كقضاة
- نماذج كقضاة
أدوات
يمكن أن تساعد هذه الأدوات في تقييم أداء نظام RAG الخاص بك، بدءًا من تتبع تعليقات المستخدمين وحتى تسجيل تفاعلات الاستعلام ومقارنة مقاييس التقييم المتعددة بمرور الوقت.
- LangFuse : أداة مفتوحة المصدر لتتبع مقاييس LLM وإمكانية الملاحظة والإدارة السريعة.
- Ragas : الإطار الذي يساعد في تقييم خطوط أنابيب RAG.
- LangSmith : منصة لبناء تطبيقات LLM على مستوى الإنتاج، تسمح لك بمراقبة وتقييم طلبك عن كثب.
- تقييم الوجه المعانق : أداة لمقاييس الحوسبة مثل BLEU وROUGE لتقييم جودة النص.
- الأوزان والتحيزات : يتتبع التجارب ويسجل المقاييس ويتصور الأداء.
؟ قواعد البيانات
تحتوي القائمة أدناه على العديد من أنظمة قواعد البيانات المناسبة لتطبيقات الجيل المعزز للاسترجاع (RAG). وهي تغطي نطاقًا واسعًا من حالات استخدام RAG، مما يساعد في تخزين واسترجاع المتجهات بكفاءة لإنشاء استجابات أو توصيات.
المعايير
- اختيار قاعدة بيانات المتجهات
معالجة البيانات الموزعة ومحركات الخدمة:
- أباتشي كاساندرا: نظام إدارة قاعدة بيانات NoSQL الموزعة.
- MongoDB Atlas: خدمة قاعدة بيانات متعددة النماذج وموزعة عالميًا مع بحث متكامل عن المتجهات.
- Vespa: محرك مفتوح المصدر لمعالجة البيانات الكبيرة وتقديمها مصمم للتطبيقات في الوقت الفعلي.
محركات البحث ذات قدرات المتجهات:
- Elasticsearch: يوفر إمكانات بحث متجهة إلى جانب وظائف البحث التقليدية.
- OpenSearch: محرك البحث والتحليلات الموزع، المتشعب من Elasticsearch.
قواعد بيانات المتجهات:
- Chroma DB: قاعدة بيانات تضمين مفتوحة المصدر تعتمد على الذكاء الاصطناعي.
- Milvus: قاعدة بيانات متجهة مفتوحة المصدر للتطبيقات التي تعمل بالذكاء الاصطناعي.
- Pinecone: قاعدة بيانات متجهة بدون خادم، مُحسّنة لسير عمل التعلم الآلي.
- Oracle AI Vector Search: يدمج إمكانات البحث المتجه داخل Oracle Database للاستعلام الدلالي استنادًا إلى تضمينات المتجهات.
ملحقات قاعدة البيانات العلائقية:
- Pgvector: امتداد مفتوح المصدر للبحث عن تشابه المتجهات في PostgreSQL.
أنظمة قواعد البيانات الأخرى:
- Azure Cosmos DB: خدمة قاعدة بيانات متعددة النماذج وموزعة عالميًا مع بحث متكامل عن المتجهات.
- Couchbase: قاعدة بيانات سحابية NoSQL موزعة.
- Lantern: محرك بحث شخصي يراعي الخصوصية.
- LlamaIndex: يستخدم مخزنًا مباشرًا للناقلات في الذاكرة لإجراء التجارب السريعة.
- Neo4j: نظام إدارة قاعدة بيانات الرسم البياني.
- Qdrant: قاعدة بيانات متجهة مفتوحة المصدر مصممة للبحث عن التشابه.
- Redis Stack: مخزن بنية بيانات في الذاكرة يُستخدم كقاعدة بيانات وذاكرة تخزين مؤقت ووسيط رسائل.
- SurrealDB: قاعدة بيانات متعددة النماذج قابلة للتطوير ومُحسّنة لبيانات السلاسل الزمنية.
- Weaviate: محرك بحث سحابي أصلي مفتوح المصدر.
مكتبات وأدوات بحث المتجهات:
- FAISS: مكتبة للبحث الفعال عن التشابه وتجميع المتجهات الكثيفة، مصممة للتعامل مع مجموعات البيانات واسعة النطاق ومُحسّنة للاسترجاع السريع لأقرب الجيران.