بازگشت به بینش‌ها
جست‌وجوی هوشمند5 آبان 1405۱۲ دقیقه مطالعه

RAG چیست؟ آموزش ساخت چت‌بات روی اسناد فارسی با منبع

راهنمای گام‌به‌گام RAG برای پرسش و پاسخ روی PDF و اسناد سازمانی فارسی؛ از آماده‌سازی متن و بازیابی تا ارزیابی پاسخ و امنیت.

نمایش مفهومی اتصال داده و سامانه هوشمند

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

مسیر یک پرسش در RAG

  1. فایل‌ها به متن قابل جست‌وجو تبدیل می‌شوند.
  2. متن به بخش‌هایی با شناسه سند، شماره صفحه، تاریخ و سطح دسترسی تقسیم می‌شود.
  3. جست‌وجوی واژگانی، معنایی یا ترکیبی نامزدهای مرتبط را پیدا می‌کند.
  4. بخش‌های مناسب همراه پرسش به مدل زبانی داده می‌شوند.
  5. پاسخ همراه لینک یا شماره صفحه منبع برمی‌گردد؛ اگر شاهد کافی نیست، سامانه باید صریح بگوید.

این الگو در مستندات بازیابی OpenAI نیز از جست‌وجوی اطلاعات مرتبط پیش از تولید پاسخ استفاده می‌کند.

آماده‌سازی اسناد فارسی: مهم‌تر از انتخاب مدل

PDF اسکن‌شده به OCR نیاز دارد؛ خروجی OCR را روی چند صفحه نمونه بررسی کنید. حروف «ی/ي» و «ک/ك»، ارقام فارسی و لاتین، نیم‌فاصله و ترتیب ستون‌های جدول ممکن است بازیابی را خراب کنند. متن اصلی را برای نمایش نگه دارید و نسخه نرمال‌شده را فقط برای جست‌وجو به کار ببرید. عنوان، نسخه، تاریخ اعتبار و مالک سند باید کنار هر بخش ثبت شوند.

برای مثال، اگر دستورالعمل پمپ در نسخه ۱۴۰۳ و ۱۴۰۵ موجود است، پاسخ نباید بی‌صدا از نسخه قدیمی استفاده کند. کاربر باید بتواند تاریخ و صفحه شاهد را ببیند.

جست‌وجوی واژگانی، برداری یا ترکیبی؟

جست‌وجوی واژگانی برای شماره فنی، کد خطا و نام دقیق قطعه خوب است. جست‌وجوی برداری برای عبارت‌هایی با معنای نزدیک کمک می‌کند. در اسناد صنعتی، ترکیب این دو غالباً نقطه شروع بهتری است: نام قطعه دقیق باقی می‌ماند و پرسش محاوره‌ای نیز سند مرتبط را پیدا می‌کند. سپس می‌توان نتایج را بر اساس ارتباط و تازگی دوباره مرتب کرد.

بخش‌بندی را با یک اندازه ثابت کورکورانه انجام ندهید. سرعنوان، جدول و بند وابسته باید تا حد ممکن کنار هم بمانند. یک جدولِ جداشده از عنوانش ممکن است عدد درست را به تجهیز اشتباه نسبت دهد.

چگونه کیفیت را بسنجیم؟

از کاربران واقعی ۵۰ پرسش جمع کنید؛ چند پرسش باید بی‌پاسخ باشند. برای هر پرسش، سند و صفحه درست را مشخص کنید. سپس دو لایه را جدا بسنجید:

نرخ پاسخ بی‌منبع، پاسخ به پرسش بی‌پاسخ، زمان پاسخ و رضایت کاربر را نیز ثبت کنید. تغییر مدل، روش بخش‌بندی یا رتبه‌بندی باید روی همان مجموعه آزمون سنجیده شود. یک پاسخ زیبا که به صفحه اشتباه ارجاع می‌دهد، موفقیت نیست.

امنیت و دسترسی

فیلتر دسترسی باید پیش از بازیابی اعمال شود، نه فقط پیش از نمایش پاسخ. اگر کاربر مجوز دیدن قرارداد محرمانه ندارد، حتی قطعه‌ای از آن نباید وارد متن ارسالی به مدل شود. متن بازیابی‌شده را داده غیرقابل اعتماد بدانید؛ دستورهای داخل سند نباید بتوانند رفتار سامانه را عوض کنند. نسخه اسناد، ثبت رویداد و سیاست حذف داده نیز باید روشن باشد.

نسخه اولیه‌ای که ارزش ساخت دارد

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

اگر قرار است سامانه علاوه بر پاسخ دادن اقدامی مانند ایجاد درخواست کار انجام دهد، طراحی ایجنت هوش مصنوعی و تأیید انسانی را جداگانه در نظر بگیرید.

پرسش‌های متداول

RAG چیست؟

روشی است که پیش از تولید پاسخ، بخش‌های مرتبط از اسناد را پیدا می‌کند و همراه پرسش در اختیار مدل زبانی قرار می‌دهد.

آیا RAG خطای مدل را حذف می‌کند؟

خیر. بازیابی نادرست، سند قدیمی یا پاسخ فراتر از متن منبع همچنان می‌تواند خطا ایجاد کند؛ ارزیابی و نمایش شاهد ضروری است.

آیا برای RAG باید مدل را دوباره آموزش داد؟

در نسخه پایه خیر؛ اسناد نمایه‌سازی می‌شوند و در زمان پرسش، بخش‌های مرتبط به مدل داده می‌شود.

مطالعه‌های بیشترهمهٔ مقاله‌های یوتا