المكاسب:
- توضيح أن RAG يدخل السياق دون تغيير أوزان النموذج ويعمل بمنطق "اختبار الكتاب المفتوح"
- مقارنة RAG مع أساليب الضبط الدقيق والسياق الطويل وفقًا للتكلفة والتوقيت وسيناريو الاستخدام
- سرد خطوات خط أنابيب RAG النموذجي الذي يتكون من مرحلتي الفهرسة والاستعلام
بغض النظر عن مدى قوة نموذج اللغة (الذكاء الاصطناعي الذي يفهم النص وينتجه؛ سنسميه نموذجًا باختصار من الآن فصاعدًا)، فهو لا يعرف العقد الذي وقعته شركتك بالأمس، أو صفحة wiki الداخلية (قاعدة المعرفة الداخلية)، أو مذكرة الإصدار المنشورة هذا الصباح. يقتصر النموذج على المعرفة العامة حتى تاريخ التدريب عليه؛ وهذا ما يسمى "تاريخ التوقف عن التعليم". يملأ RAG (جيل الاسترجاع المعزز) هذه الفجوة تمامًا: فهو يعثر على مستندات الشركة المتعلقة بالسؤال، ويعطيها للنموذج كسياق (أي النص الإضافي الذي سيقرأه أثناء إنتاج الإجابة) ويتم إنتاج الإجابة بناءً على هذا السياق.
في هذه الوحدة، سنرى بوضوح ما هو RAG، ومتى يتم تفضيله على البدائل، وخطوات خط أنابيب RAG النموذجي. ستعمل جميع الوحدات اللاحقة على تعميق أجزاء هذه الخريطة واحدًا تلو الآخر.
الفكرة الأساسية لـ RAG: اختبار الكتاب المفتوح
دعونا نشرح RAG في جملة واحدة: "أولاً، ابحث عن المستند ذي الصلة، ثم اطلب من النموذج قراءة هذا المستند وطباعة الإجابة وفقًا لذلك."
التشبيه الأكثر فائدة هو أن RAG ينقل النموذج من "اختبار الكتاب المغلق" إلى "اختبار الكتاب المفتوح". في امتحان الكتاب المغلق، يجيب الطالب من الذاكرة فقط؛ هناك خطر كبير في اختلاق ما لا تتذكره. وفي امتحان الكتاب المفتوح يجيب الطالب بالنظر إلى المصدر الموضوع أمامه. في RAG، لم يعد النموذج يجيب من ذاكرته الخاصة، ولكن من النص الحالي والمحدد الذي تقدمه له.
النقطة الحرجة: لا يغير RAG أوزان النموذج، أي مليارات المعلمات الرقمية التي تعلمها النموذج. لا يمكنك إعادة تدريب النموذج. بالنسبة لكل سؤال، يمكنك إدخال أجزاء من النص ذات الصلة بهذا السؤال في الموجه (نص التعليمات الذي يتم إرساله إلى النموذج). لذلك لا يتعين عليك إعادة تدريب النموذج عند تحديث المستند؛ يمكنك ببساطة تحديث السجل ذي الصلة في قاعدة بيانات البحث.
تلميح: هناك سؤالان يحددان جودة مجموعة RAG: (1) هل وجدت الوثيقة الصحيحة؟ (2) هل قرأها النموذج بشكل صحيح؟ الأول هو "جودة الاسترجاع"، والثاني هو "جودة الجيل". ويتم قياس الاثنين وتحسينهما بشكل منفصل.
RAG أم الضبط الدقيق أم السياق الطويل؟
غالبًا ما يتم الخلط بين ثلاثة مسارات عند البحث عن حل لمشكلة تنظيمية. دعونا توضيح خلافاتهم. الضبط الدقيق هو تحديث أوزان النموذج ببياناتك وتعليمه سلوكًا/نمطًا جديدًا. السياق الطويل يعني ملء جميع المستندات مباشرة في الموجه دون أي تحديد.
النهج
ماذا يفعل
متى يكون ذلك مناسبا؟
التكلفة / المخاطر
خرقة
يُدخل الوثيقة ذات الصلة كسياق
معلومات متغيرة بشكل متكرر وشاملة ومحددة
منخفض؛ من السهل التحديث، ويمكن ذكر المصدر
ضبط دقيق
تحديث الأوزان ببيانات جديدة
أسلوب/تنسيق/تعليم اللغة ثابت
عالية؛ إعادة التدريب مطلوبة مع كل تحديث
سياق طويل فقط
يملأ جميع المستندات في الموجه
مجموعة مستندات صغيرة وثابتة
تزداد تكلفة الرمز المميز ومخاطر "خسارة الجزء الأوسط".
كقاعدة عامة: الضبط الدقيق يعلم النموذج كيفية التحدث؛ يخبر RAG النموذج بما يجب أن يعرفه. في معظم سيناريوهات المؤسسات، يتم تجربة RAG أولاً لأنه رخيص الثمن وقابل للتحديث ويمكنه إظهار مصدر الإجابة. يكون السياق الطويل معقولًا إذا كانت مجموعة المستندات صغيرة جدًا وثابتة (على سبيل المثال، دليل واحد مكون من 20 صفحة)؛ ولكن مع وجود آلاف الصفحات، يكون ذلك مكلفًا وقد يفقد النموذج معلومات في منتصف النص الطويل.
خط أنابيب RAG نموذجي
يتكون RAG من مرحلتين رئيسيتين: الفهرسة (التحضير، يتم إجراؤها مرة واحدة أو بشكل دوري) والاستعلام (يتم تشغيله على كل سؤال مستخدم).
الفهرسة خطوة بخطوة (بدون اتصال بالإنترنت، دون انتظار المستخدم):
- التجميع: سحب المستندات من المصادر (PDF، wiki، نظام التذاكر، قاعدة البيانات، البريد الإلكتروني).
- التقطيع: قم بتقسيم النص الطويل إلى أجزاء أصغر يمكن التحكم فيها.
- التضمين: تحويل كل جزء إلى التضمين (ناقل الأرقام الذي يحمل معنى النص).
- الحفظ: اكتب المتجهات مع النص والبيانات الوصفية (المصدر والتاريخ ومعلومات الترخيص) في قاعدة بيانات المتجهات.
استعلام خطوة بخطوة (عبر الإنترنت، أثناء انتظار المستخدم):
- تحويل سؤال المستخدم إلى التضمين.
- استرداد الأجزاء الأكثر تشابهاً من قاعدة بيانات المتجهات.
- ضع هذه القطع + السؤال في قالب سريع.
- احصل على الإجابة السياقية ومصادرها من النموذج.
# الخطوط العريضة المفاهيمية لمرحلة الاستعلام (لا تعتمد على اللغة)question = "كم عدد أيام الإجازة السنوية؟"question_vektor = embed(question)parts = vektor_db.search(question_vektor, top_k=4) # الأكثر تشابهاً partsprompt = f"""أجب عن السؤال باستخدام السياق أدناه. إذا لم تكن الإجابة في السياق، فقل "ليس لدي معلومات حول هذا." Fitting.CONTEXT:{parts} سؤال: {question}"""answer = model.uret(prompt) # على سبيل المثال. النموذج: كلود-أوبوس-4-8
هذا التدفق عبارة عن خريطة لكل مرحلة، وسنقوم بتفكيكها واحدة تلو الأخرى في الوحدات اللاحقة.
موجه ضعيف / موجه قوي
حتى مع نفس سياق RAG، فإن جودة المطالبة تغير الإجابة.
مطالبة ضعيفة (مفتوحة لتركيب النموذج، ولا تتطلب موارد):
استخدم هذه المعلومات وقل الإجازة السنوية: {parts}. سؤال: {سؤال}
مطالبة قوية (التأريض + إذن "لا أعرف" + طلب مورد):
الإجابة فقط بناءً على السياق أدناه. إذا لم تكن هناك إجابة واضحة في السياق، فاكتب "لم أتمكن من العثور على معلومات حول هذا في الوثائق"؛ لا تخمن. أضف علامة [المصدر: file_name] للقطعة التي تعتمد عليها في نهاية إجابتك. السياق: {قطع} السؤال: {سؤال}
ثلاث حالات صغيرة
الحالة 1 - مساعد الموارد البشرية (الموارد البشرية). تمتلك الشركة دليلًا للموارد البشرية مكونًا من 340 صفحة، ويطرح الموظفون 90 سؤالًا في المتوسط يوميًا. تمت تجربة الضبط الدقيق، ولكن نظرًا لتحديث الدليل شهريًا، كان من الضروري إعادة التدريب في كل مرة؛ وبلغت التكلفة آلاف الدولارات شهريا. وبعد التحول إلى RAG، تم تقليص التحديث إلى خطوة "إعادة فهرسة الوثيقة" (دقائق) وارتفع معدل الإجابة الصحيحة من 71% إلى 93% في القياس اليدوي.
الحالة 2 - دعم العملاء. لدى فريق الدعم 12000 تذكرة تم حلها و800 مقالة مساعدة. يستغرق الأمر 4 دقائق في المتوسط حتى يتمكن الممثل من العثور على إجابة يدويًا. عندما أحضر مساعد RAG السجلات الخمسة الأكثر صلة وأصدر مسودة استجابة، تم تقليل الوقت إلى 40 ثانية؛ لكن الفريق أدرك خطورة "الظهور بمظهر غير متأكد من خلال تقديم المقال الخاطئ" وجعل الاستشهاد بالمصدر إلزاميًا.
الحالة 3 - القانون. وتساءل فريق المقاولين "في أي العقود يستمر شرط السرية لمدة 5 سنوات؟" يسأل السؤال. في سياق المحاكمة الطويل، تم تنفيذ 60 عقدًا في رسالة واحدة؛ تخطى النموذج العقدين الأوسطين. عندما تم تقديم العناصر ذات الصلة فقط مع RAG، انخفضت تكلفة الرمز المميز بنسبة 80% وتمت إعادة تعيين التخطي المفقود.
لماذا هناك حاجة إلى RAG؟
- الحالية: يمكنك الوصول إلى المعلومات بعد تاريخ انتهاء التدريب.
- معلومات خاصة: لا يتم تضمين مستنداتك الداخلية في تدريب أي نموذج؛ أنت فقط تستطيع أن تعطي.
- إمكانية التحقق: يمكنك ذكر مصدر الإجابة (الاقتباس) - وهو أمر ضروري للتدقيق والثقة.
- مكافحة الهلوسة: تعتمد على النص الموضوع أمامها بدلاً من تكوين نموذج.
- التكلفة: إن تشغيلها أرخص بكثير وأسرع من الضبط الدقيق.
تحذير: RAG ليس سحرًا. إذا أحضرت القطعة الخاطئة، فإن العارضة تصل إلى الإجابة الخاطئة وتبدو "واثقة". ضع في اعتبارك عبارة "جودة الاسترجاع = جودة RAG".
الأخطاء الشائعة
- الخلط بين RAG والضبط الدقيق: RAG لا يغير الأوزان؛ إنه يضيف السياق فقط. الخلط بين هذين الأمرين سيؤدي إلى اختيار البنية الخاطئة.
- عدم السماح بـ "لا أعرف": إذا تركت المطالبة النموذج حرًا لملء الفراغ، فسيتم تعويضه.
- عدم ذكر المصادر: لا يمكن التحقق من الإجابة بدون مصدر؛ لا يمكن للمستخدم ملاحظة الخطأ.
- حشر كل شيء في موجه واحد: يبدو السياق الطويل رخيصًا ولكنه مكلف ويفتقد المعلومات الوسطى.
- التورط في الجيل دون قياس الاسترجاع: إذا كانت الإجابة سيئة، اسأل أولاً "هل وصل الجزء الصحيح؟" ينبغي أن يطلب.
باختصار
- RAG هو نهج يقوم بإدخال المستندات ذات الصلة بالسؤال في النموذج كسياق؛ لا يغير الأوزان ("امتحان الكتاب المفتوح").
- يقوم الضبط الدقيق بتعليم الأسلوب/التنسيق، ويقدم RAG معلومات حالية ومحددة؛ السياق الطويل يعمل بشكل جيد مع المجموعات الثابتة الصغيرة. في معظم السيناريوهات، تتم تجربة RAG أولاً.
- يتكون المسار من مرحلتين: الفهرسة دون اتصال (قطعة + تضمين + حفظ) والاستعلام عبر الإنترنت (استرجاع + مطالبة + إنشاء).
- يوفر RAG التوقيت المناسب والمعلومات المحددة وإمكانية التحقق والسيطرة على الهلوسة والتكلفة المنخفضة.
- تعتمد جودة النظام بشكل مباشر على جودة الاسترجاع: القطعة الخاطئة تعني إجابة خاطئة.
مهمة التطبيق
اختر مصدرًا حقيقيًا للمعلومات من فريقك (مثل مستند الإجراء أو صفحة الأسئلة الشائعة). (1) اكتب 5 أسئلة واقعية حول هذا المصدر. (2) لاحظ أي جزء من المستند يحتوي على الإجابة الصحيحة لكل سؤال - تصبح هذه قائمة "الإجابات الذهبية" الخاصة بك. (3) باستخدام قالب "المطالبة القوية" أعلاه، قم بلصق القسم ذي الصلة يدويًا كسياق واطلب نموذجًا. (4) قارن إجابة النموذج بالإجابة الذهبية ثم ضع علامة صح أو خطأ. هذه هي النسخة اليدوية الأولى من التقييم الذي ستقوم بأتمتته في الوحدات المستقبلية.
قائمة مرجعية
- [ ] يمكنني أن أشرح في جملة واحدة أن RAG لا يغير الأوزان، بل يضيف السياق فقط.
- [ ] يمكنني التمييز بين RAG والضبط الدقيق والسياق الطويل ومتى يكون ذلك مناسبًا.
- [ ] يمكنني حساب مراحل الفهرسة (التجميع والتقطيع والتضمين والحفظ) والاستعلام (التضمين والجلب والمطالبة والتوليد) بالترتيب.
- [ ] أعرف لماذا أضفت تعليمات "إذا لم يكن الأمر في السياق، فقل لا أعرف" وتعليمات "الاستشهاد بالمصدر" إلى الموجه.
- [ ] يمكنني تكييف مبدأ "جودة الاسترجاع = جودة RAG" مع حالتي الخاصة.