🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
  • Home
  • Blog
  • تصميم نظام RAG متعدد الإيجارات باستخدام Milvus: أفضل الممارسات لقواعد المعرفة المؤسسية القابلة للتطوير

تصميم نظام RAG متعدد الإيجارات باستخدام Milvus: أفضل الممارسات لقواعد المعرفة المؤسسية القابلة للتطوير

  • Engineering
December 04, 2024
Robert Guo

مقدمة

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

Milvus هي قاعدة بيانات متجهة مفتوحة المصدر مصممة للتعامل مع البيانات المتجهة عالية الأبعاد. وهي عنصر بنية تحتية لا غنى عنه في RAG، حيث تقوم بتخزين واسترجاع المعلومات السياقية لـ LLMs من مصادر خارجية. تقدم Milvus استراتيجيات مرنة متعددة الإيجار لمختلف الاحتياجات، بما في ذلك الإيجار المتعدد على مستوى قاعدة البيانات، وعلى مستوى المجموعة، وعلى مستوى الأقسام.

في هذا المنشور، سنقوم بتغطية:

  • ما هو الإيجار المتعدد ولماذا هو مهم

  • استراتيجيات تعدد الإيجارات في ميلفوس

  • مثال: استراتيجية تعدد الإيجارات لقاعدة معرفية مؤسسية مدعومة من RAG

ما هي الإيجارات المتعددة ولماذا هي مهمة؟

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

تخيل منصة SaaS توفر حلولاً قائمة على المعرفة لشركات متعددة. كل شركة هي مستأجر.

  • المستأجر (أ) هو مؤسسة رعاية صحية تقوم بتخزين الأسئلة الشائعة الموجهة للمرضى ووثائق الامتثال.

  • المستأجر (ب) هو شركة تقنية تدير سير العمل الداخلي لاستكشاف الأخطاء وإصلاحها في مجال تكنولوجيا المعلومات.

  • المستأجر (ج) شركة بيع بالتجزئة مع الأسئلة الشائعة لخدمة العملاء لإرجاع المنتجات.

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

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

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

استراتيجيات تعدد الإيجارات في ميلفوس

لفهم كيفية دعم Milvus للإيجارات المتعددة، من المهم أن ننظر أولاً إلى كيفية تنظيم بيانات المستخدم.

كيف ينظم ميلفوس بيانات المستخدم

ينظّم ميلفوس البيانات عبر ثلاث طبقات، حيث ينتقل من المستوى الواسع إلى المستوى الحبيبي: قاعدة البيانات، والمجموعة، ومفتاح التقسيم/التقسيم.

Figure- How Milvus organizes user data .png الشكل- كيفية تنظيم ملفوس لبيانات المستخدم .png

الشكل: كيف ينظم ملفوس بيانات المستخدم

  • قاعدة البيانات: تعمل كحاوية منطقية، تشبه قاعدة البيانات في الأنظمة العلائقية التقليدية.

  • المجموعة: يمكن مقارنتها بجدول داخل قاعدة البيانات، حيث تقوم المجموعة بتنظيم البيانات في مجموعات يمكن إدارتها.

  • مفتاح التقسيم/مفتاح التقسيم: داخل المجموعة، يمكن تقسيم البيانات داخل المجموعة إلى أقسام. باستخدام مفتاح التقسيم، يتم تجميع البيانات التي لها نفس المفتاح معًا. على سبيل المثال، إذا كنت تستخدم معرّف مستخدم كمفتاح التقسيم، فسيتم تخزين جميع البيانات لمستخدم معين في نفس المقطع المنطقي. هذا يجعل من السهل استرداد البيانات المرتبطة بمستخدمين فرديين.

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

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

يدعم Milvus استراتيجيات متعددة لتنفيذ التآخي المتعدد، مما يوفر المرونة بناءً على احتياجات التطبيق الخاص بك: التآخي المتعدد على مستوى قاعدة البيانات ومستوى التجميع والتآخي المتعدد على مستوى الأقسام.

الإيجار المتعدد على مستوى قاعدة البيانات

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

الاستئجار المتعدد على مستوى المجموعة

هنا، في الإيجار المتعدد على مستوى المجموعة، يمكننا تنظيم البيانات للمستأجرين بطريقتين.

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

  • مجموعة واحدة لكل مستأجر: يمكن أن يكون لكل مستأجر مجموعة مخصصة، مما يحسن العزل والأداء ولكنه يتطلب المزيد من الموارد. قد يواجه هذا الإعداد قيودًا على قابلية التوسع إذا تجاوز عدد المستأجرين سعة مجموعة Milvus.

الاستئجار المتعدد على مستوى القسم

يركز الإيجار المتعدد على مستوى التقسيم على تنظيم المستأجرين داخل مجموعة واحدة. هنا، لدينا أيضًا طريقتان لتنظيم بيانات المستأجرين.

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

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

يلخص الجدول أدناه الاختلافات الرئيسية بين طرق الإيجار المتعدد الرئيسية.

الحبيبيةمستوى قاعدة البياناتمستوى المجموعةمستوى مفتاح التقسيم
الحد الأقصى للمستأجرين المدعومين~1,000~10,000~10,000,000
مرونة تنظيم البياناتعالية: يمكن للمستخدمين تحديد مجموعات متعددة بمخططات مخصصة.متوسطة: يقتصر المستخدمون على مجموعة واحدة بمخطط مخصص.منخفضة: يشترك جميع المستخدمين في مجموعة، مما يتطلب مخططًا متسقًا.
التكلفة لكل مستخدمعاليةمتوسطةمنخفضة
عزل الموارد الماديةنعمنعملا يوجد
نظام RBACنعمنعملا يوجد
أداء البحثقويمتوسطقوي

مثال: استراتيجية تعدد الإيجارات لقاعدة معارف مؤسسية مدعومة بنظام RAG

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

فهم هيكل المستأجرين قبل اختيار استراتيجية الإيجارات المتعددة

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

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

تعزيز الأمان مع عزل الموارد المادية

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

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

Figure- How Milvus manages physical resources.png الشكل- كيف يدير ملفوس الموارد المادية.png

الشكل: كيف يدير ميلفوس الموارد المادية

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

  • عقدة الاستعلام: المكون الذي يعالج مهام الاستعلام. يعمل على جهاز فعلي أو حاوية فعلية (على سبيل المثال، جراب في Kubernetes).

  • مجموعة الموارد: مجموعة من عقد الاستعلام التي تعمل كجسر بين المكونات المنطقية (قواعد البيانات والمجموعات) والموارد المادية. يمكنك تخصيص قاعدة بيانات أو مجموعة واحدة أو أكثر لمجموعة موارد واحدة.

في المثال الموضح في الرسم البياني أعلاه، هناك ثلاث قواعد بيانات منطقية: X و Y و Z.

  • قاعدة البيانات X: تحتوي على المجموعة A.

  • قاعدة البيانات Y: تحتوي على المجموعتين B و C.قاعدة البيانات Y: تحتوي على المجموعتين B و C.

  • قاعدة البيانات Z: تحتوي على المجموعتين D وE.

لنفترض أن قاعدة البيانات X تحتوي على قاعدة بيانات X تحتوي على قاعدة معارف مهمة لا نريدها أن تتأثر بالتحميل من قاعدة البيانات Y أو قاعدة البيانات Z. لضمان عزل البيانات:

  • يتم تعيين مجموعة موارد خاصة بقاعدةالبيانات X لضمان عدم تأثر قاعدتها المعرفية الحرجة بأحمال العمل من قواعد البيانات الأخرى.

  • يتم أيضًا تخصيصالمجموعة E لمجموعة موارد منفصلة ضمن قاعدة البيانات الأم(Z) الخاصة بها. وهذا يوفر عزلاً على مستوى المجموعة لبيانات حرجة محددة داخل قاعدة البيانات المشتركة.

وفي الوقت نفسه، تشترك المجموعات المتبقية في قاعدتي البيانات Y و Z في الموارد المادية لمجموعة الموارد 2.

من خلال تعيين المكونات المنطقية للموارد المادية بعناية، يمكن للمؤسسات تحقيق بنية مرنة وقابلة للتطوير وآمنة متعددة الإيجارات مصممة خصيصاً لتلبية احتياجات العمل الخاصة بها.

تصميم الوصول على مستوى المستخدم النهائي

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

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

خذ مكتب خدمة الاستشارات الذكية في المستشفى كمثال. قد يطرح المرضى أسئلة مثل: "هل هناك أي مواعيد متاحة مع الأخصائي اليوم؟" أو "هل هناك أي تحضيرات محددة مطلوبة للجراحة القادمة؟ على الرغم من أن هذه الأسئلة لا تؤثر بشكل مباشر على قاعدة المعرفة، إلا أنه من المهم للمستشفى تتبع مثل هذه التفاعلات لتحسين الخدمات. وعادةً ما يتم تخزين أزواج الأسئلة والأجوبة هذه في قاعدة بيانات منفصلة (ليس بالضرورة أن تكون قاعدة بيانات متجهة) مخصصة لتسجيل التفاعلات.

Figure- The multi-tenancy architecture for an enterprise RAG knowledge base .png الشكل- بنية الإيجار المتعدد لقاعدة معارف RAG للمؤسسة .png

الشكل: البنية متعددة الإيجارات لقاعدة معرفية RAG للمؤسسة

يوضح الرسم البياني أعلاه بنية تعدد الإيجارات لنظام RAG المعرفي للمؤسسة.

  • يقوممسؤولو النظام بالإشراف على نظام RAG، وإدارة تخصيص الموارد، وتعيين قواعد البيانات، وتعيينها إلى مجموعات الموارد، وضمان قابلية التوسع. وهم يتعاملون مع البنية الأساسية المادية، كما هو موضح في الرسم البياني، حيث يتم تعيين كل مجموعة موارد (على سبيل المثال، مجموعة الموارد 1 و2 و3) إلى خوادم فعلية (عقد الاستعلام).

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

  • يتفاعلالمستخدمون النهائيون مع النظام بطريقة القراءة فقط من خلال LLM. وأثناء استفسارهم عن النظام، يتم تسجيل أسئلتهم في جدول سجل الأسئلة والأجوبة المنفصل (قاعدة بيانات منفصلة)، مما يغذي النظام بالبيانات القيمة باستمرار.

يضمن هذا التصميم أن كل طبقة عملية - من تفاعل المستخدم إلى إدارة النظام - تعمل بسلاسة، مما يساعد المؤسسة على بناء قاعدة معرفية قوية ومتطورة باستمرار.

الملخص

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

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

ترقبوا المزيد من الرؤى حول تعدد الإيجارات في RAG

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

قد تتساءل: إذا كنت أرغب في تقديم إجابات أكثر دقة بناءً على سجل استعلام كل مستخدم نهائي، ألا يحتاج ميلفوس إلى الاحتفاظ بسياق أسئلة وأجوبة مخصص لكل مستخدم؟

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

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

Like the article? Spread the word

استمر في القراءة