AWS Machine Learningتاريخ نشر المصدر

الاسترجاع بضربة واحدة والاسترجاع الوكيل مع Amazon Bedrock Managed Knowledge Base

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

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

يدعم مركز المعرفة المُدار في Amazon Bedrock الآن طلبات التوليد المعزز بالاسترجاع (RAG) ذات الالتقاط الواحد وطلبات الاسترجاع فقط عبر AgenticRetrieveStream. مع الاسترجاع أحادي الطلقة (single-shot RAG)، تبحث الخدمة في قواعد المعرفة الخاصة بك مرة واحدة وتستخدم نموذجًا أساسيًا (FM) لتوليد إجابة من المقاطع التي تجدها. مع الطلبات التي تقتصر على الاسترجاع، تُعيد الخدمة المقاطع المطابقة دون توليد إجابة، بحيث يمكن لتطبيقك أو للمستخدم العمل مع النص الأصلي مباشرةً. تنضم هذه الأوضاع إلى الاسترجاع الوكيلي الحالي، حيث تخطط الخدمة وتنفذ عمليات بحث متعددة قبل الإجابة. يمكنك الآن استخدام واجهة برمجة التطبيقات نفسها لكلا السؤالين الخاصين بالموظف: الاسترجاع أحادي الطلقة للبحث في قائمة التحقق، والاسترجاع الوكيلي للمقارنة بين السياسات.

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

الفوائد الرئيسية

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

بالنسبة لمطوري التطبيقات، يوفر هذا العديد من الفوائد:

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

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

  • الاسترجاع فقط يعيد المقاطع النصية دون توليد إجابة.
  • RAG بطلقة واحدة يسترد مرة واحدة ويولّد إجابة، دون جولات تخطيط.
  • الاسترجاع الوكيل يخطط ويُنفّذ عمليات بحث متعددة للأسئلة المعقدة.

يستخدم RAG أحادي المرحلة نداءً واحداً لنموذج أساسي لتوليد الإجابة، مما قد يقلل من زمن الاستجابة واستخدام النموذج مقارنةً بالاسترجاع الوكيل (agentic retrieval). أما الطلبات المقتصرة على الاسترجاع فلا تُجري أي نداءات لنموذج أساسي. يمكنك الموازنة بين السرعة وجودة الإجابة لكل طلب، دون الحاجة إلى دمج واجهة برمجة تطبيقات ثانية أو صيانة مسارات برمجية منفصلة للاستعلامات البسيطة والمعقدة.

كيف تُحتسب تكرارات الاسترجاع

قبل استعراض القيم الجديدة، من المفيد التأسّس على كيفية احتساب التكرارات (iterations)، لأن ذلك هو ما يجعل السلوك متوقعًا.

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

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

ما الجديد

النطاق أصبح الآن 0–5.

تدعم الأوضاع الثلاث جميعها قواعد معرفية متعددة، بما في ذلك maxAgentIteration=0 و 1. الاسترداد بضربة واحدة لا يعني قاعدة معرفية واحدة. يضيف الوضع الوكيلي (Agentic) تحليل الاستعلامات وتقييم الأدلة والبحثات التكرارية، وليس وصولاً حصرياً إلى قواعد معرفية متعددة.

maxAgentIteration = 1: RAG الأساسي (حالة الاستخدام الرئيسية)

هذا هو RAG بضربة واحدة: استرداد واحد، ثم إجابة واحدة. لا تخطيط وكيلي، ولا إعادة صياغة للاستعلام. تجري واجهة البرمجة عملية استرداد واحدة استناداً إلى استعلامك وتولّد إجابة مستندة إلى تلك المقاطع. هذا هو نمط الاسترداد مرة واحدة، ثم توليد إجابة الذي لم يكن قابلاً للتعبير عنه من خلال هذه الواجهة البرمجية سابقاً.

ادمجه مع generateResponse=true للحصول على إجابة مولّدة مستندة إلى المقاطع المستردة. إذا كنت تحتاج إلى المقاطع فقط، فاستخدم maxAgentIteration=0 بدلاً من ذلك، كما هو موضح في القسم التالي.

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

maxAgentIteration = 0: المقاطع فقط، بدون أي استدعاءات لنموذج اللغة الكبير

يقوم هذا الإعداد بعملية استرداد واحدة مضمونة ولا يولّد شيئاً. لا يتم استدعاء أي نموذج أساس. وهو يعادل استدعاء واجهة برمجة الاسترداد (Retrieve API) مباشرة. وهذا يجعله الأكثر فائدة للمستدعين الذين اعتمدوا بالفعل على AgenticRetrieveStream ويفضّلون تغيير معلمة بدلاً من الانتقال إلى واجهة برمجية أخرى.

لأنه لا يتم استدعاء أي نموذج لغوي كبير (LLM)، فلا توجد إجابة لتوليدها. ضبط generateResponse=true عند هذه القيمة غير صالح ويعيد خطأ 4xx، لأن توليد إجابة يتطلب استدعاء نموذج لغوي كبير.

maxAgentIteration = 2 إلى 5: الوضع الوكيلي، دون تغيير

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

مع تمكين توليد الاستجابة، تسمح قيمة n بما يصل إلى n ناقص 1 من جولات التخطيط قبل توليد إجابة مستندة إلى الأدلة المستردة. تحتفظ الطلبات الحالية التي تستخدم القيم من 2–5 بسلوكها الحالي.

اختيار القيمة

طريقة واحدة للتفكير في الأمر:

maxAgentIteration ما تحصل عليه الأفضل لـ
0 استرداد واحد، بدون توليد، بدون استدعاءات لنموذج اللغة الكبير استرداد المقاطع. المستدعون المعتمدون على هذه الواجهة البرمجية والراغبون في سلوك بأسلوب Retrieve
1 استرداد واحد بالإضافة إلى إجابة واحدة استرجاع RAG أحادي الطلقة للأسئلة المباشرة محددة النطاق جيدًا
من 2 إلى 5 حتى n ناقص 1 من جولات التخطيط، ثم إجابة الأسئلة متعددة الأجزاء والمقارنة والاستكشافية والعابرة عبر قواعد معرفة متعددة

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

في الممارسة العملية: مساعد لسياسات بنكية داخلية

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

يوضح المخطط التالي كيف يختار مساعد البنك نمط استرجاع لكل طلب.

الشكل 1: كيف يختار مساعد البنك نمط استرجاع لكل طلب

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

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

يسأل أحد الموظفين: «ما الوثائق المطلوبة لفتح حساب جاري تجاري لشخص ذاتي العمل؟». في هذا المثال، يحتفظ البنك بقائمة تحقق مخصصة تحتوي على الإجابة. يضبط التطبيق maxAgentIteration=1 و generateResponse=true لجلب المقاطع ذات الصلة وتوليد رد، دون إعادة صياغة الاستعلام أو تخطيط وكيل.

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

مقارنة المتطلبات عبر وثائق السياسات

يسأل موظف آخر: “كيف تختلف متطلبات فتح الحساب بين الملكية الفردية وشركات المسؤولية المحدودة (LLC)، وما الفحوصات الإضافية، إن وُجدت، التي تنطبق على المالكين غير المقيمين وفق سياستنا؟” قد تتطلب الإجابة عن هذا السؤال معلومات من إجراءات منفصلة وأدلة التحقق من الملكية.

في سير العمل هذا، يمكن للتطبيق تعيين maxAgentIteration=4 و generateResponse=true، مما يسمح بما يصل إلى ثلاث جولات تخطيط قبل توليد إجابة. يمكن للمخطِّط تقسيم السؤال إلى استعلامات فرعية، واسترجاع الأدلة ذات الصلة، وتحسين بحثه إذا كانت المعلومات ناقصة. ينبغي تقييم حد التكرار المناسب مقابل أسئلة تمثيلية بدلاً من افتراض أن القيمة الأعلى تنتج دائمًا إجابة أفضل.

عرض المقاطع المصدرية دون توليد إجابة

قد يرغب موظف يراجع إجراء فتح حساب في الحصول على نص السياسة ذي الصلة بدلاً من ملخص مُولَّد. يعرّف التطبيق maxAgentIteration=0 و generateResponse=false لإرجاع المقاطع دون أي استدعاءات لنموذج اللغة. ويمكنه بعد ذلك عرض تلك المقاطع ومراجعها المصدرية ليراجعها الموظف.

تستخدم سيرات العمل الثلاث جميعها AgenticRetrieveStream. يختار التطبيق حد التكرار وما إذا كان سيعيد إجابة مُولَّدة. اختيار الوضع هو منطق التطبيق، وليس توجيهًا تلقائيًا يوفره هذه المعلمة. يدعم المساعد البحث في السياسات ومقارنتها. ولا يوافق على الحسابات ولا يستبدل عمليات المراجعة والترخيص الخاصة بالبنك.

نظرة عامة على الحل

يوضح المثال التالي طلبًا كاملاً من نوع الوكيل (agentic). وتكيّف الأقسام التالية له هذا الطلب ليعمل مع وضعي RAG أحادي المرحلة والاسترجاع فقط.

اختيار وضع استرجاع لمساعد الخدمات المصرفية

توضح الشيفرة النموذجية سيرات العمل الثلاثة باستخدام وثائق سياسات افتراضية.



{
    "messages": [
        { 
            "content": { 
                "text": "How do account-opening requirements differ for sole proprietors and LLCs, and what additional checks, if any, apply to nonresident owners under our policy?" 
            }, 
            "role": "user" 
        }
    ],
    "retrievers": [
        {
            "description": "Knowledge base of account-opening procedures, documentation checklists, and policy guides",
            "configuration": { 
                "knowledgeBase": { 
                    "knowledgeBaseId": "KB12345678" 
                } 
            }
        }
    ],
    "generateResponse": true,
    "agenticRetrieveConfiguration": {
        "foundationModelType": "MANAGED",
        "rerankingModelType": "MANAGED",
        "maxAgentIteration": 4
    }
}

مثال: RAG أحادي المرحلة

إعداد RAG الأساسي يتطلب تغييرًا من سطر واحد فقط عن استدعاء الوكيل. اضبط maxAgentIteration على 1 وأبقِ توليد الاستجابة مفعّلاً.



{
    "messages": [
        { 
            "content": { 
                "text": "What documents are required to open a business checking account for a sole proprietor?" 
            }, 
            "role": "user" 
        }
    ],
    "retrievers": [
        {
            "description": "Knowledge base of account-opening procedures, documentation checklists, and policy guides",
            "configuration": { 
                "knowledgeBase": { 
                    "knowledgeBaseId": "KB12345678" 
                } 
            }
        }
    ],
    "generateResponse": true,
    "agenticRetrieveConfiguration": {
        "foundationModelType": "MANAGED",
        "rerankingModelType": "MANAGED",
        "maxAgentIteration": 1
    }
}

تستهلك التدفق (stream) بنفس الطريقة التي اعتدت عليها دائمًا. الفرق هو ما يحتويه: استرجاع واحد وإجابة واحدة مبنية على المصادر، دون أي أحداث أثر تخطيط بينهما.

مثال: المقاطع فقط

للاسترجاع دون توليد، اضبط maxAgentIteration على 0. يجب أن يكون توليد الاستجابة متوقفًا عند هذه القيمة.



{
    "messages": [
        { 
            "content": { 
                "text": "Show the policy text for the business account-opening procedure." 
            }, 
            "role": "user" 
        }
    ],
    "retrievers": [
        {
            "description": "Knowledge base of account-opening procedures, documentation checklists, and policy guides",
            "configuration": { 
                "knowledgeBase": { 
                    "knowledgeBaseId": "KB12345678" 
                } 
            }
        }
    ],
    "generateResponse": false,
    "agenticRetrieveConfiguration": {
        "foundationModelType": "MANAGED",
        "rerankingModelType": "MANAGED",
        "maxAgentIteration": 0
    }
}

يعيد هذا المقاطع المصدرية منزوعة التكرار دون إجابة مُولَّدة. يتطابق سلوك الاسترجاع مع استدعاء Retrieve مباشر، لكن تنسيق الاستجابة يختلف: تصل المقاطع في حدث result للتدفق دون حقلي score أو location .

الخلاصة

مع Amazon Bedrock Managed Knowledge Base، يمكنك الآن الجمع بين طلبات RAG أحادية المرحلة والاسترجاع الوكيل والاسترجاع فقط في مساعد واحد عبر AgenticRetrieveStream. في مثال البنك، يمكنك الإجابة عن سؤال قائمة التحقق لفتح الحساب باستخدام maxAgentIteration=1 مع تمكين توليد الاستجابة، مما ينتج إجابة دون استدعاءات تخطيط. وبالنسبة للمقارنة عبر هياكل الأعمال، يمكنك تعيين maxAgentIteration=4 للسماح بعمليات بحث إضافية قبل توليد الاستجابة. وعندما يحتاج موظف إلى قراءة نص السياسة، يمكنك تعيين maxAgentIteration=0 مع تعطيل توليد الاستجابة لإرجاع المقاطع دون استدعاء نموذج لغة. يختار تطبيقك الوضع، ويواصل الموظفون استخدام المساعد نفسه.

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

استخدم تلك النتائج لاختيار الحد الأدنى للتكرارات الذي يلبي متطلبات الجودة لكل سير عمل. حافظ على الاسترجاع الوكيل حيث تُحسّن عمليات البحث الإضافية الإجابة، واستخدم RAG أحادي المرحلة حيث يكفي استرجاع واحد، واعطّل التوليد عندما تكون المهمة مراجعة مصادر. تبقى الطلبات الحالية ذات القيم من 2–5 دون تغيير، بحيث يمكنك إدخال الأوضاع الجديدة انتقائيًا بدلاً من إعادة تصميم التطبيق بأكمله.

للبدء، اضبط maxAgentIteration و generateResponse في طلباتك باستخدام مرجع AgenticRetrieveStream API reference، ثم قيّم الإعدادات مقابل أسئلة تطبيقك وأهداف زمن الاستجابة. لمعرفة المزيد عن الخدمة، تفضل بزيارة صفحة خدمة Amazon Bedrock Managed Knowledge Base .

 


عن المؤلفين

المصدر الأصلي

AWS Machine Learning

ملاحظات المحتوى

النشر الأصلي والحقوق تعود إلى المصدر.

ترجمة آلية · يُرجى الرجوع إلى الأصل