RAG چیست؟ وقتی هوش مصنوعی قبل از جواب دادن جستجو میکند
توضیح ساده و کاربردی «تولید افزوده با بازیابی» (RAG)؛ روشی که چتباتها را به اسناد سازمان، سایت یا پایگاه داده شما وصل میکند تا پاسخهای دقیق و مستند بدهند.
مشکل: مدل همهچیز را نمیداند
یک مدل زبانی فقط چیزهایی را «میداند» که در زمان آموزش دیده است. بنابراین:
- از اتفاقهای بعد از تاریخ آموزشش خبر ندارد.
- آییننامه داخلی شرکت شما، قیمت محصولاتتان یا سوابق مشتریانتان را نمیداند.
- وقتی جواب را نمیداند، ممکن است جوابی ساختگی اما قانعکننده بسازد (توهم).
راهحل: اول جستجو، بعد پاسخ
RAG (Retrieval-Augmented Generation یا «تولید افزوده با بازیابی») ایده سادهای دارد: پیش از آنکه سؤال به مدل برسد، سیستم اسناد مرتبط را پیدا میکند و همراه سؤال به مدل میدهد. مدل هم پاسخ را بر اساس همین اسناد مینویسد.
یک تشبیه: امتحان «کتاب باز». دانشجو لازم نیست همه کتاب را حفظ باشد؛ کافی است بداند کدام صفحه را باز کند و از روی آن جواب بنویسد.
RAG قدمبهقدم چطور کار میکند؟
آمادهسازی (یک بار)
- جمعآوری اسناد: PDF، صفحات سایت، مقالههای پشتیبانی، جدولها.
- قطعهبندی: هر سند به تکههای کوچک (مثلاً چند پاراگراف) تقسیم میشود.
- ساخت بردار معنایی: هر تکه به یک Embedding تبدیل میشود؛ عددی که معنای آن را نشان میدهد.
- ذخیره: بردارها در یک پایگاه داده برداری ذخیره میشوند.
هنگام پاسخ (هر سؤال)
- سؤال کاربر هم به بردار تبدیل میشود.
- نزدیکترین تکهها از نظر معنایی پیدا میشوند (نه فقط از نظر کلمات مشترک).
- این تکهها همراه سؤال و یک دستور مثل «فقط بر اساس متنهای زیر پاسخ بده و منبع را ذکر کن» به مدل داده میشوند.
- مدل پاسخ مستند تولید میکند.
مثال واقعی
فرض کنید فروشگاه اینترنتی شما ۲۰۰ صفحه سؤالات متداول و قوانین مرجوعی دارد. مشتری میپرسد: «میتونم کفشی که سایزش بزرگه رو بعد از ده روز پس بدم؟»
- بدون RAG: مدل یک جواب کلی و احتمالاً نادرست درباره «معمولاً فروشگاهها…» میدهد.
- با RAG: سیستم بند مربوط به «مهلت مرجوعی کالای پوشاک» را پیدا میکند و مدل دقیقاً بر اساس قانون فروشگاه شما جواب میدهد.
مزایا و محدودیتها
| مزایا | محدودیتها |
|---|---|
| پاسخهای بهروز بدون آموزش دوباره مدل | کیفیت پاسخ به کیفیت جستجو وابسته است |
| امکان ذکر منبع برای هر پاسخ | اسناد بد یا قدیمی = پاسخ بد |
| ارزانتر و سریعتر از فاینتیون | قطعهبندی نادرست ممکن است زمینه را بشکند |
| کنترل دقیق روی اطلاعاتی که مدل میبیند | نیاز به نگهداری و بهروزرسانی فهرست اسناد |
RAG یا فاینتیون؟
- اگر میخواهید مدل اطلاعات جدید بداند (قیمتها، قوانین، اسناد) → RAG.
- اگر میخواهید مدل رفتار یا سبک خاصی داشته باشد (لحن برند، قالب خروجی ثابت) → فاینتیون.
- در بسیاری از پروژههای واقعی هر دو با هم استفاده میشوند.
کجا RAG را میبینیم؟
- Perplexity و جستجوی وب ChatGPT و Gemini که پاسخ را همراه منبع میدهند.
- NotebookLM گوگل که فقط بر اساس منابع شما پاسخ میدهد.
- قابلیت «Projects» در Claude و ChatGPT که فایلهای شما را در گفتوگو در نظر میگیرد.
- چتباتهای پشتیبانی سازمانها.
شروع کنید
برای آزمایش RAG بدون برنامهنویسی، چند سند PDF را در NotebookLM بارگذاری کنید و دربارهشان سؤال بپرسید. اگر حریم خصوصی مهم است، با Ollama و Open WebUI یک سیستم RAG کاملاً محلی بسازید.