بازیابی زمینه‌مند؛ وقتی تکهٔ سند مرجعش را گم می‌کند

⏱ زمان مطالعه: حدود ۱۲ دقیقه✏️ تمرین دارد🎯 سطح: پیشرفته

یک شرکت بیمهٔ متوسط در تهران را تصور کن که چهار هزار صفحه بخشنامه، شرایط عمومی و اصلاحیه دارد. تیم فنی یک دستیار پرسش‌وپاسخ روی همین اسناد ساخته است: متن‌ها را به تکه‌های هشتصد کاراکتری بریده، جاسازی گرفته و در یک پایگاه برداری ریخته. دمو عالی بود. اما در عمل، وقتی کارشناس می‌پرسد «سقف تعهد در اصلاحیهٔ دوم چقدر شد؟»، دستیار تکه‌ای می‌آورد که در آن نوشته «این مبلغ به دو برابر افزایش یافت» — بدون اینکه معلوم باشد کدام مبلغ، کدام رشتهٔ بیمه و کدام سال. تکهٔ درست بازیابی نشده؛ چون خودِ تکه، وقتی از سندش جدا شد، دیگر نمی‌دانست دربارهٔ چیست.

این دقیقاً همان شکافی است که آنتروپیک در راهنمای «بازیابی زمینه‌مند» به آن پرداخته است. ایدهٔ مرکزی یک جملهٔ ساده است: قبل از اینکه از یک تکه جاسازی بگیری، یکی دو جملهٔ کوتاه به ابتدایش اضافه کن که بگوید این تکه کجای سند است و دربارهٔ چیست. همین یک حرکت، نرخ شکست بازیابی را در سنجش رسمی آنتروپیک حدود سی‌وپنج درصد پایین آورده است. این درس، همان تکنیک است؛ از پرامپت زمینه‌ساز تا لایه‌های ترکیبی و بازچینش، با اعدادی که بتوانی بر اساسشان تصمیم بگیری کدام لایه را بخری.

آنچه در این درس یاد می‌گیرید

  • چرا تکهٔ بریده‌شده از سند، مرجعش را گم می‌کند و بازیابی را خراب می‌کند
  • پرامپت زمینه‌ساز آنتروپیک، کلمه‌به‌کلمه، و اینکه خروجی‌اش را کجای تکه بچسبانی
  • چطور کش پرامپت هزینهٔ زمینه‌سازی یک پیکرهٔ بزرگ را حدود هفتاد درصد کم می‌کند
  • جست‌وجوی ترکیبی: کنار هم گذاشتن معنا و کلیدواژه با ادغام رتبهٔ متقابل
  • لایهٔ بازچینش و اینکه چه زمانی ارزش تأخیر و هزینهٔ اضافه‌اش را دارد
  • اعداد چهار پیکربندی، و معیار تصمیم برای اینکه کجا متوقف شوی
بازیابی زمینه‌مند؛ وقتی تکهٔ سند مرجعش را گم می‌کند

ریشهٔ مشکل: تکه‌ای که مرجعش را گم کرده

تکه‌بندی یک مصالحه است. تکه را بزرگ کنی، جاسازی‌اش بی‌تمرکز می‌شود و در پاسخ، متن بی‌ربط زیاد می‌آید. کوچکش کنی، دقیق می‌شود اما خودبسنده نیست. جمله‌ای مثل «این مبلغ به دو برابر افزایش یافت» در دل سند کاملاً روشن است؛ چون دو پاراگراف بالاتر گفته شده کدام رشته و کدام سال. اما همین جمله وقتی به‌تنهایی جاسازی می‌شود، برداری می‌سازد که به پرسش کارشناس نزدیک نیست — چون هیچ‌کدام از کلمه‌های کلیدی پرسش در آن نیست.

راه‌حل‌های قدیمی معمولاً از جنس «همپوشانی تکه‌ها» بودند: هر تکه چند جملهٔ آخرِ تکهٔ قبلی را هم داشته باشد. این کار کمی کمک می‌کند اما مسئله را حل نمی‌کند، چون زمینهٔ واقعی ممکن است در عنوان فصل یا صفحهٔ اول سند باشد، نه در تکهٔ قبلی. بازیابی زمینه‌مند مسیر دیگری می‌رود: به‌جای چسباندن متن مجاور، از مدل می‌خواهد با دیدن کل سند، برای هر تکه یک توضیح موقعیتی کوتاه بنویسد.

پرامپت زمینه‌ساز، کلمه‌به‌کلمه

راهنمای آنتروپیک دو قطعه پرامپت دارد: یکی کل سند را در اختیار مدل می‌گذارد و دیگری تکهٔ هدف را معرفی می‌کند و درخواست یک زمینهٔ کوتاه می‌دهد. نکتهٔ ظریف در جملهٔ آخر است که صریحاً می‌گوید فقط خودِ زمینه را بنویس و هیچ چیز دیگری اضافه نکن؛ بدون این قید، مدل شروع می‌کند به مقدمه‌چینی و خروجی برای چسباندن به ابتدای تکه بی‌مصرف می‌شود.

DOCUMENT_CONTEXT_PROMPT = """
<document>
{doc_content}
</document>
"""

CHUNK_CONTEXT_PROMPT = """
Here is the chunk we want to situate within the whole document

<chunk>
{chunk_content}
</chunk>

Please give a short succinct context to situate this chunk within the overall
document for the purposes of improving search retrieval of the chunk.

Answer only with the succinct context and nothing else.
"""

خروجی، یکی دو جملهٔ خشک و توصیفی است؛ چیزی شبیه «این تکه بخش تعاریف اولیهٔ یک اجراکنندهٔ آزمون تفاضلی است و ساختار DiffExecutor را معرفی می‌کند که دو اجراکننده را پشت‌سرهم روی یک ورودی می‌راند». حالا این متن را قبل از تکهٔ اصلی می‌گذاری و همین ترکیب را جاسازی می‌کنی:

تا اینجا مقدمه بود. ادامهٔ این درس — تمرین‌ها، فایل‌های همراه و بخش اصلی — مخصوص اعضای «حرفه‌ای» است.

💠

بازیابی زمینه‌مند؛ وقتی تکهٔ سند مرجعش را گم می‌کند

این بخش جزو محتوای «عضویت حرفه‌ای» است: دوره‌ها، تمرین‌های تعاملی و بسته‌های اختصاصی.

آشنایی با عضویت حرفه‌ای
عضویت حرفه‌ای، همهٔ امکانات عضویت ویژه را هم در بر می‌گیرد.
(0 رأی)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *