تقنية

إعادة كتابة سؤال البحث: توضيح مرجع سؤال المتابعة

متابعة قصيرة تقارن بسياق الطائرة بلا غراء قبل صياغة استعلام مستقل وفحص مصدره
رسم يوضح تغيير صيغة البحث مع حفظ المقصود والشرط.

إعادة كتابة سؤال البحث تساعد على تسمية ما يقصده سؤال متابعة مثل «وما مقاسها؟». لكن تحويله إلى عبارة أطول لا يبيح اختيار مرجع ملتبس أو إضافة معلومة لم يقلها المستخدم. في مثالنا، نراجع حوارا عن نموذج ورقي، ثم نكتب سؤالا مستقلا يصلح للبحث عن تعليماته. [1]

الخلاصة السريعة

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

  • تصف LangChain مسارا يولد استعلام بحث من سجل الحوار عند وجوده، ويمرر الإدخال مباشرة إلى المسترجع عند غيابه؛ ليس هذا ضمانا لفهم المرجع. [1]
  • سم المقصود إذا حسمه الحوار، واستوضح نوع المقاس عند غموضه؛ لا تخمن بين قياس الورقة وطول النموذج أو بين قارب وطائرة.
  • احتفظ بتصحيح المستخدم وشرطه الحالي مثل «بلا غراء»؛ لا تجعل الموضوع السابق أو سهولة البحث يمحوان التعديل.
  • قارن السؤال الأصلي بالاستعلام، ثم تحقق من الوثائق التي وصلت؛ وضوح الاستعلام لا يثبت أن المقاس معلوم أو أن الحوار نفسه دليل صحيح.

ما الذي يتغير قبل البحث؟

يوثق مسار create_history_aware_retriever في LangChain توليد استعلام من الحوار بواسطة النموذج والأمر عند وجود سجل، ثم إرساله إلى المسترجع. إذا غاب السجل يمرر الإدخال مباشرة. هذا يوضح موقع التحويل في المسار، ولا يثبت جودة كل تحويل. [1]

نفترض حوارا يبدأ بـ«أبحث عن تعليمات لطائرة ورقية بلا غراء»، ثم يأتي «وما مقاسها؟». إذا كان المرجع واضحا، يمكن اقتراح سؤال بحث هو «ما مقاسات الورقة المطلوبة للطائرة الورقية بلا غراء؟». لم نجر هذا المسار؛ أضفنا الاسم والشرط اللذين قدمهما القارئ، لا رقما للمقاس.

متى لا يكفي الحوار لحسم المرجع؟

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

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

كيف نحفظ التصحيح والشرط الحالي؟

في امتداد آخر للمثال، يقول القارئ «غيرت اختياري؛ أريد قاربا بدلا من الطائرة، وبلا غراء أيضا». يبنى الاستعلام التالي على القارب والشرط المستمر، لا على الموضوع الأول وحده. نراجع ما تغير وما بقي بدلا من جمع كل أسماء الحوار في عبارة واحدة.

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

ماذا نراجع بعد إعادة الكتابة؟

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

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

المصادر ومتابعة القراءة

  1. LangChain: create_history_aware_retriever (يفتح في نافذة جديدة)reference.langchain.com

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.