تنوع المقاطع المسترجعة يهدف إلى تقليل تكرار المحتوى المختار مع مراعاة صلته بالسؤال. تصف وثائق LangChain اختيار MMR بأنه يوازن تشابه المقاطع مع الاستعلام والتنوع بينها، وتفصل عدد المرشحين fetch_k عن عدد النتائج k. [1] نشرح غرض الاختيار بمثال من إعدادنا، دون حساب درجات أو الادعاء بتنفيذ الخوارزمية.
الخلاصة السريعة
انظر إلى المعلومات التي يضيفها كل مقطع إلى المختار سابقا؛ المقطع المختلف مفيد حين يخدم السؤال، والتنوع لا يصنع دليلا غائبا.
- MMR يوازن صلة المقاطع بالسؤال وتنوعها؛ في الواجهة المذكورة fetch_k للمرشحين وk لعدد المختار. [1]
- بطاقتا الطي المتشابهتان في مثالنا لا تضيفان خطوة التثبيت؛ بطاقة ثالثة قد توسع تغطية السؤال إذا كانت ذات صلة.
- المعامل المذكور بين صفر وواحد؛ طرف الصفر يزيد التنوع وطرف الواحد يقلله، دون أن يكون قيمة مثلى لكل مهمة. [1]
- افحص المعلومات وأن الخطوات للمجسم والنسخة نفسيهما؛ اختلاف المقاطع لا يعني استقلال مصادرها أو صحتها، ولا يوفر مادة خارج المرشحين.
لماذا لا تكفي قائمة أطول متكررة؟
نضع ثلاث بطاقات خيالية عن مجسم ورقي: «أ» تشرح الطي، و«ب» تعيد شرح الطي بصياغة قريبة، و«ج» تشرح تثبيت الشكل بعده. يسأل المستخدم عن الطي والتثبيت، ونريد اختيار بطاقتين من هذه المجموعة. لا نعطي البطاقات درجات تشابه فعلية.
إذا اختيرت «أ» و«ب»، فإن وجود نتيجتين لا يساوي وجود خطوتين مختلفتين. نقارن ما يضيفه النص الثاني إلى الأول: قد يوضح الطي بتفصيل مفيد، لكنه لا يعوض خطوة التثبيت الغائبة. وصفهما بالمتشابهتين في مثالنا حكم على النص الذي ألفناه، لا نتيجة نموذج تضمين.
ما المقصود باختيار متنوع وذي صلة؟
تصف الوثيقة MMR بأنه يحسن التشابه مع السؤال والتنوع بين الوثائق المختارة. [1] ننظر في مثالنا إلى اختيار «أ» و«ج» كقائمة تخدم جزأي السؤال أكثر من تكرار شرح الطي؛ هذه مقارنة تحريرية وليست ادعاء بأن تنفيذًا بعينه سيختارهما.
لو كانت «ج» تتناول موضوعا مختلفا تماما، فلن يصبح اختيارها مفيدا لمجرد اختلافها عن «أ». كما قد نحتاج تفصيل «ب» إذا كان السؤال عن صعوبة الطي وحدها. فحص التنوع يتبع الطلب؛ لا نحذف كل تشابه بقاعدة عمياء ولا نجعل اختلاف الألفاظ هدفا منفصلا عن المعلومات.
كيف تفصل عدد المرشحين عن المختار؟
في واجهة المصدر، fetch_k يحدد المقاطع التي تدخل مرحلة MMR، وk يحدد عدد المعاد منها. ويضبط lambda_mult بين صفر وواحد درجة التنوع: صفر لأقصاها وواحد لأدناها. [1] هذه أدوار المعاملات المذكورة، وليست ضمانا لجودة قائمة معينة.
لنفترض أن مجموعة المرشحين لا تحمل سوى «أ» و«ب». طلب اختيار متنوع منها لا يضيف «ج» الغائبة. نحتاج أولا وصول المادة التي تخص التثبيت، ثم نقارن ما نختاره. ولا نسمي رفع التنوع تحسينًا مثبتا دون مراجعة أسئلة ومقاطع حقيقية، إذ قد نفقد تفصيلا ضروريا إذا أفرطنا في استبعاد المتشابه.
هل المقاطع المتنوعة أدلة مستقلة؟
قد تكون بطاقات الطي والتثبيت من دليل واحد كتبه شخص واحد. اختلاف موضوعهما لا يحولهما إلى شهادتين مستقلتين على صحة المجسم. نراجع المرجع والنسخة والعلاقة بين الخطوتين، ونحفظ أي شرط يلزم جمعهما، مثل كونهما للشكل نفسه.
نقترح بعد الاختيار تدوين ما أضافه كل مقطع وما بقي ناقصا. إذا قدمت القائمة خطوات مختلفة لكنها متعارضة، نوضح التعارض بدلا من وصفها بالمكتملة. لم نجرب إعدادات MMR أو نقس أثرها؛ غرض المثال التمييز بين تكرار النتائج وتغطية جوانب سؤال محدد.
المصادر ومتابعة القراءة
- LangChain Reference: VectorStore.max_marginal_relevance_search (يفتح في نافذة جديدة)reference.langchain.com
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
