لماذا تحدث التسريبات بعد التصفية؟
التصميم البديهي هو استرجاع أفضل k وثائق حسب درجة التشابه، ثم استبعاد تلك التي لا يستطيع السائل رؤيتها. وهذا التصميم خاطئ من ناحيتين، والثانية هي الأكثر خطورة.
- تتدهور أدائه بشكل كبير. فإذا تم استبعاد ثمانية من العشرة الأوائل، فإن النموذج يستمد إجاباته من الاثنين المتبقيين ويبدو واثقًا بنفس القدر.
- إنها تتسرب من خلال الإجابة حتى عندما يتجاهل النموذج الوثيقة. فالتصنيفات، والأعداد، والملخص الذي يقدمه النموذج نفسه لما كاد أن يقوله، كلها تنقل معلومات إلى الخارج. فعبارة «لقد عثرت على عدة وثائق تتعلق بصفقة الاستحواذ على شركة رحمان، لكن لا يمكنني عرضها» قد أبلغت القارئ بالفعل بوجود هذه الصفقة.
الاختبار الذي يكشف ذلك: قم بإجراء الاستعلام بصفة مستخدم لا يمتلك أي صلاحيات على الإطلاق. إذا اختلفت أي إجابة عما قد ينتجه مجموعة بيانات فارغة، فهذا يعني أن هناك تسربًا.
قم بالتصفية في وقت الاستعلام بدلاً من ذلك
يجب أن تكون مجموعة الأذونات جزءًا من الاستعلام، لذا فإن أي إدخال لا يستطيع السائل رؤيته لا يُعتبر أبدًا مرشحًا ولا يؤثر أبدًا على الترتيب.
- عند الاستيراد، قم بتخزين قائمة التحكم في الوصول الخاصة بالوثيقة جنبًا إلى جنب مع متجهها: معرّفات المجموعات، وليس معرّفات المستخدمين، وإلا فسوف تضطر إلى إعادة الفهرسة عند كل تغيير في طاقم العمل.
- عند إجراء الاستعلام، قم بتحديد معرّفات مجموعات السائلين مرة واحدة فقط، من مزود الهوية الخاص بك، وليس من أي عامل يمكن أن يؤثر عليه النموذج.
- قم بتمرير تلك المعرّفات كمرشح أولي ثابت إلى مخزن المتجهات، بحيث يتم تقييد نطاق البحث نفسه.
- استرجاع k من الفضاء المُصفَّى. ويتم الآن حساب الترتيب فقط بناءً على العناصر التي قد يراها صاحب السؤال.
كل مخزن «vector» جاد يدعم ما يلي: مرشح مسبق للبيانات الوصفية، أو مفتاح تقسيم، أو مساحة أسماء خاصة بكل مستأجر. وإذا كان المخزن الذي اخترته لا يدعم ذلك، فهذا سبب لتغييره، وليس سببًا لاستخدام التصفية اللاحقة.
الأجزاء التي ينساها الناس
- ترث القطع الأذونات من المستند الذي تنتمي إليه، كما ترث العناصر المشتقة أذونات مصدرها. ويكون الفهرس الموجز الذي يتم إنشاؤه استنادًا إلى مستندات مقيدة مقيدًا بدوره.
- تغيير الأذونات. يجب أن يؤدي الإلغاء إلى إبطال صلاحية إدخال الفهرس، لا أن ينتظر عملية إعادة البناء الكاملة التالية. تعامل مع الأمر على أنه حدث، وليس عملية دفعية.
- "حُذف" يعني "حُذف". يجب أن تُحذف الوثيقة التي تمت إزالتها من النظام المصدر من الفهرس في نفس المعاملة، وإلا فإن مساعدك سيكون المكان الوحيد الذي لا تزال الوثيقة موجودة فيه.
- تعد الإشارات المرجعية جزءًا من الإجابة. فالعنوان أو المسار المشار إليه يُعد إفصاحًا حتى في حالة حجب النص الأساسي.
- تُعد سجلات المحادثات مجموعة نصوص أيضًا. فسجلات المطالبات والاستجابات تحتوي على محتوى تم استرجاعه، وترث درجة حساسيته.
ما الذي يجب اختباره، ومع من
لا تظهر أخطاء الأذونات في مقاييس الدقة. فهي تحتاج إلى اختبارات خاصة بها، ويجب أن تكون هذه الاختبارات اختبارات افتراضية.
- مستخدم لا يتمتع بأي صلاحيات: يجب ألا يمكن تمييز أي إجابة عن مجموعة نصوص فارغة.
- مستخدم يحق له الحصول على وثيقة واحدة من بين العديد من الوثائق المماثلة: يجب ألا تعكس الإجابة محتوى الوثائق الأخرى، بما في ذلك ما تم تجنب ذكره.
- مستخدم تم إلغاء حق وصوله منذ دقيقة واحدة.
- المحاولات المباشرة: اطلب من المساعد تجاهل القيود المفروضة عليه، وتلخيص ما لا يمكنه عرضه، وبيان عدد النتائج التي عثر عليها.
- مستند مشترك يتحول لاحقًا إلى مستند خاص، والعكس صحيح.
قم بتشغيل هذه الاختبارات عند كل تغيير يُجرى على عملية الاسترجاع، ضمن نفس البوابة التي تُجرى فيها تقييمات الدقة. فهي تفشل بشكل واضح، ولا تفشل إلا نادرًا، وهذا بالضبط ما تريده من اختبار الأمان.
هل تريد أن ننفّذ هذا معك؟
التدقيق هو هذه المنهجية موجّهة إلى أنظمتك، وفي نهايته خطة بناء مُسعّرة.
تحديد موعد مكالمة
