واحد 3 / 12

ایجاد پاسخ از پایگاه دانش (مقدمه ای بر RAG)

سود:

  • درک منطق تولید مبتنی بر دانش (RAG) و چرایی کاهش توهمات
  • امکان پاسخگویی مدل با استناد، تنها بر اساس اسناد منبع ارائه شده
  • امکان مدیریت سوالاتی که در منبع نیستند با انتقال ایمن و بدون طرح سوال

یک مدل زبان خیلی چیزها را می داند، اما از خط مشی بازگشت امروز شرکت شما، لیست قیمت فعلی یا قرارداد حمل و نقل شما که دیروز تغییر کرده است، اطلاعی ندارد. بدتر از آن، زمانی که او نمی داند، اغلب آن را می سازد و با لحنی بسیار مطمئن می نویسد. این یک نقص مهلک در خدمات مشتری است: مدل می گوید "بازپرداخت ظرف 30 روز صادر می شود" در حالی که ممکن است سیاست شما 14 روز باشد. رویکردی که این شکاف را می‌بندد RAG: Retrieval-Augmented Generation نامیده می‌شود، یعنی «تولید تقویت‌شده بازیابی».

ایده ساده است: مدل نه از روی حافظه، بلکه از روی اسناد منبع صحیحی که در آن لحظه در مقابل آن قرار داده شده است، به سؤال پاسخ می دهد. ابتدا، قطعه صحیح سند مربوط به سؤال "بازیابی" است، سپس مدل تنها بر اساس آن قطعه پاسخ را "تولید" می کند. در این واحد، منطق RAG را درک خواهید کرد و یاد خواهید گرفت که چگونه مدل را مهار کنید تا فقط به منبع تأیید شده ای که ارائه می کنید بچسبد.

توجه: این واحد منطق کار و سمت سریع RAG را آموزش می دهد. سیستم های بازیابی خودکار اسناد در مقیاس سازمانی (پایگاه داده برداری و غیره) نیاز به نصب فنی دارند. نظم و انضباط در اینجا مبنایی برای پاسخ صحیح آن سیستم است.

چرا RAG توهمات را کاهش می دهد؟

توهم زمانی است که مدل اطلاعات غیر واقعی را طوری تولید می کند که گویی واقعی است. این مدل برای ایجاد پاسخی برنامه ریزی شده است که با مشاهده شکاف "ممکن" به نظر می رسد. نمیدونه درسته یا نه RAG این شکاف را پر می کند: شما متن واقعی مربوطه را همراه با سوال به مدل می دهید و می گویید "فقط از اینجا پاسخ دهید". به این ترتیب مدل نیازی به تناسب ندارد.

سه جزء وجود دارد:

  • پایگاه دانش: متون قابل اعتماد مانند سوالات متداول، اسناد خط مشی، کتابچه راهنمای محصول، لیست قیمت.
  • بازیابی: یافتن قطعه ای از سند حاوی پاسخ سؤال و دادن آن به مدل.
  • نسخه محدود: مدل فقط بر اساس قسمت ارائه شده با نقل قول پاسخ می دهد.

گام به گام: پاسخ صادقانه به منبع

  1. منبع را آماده کنید. متنی را که بر اساس آن پاسخ داده می شود (خط مشی، سؤالات متداول) را در قالبی واضح و به روز بیابید.
  2. منبع را در اعلان جاسازی کنید. متن را در یک برچسب مانند <source> قرار دهید.
  3. قانون وفاداری را بنویسید "فقط از اطلاعات منبع استفاده کنید؛ از منبع دور نشوید."
  4. استناد را الزامی کنید بگذارید او مشخص کند که پاسخ بر اساس کدام بخش است.
  5. رفتار غیر منبع را شناسایی کنید. اگر پاسخ در منبع نیست بگوید «این اطلاعات را ندارم» و آن را منتقل کند.
  6. تأیید کنید. پاسخ را با مقایسه آن با جمله منبعی که بر اساس آن است تایید کنید.

درخواست های قابل کپی

درخواست پاسخ بر اساس منبع اصلی:

نقش: شما یک دستیار پشتیبانی مشتری هستید. فقط بر اساس اطلاعات موجود در بلوک <source> زیر به این سوال پاسخ دهید. هیچ اطلاعاتی را که در منبع، حدس یا پاسخ دانش عمومی شما نیست اضافه نکنید. بخشی را که به آن تکیه می کنید در انتهای پاسخ خود در قالب «[منبع: ...]» اضافه کنید. اگر پاسخ در منبع نیست، این را بنویسید: "اطلاعات قطعی در این مورد ندارم، شما را به مسئولی منتقل می کنم که بتواند پاسخ صحیح را بدهد."

در صورت چند منبعی، اعلان نشان می دهد که بر اساس کدام سند است:

منابع متعددی در زیر شماره گذاری شده است. هنگام پاسخ دادن به سؤال، شماره منبعی را که استفاده کرده اید، مانند [منبع 2] ذکر کنید. اگر بیش از یک منبع با شما مخالفت می کند، آنقدر واضح بگویید و بیان کنید که باید بپرسید کدام یک به روزتر است.<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>سوال: {{ customer_question }}

درخواستی که به طور ایمن سؤال غیر منبع را مدیریت می کند:

اگر پاسخ سوال به طور جزئی در منبع یافت شد: فقط به قسمتی که منبع آن را پوشش می دهد پاسخ دهید و برای قسمت باقی مانده بگویید "این جزئیات در منبع نیست". هرگز قسمت گم شده را با حدس زدن پر نکنید.

درخواستی که پاسخ را به زبان مشتری ترجمه می کند، اما به منبع وفادار می ماند:

عبارت رسمی/فنی در منبع را به زبان ساده و قابل فهم برای مشتری ترجمه کنید، اما معنی و مقادیر عددی (روز، مقدار، نرخ) را تغییر ندهید. برای مثال، گرد کردن "14 روز تقویم" به "حدود دو هفته"؛ ارزش کامل را حفظ کنید

اعلان ضعیف / اعلان قوی

اعلان ضعیف

اعلان قدرتمند

"در مورد سیاست بازگشت ما به ما بگویید"

منبع + "فقط اینجا پاسخ دهید" + نقل قول درخواست ها را جاسازی می کند

پاسخ از حافظه مدل (شاید اشتباه باشد)

از سند فعلی خود پاسخ دهید

اگر در منبع نباشد، تصحیح می کند

می گوید «این اطلاعات را ندارم» و آن را منتقل می کند.

می تواند اعداد را گرد و تحریف کند

روز/مقدار/نرخ را دقیقاً حفظ می کند

تفاوت این است که دستور قوی به مدل یک لنگر (متن منبع) و یک ممنوعیت (خارج شدن از منبع) می دهد. این مدل دیگر از حفظ حرف نمی‌زند، بلکه از واقعیتی که در مقابلش است صحبت می‌کند.

سه کیف کوچک

مورد 1 - تله سیاست قدیمی. ربات یکی از فروشگاه‌ها در حالی که بدون اعتبار کار می‌کرد، گفت: «بازگشت ظرف 30 روز پذیرفته می‌شود». با این حال، شرکت این دوره را به 14 روز کاهش داد. هنگامی که متن خط مشی به روز شده به منبع در نصب RAG اضافه می شود، ربات اکنون پاسخ می دهد "14 روز تقویم [منبع: سیاست بازگشت، مقاله 2]". اختلافات بازپرداخت ناشی از وعده های دروغین بازنشانی شده است.

مورد 2 - گرفتن تناقض. مشتری در مورد هزینه حمل و نقل سوال کرد. هر دو لیست قیمت قدیم و جدید به عنوان منبع وارد سیستم شدند. به لطف اعلان چند منبع، مدل گفت: "دو منبع قیمت های متفاوتی را ارائه می دهند (49 لیر و 59 لیره)؛ باید منبع فعلی را تایید کنم" و موضوع را به انسان منتقل کرد. او به جای اینکه مبلغ نادرستی را به مشتری بگوید، عدم قطعیت را صادقانه بیان کرد.

مورد 3 - انضباط پاسخ جزئی. "آیا محصول را به خارج از کشور ارسال می کنید و چه کسی حقوق گمرکی را پرداخت می کند؟" در این سوال، منبع فقط گفت که محموله انجام شده است، چیزی در مورد اینکه چه کسی مالیات پرداخت کرده است. مدل گفت: بله، حمل و نقل به خارج از کشور انجام می شود [منبع: پرسش و پاسخ باربری]، اما در این سند مشخص نشده است که چه کسی حقوق گمرکی را پرداخت می کند، من شما را به مسئول منتقل می کنم تا این موضوع روشن شود. به جای یک پاسخ نیمه واقعی و نیمه ساختگی، یک خروجی صادقانه و مطمئن تولید کرد.

نکته: جدیدترین و منفردترین نسخه حقیقت از پایگاه دانش خود را نگه دارید. داشتن اطلاعات یکسان (به عنوان مثال دوره بازگشت) که در سه سند جداگانه نوشته شده است، بزرگترین دشمن RAG است. این مدل بسته به اینکه به کدام یک نگاه می کند، متفاوت پاسخ می دهد. ابتدا اسناد خود را کپی کنید، سپس آنها را خودکار کنید.

تأیید: فقط به این دلیل که منبع وجود دارد آرام نگیرید

RAG تا حد زیادی توهم را کاهش می دهد اما آن را بازنشانی نمی کند. مدل ممکن است گاهی اوقات منبع را اشتباه تفسیر کند، دو جمله را با هم مخلوط کند، یا «نتیجه‌گیری» کند که در منبع نیست. به همین دلیل است که الزام استناد بسیار مهم است: بخشی را که ادعا می شود پاسخ بر اساس آن است را باز کنید و بررسی کنید که آیا واقعاً چنین است. این کنترل غیرقابل مذاکره است، به ویژه در پاسخ های حاوی اعداد (روز، مقدار، نرخ) و شرایط (استثنا، شرط).

احتیاط: اگر خود منبع اشتباه یا قدیمی باشد، RAG صادقانه آن اشتباه را تکرار می کند. گفتن «مدل از منبع صحبت می‌کند» به این معنا نیست که «مدل درست صحبت می‌کند». شما مسئول ارز و صحت منبع خود هستید.

آماده نگه داشتن پایگاه دانش برای پاسخگویی

کیفیت RAG تا حد زیادی به نحوه نگارش متن منبع بستگی دارد. این مدل پاسخ بسیار دقیق تری نسبت به متون با ساختار و عنوان تک موضوعی ارائه می دهد. توصیه های عملی: خط مشی های خود را به جای پاراگراف های طولانی و تودرتو در بخش های کوتاه و با عنوان بنویسید. اجازه دهید هر بخش به یک سوال پاسخ دهد ("دوره بازگشت چند روز است؟"، "کدام محصولات قابل بازگشت نیستند؟"). نگه داشتن سوالات متداول (FAQ) در قالب پرسش و پاسخ، پیدا کردن قسمت مناسب را برای مدل آسان تر می کند. مقادیری مانند تاریخ، مقدار و نرخ را به وضوح و در یک مکان در متن بیان کنید. نوشتن یک عدد به طور متفاوت در بخش های مختلف مدل را گیج می کند.

عادت مهم دیگر، زنده نگه داشتن پایگاه دانش است. سیاست ها، قیمت ها و تبلیغات متفاوت است. اگر منبع به‌روزرسانی نشود، مدل به تکرار حقیقت قدیمی ادامه می‌دهد. با هر تغییر خط‌مشی، منبع را به‌روزرسانی کنید و دوباره از مدل چند سؤال آزمایشی درباره موضوع تغییر یافته بپرسید تا تأیید کنید که پاسخ صحیح را می‌دهد. این تعمیر و نگهداری کوچک اما منظم باعث می‌شود که سیستم RAG در طول زمان «بی‌صدا اشتباه کند».

اشتباهات رایج

  • بدون دفن منبع و با اتکا به حفظ الگویی گفتن «سیاست ما را توضیح دهید».
  • تعریف نکردن مرز و رفتار غیر منبع "پاسخ فقط از منبع".
  • عدم درخواست مرجع نقل قول/منبع و غیرقابل تأیید گذاشتن پاسخ.
  • نگهداری نسخه های متناقض اطلاعات یکسان در چندین سند در پایگاه دانش.
  • اجازه دادن به مدل برای گرد کردن/تفسیر مقادیر عددی.
  • فراموشی به روز رسانی منبع، باعث می شود مدل به طور صادقانه اطلاعات قدیمی را تکرار کند.

به طور خلاصه

  • RAG به این معنی است که مدل پاسخ خود را از سند منبع فعلی تولید می کند نه از حافظه.
  • عملی ترین راه برای کاهش توهم: منبع را دفن کنید، بگویید "فقط اینجا پاسخ دهید"، درخواست استناد کنید.
  • اگر پاسخ در منبع نباشد، نباید مدلی را در نظر گرفت. باید بگوید «من ندارم» و تحویل دهد.
  • مدل را از منابع متناقض آگاه کنید. شما مقادیر عددی را دقیقاً حفظ کردید.
  • دقت RAG به به موقع بودن منبع شما بستگی دارد. همیشه نقل قول را تایید کنید.

وظیفه کاربردی

یک متن خط مشی واقعی (بازگشت، حمل و نقل یا عضویت) را از کسب و کار خود بگیرید و آن را به عنوان منبع در اعلان اصلی RAG در بالا جاسازی کنید. سپس سه سؤال بپرسید: (1) سؤالی که پاسخ آن در منبع واضح است، (2) سؤالی که پاسخ آن اصلاً در منبع نیست، (3) سؤالی که پاسخ آن فقط در منبع ناقص است. بررسی کنید که مدل به درستی پاسخ می دهد، می گوید "من آن را ندارم" و صادقانه به ترتیب پاسخ جزئی و گمشده را علامت گذاری می کند. اصلاح رفتار انحرافی با تقویت قوانین وفاداری و غیرمنبعی در اعلانات.

چک لیست

  • [ ] من منبع فعلی را که پاسخ بر اساس آن است را در اعلان جاسازی کردم.
  • [ ] من قانون "فقط از منبع پاسخ دهید، فراتر نروید" را اضافه کردم.
  • [ ] من یک مرجع منبع / نیاز به استناد قرار داده ام.
  • [ ] من رفتار تفویض اختیار را تعریف کردم اگر پاسخ در منبع موجود نباشد.
  • [ ] من نیاز داشتم که مقادیر عددی دقیقاً حفظ شود.
  • [ ] من پاسخ را از جمله منبعی که بر اساس آن است تأیید کردم.