مفهوم اصلی
وظیفه اصلی Retriever در یک سیستم RAG (Retrieval-Augmented Generation) ساده به نظر میرسد:
پیدا کردن اسناد موجود در Knowledge Base که بتوانند به LLM برای پاسخ دادن به یک Prompt کمک کنند.
اما در عمل، انجام این کار بسیار پیچیده است.
چرا وظیفه Retriever دشوار است؟
1. ورودی کاربران ساختار مشخصی ندارد
کاربران معمولاً Queryهای ساختاریافته مانند:
SELECT ...
به سیستم RAG ارسال نمیکنند.
آنها با LLM مانند یک انسان گفتگو میکنند.
مثلاً:
- سؤال طبیعی میپرسند.
- توضیحات طولانی ارائه میدهند.
- از زبان محاورهای استفاده میکنند.
بنابراین Retriever باید بتواند معنی سؤالهای طبیعی را درک کند.
2. ساختار اسناد Knowledge Base متفاوت است
اسناد موجود در Knowledge Base میتوانند بسیار متنوع باشند.
مثال:
- ایمیلهای شخصی
- یادداشتها و Memoهای داخلی شرکت
- مقالات مجلات پزشکی
- اسناد مختلف سازمانی
این اطلاعات معمولاً:
- برای خواندن انسان طراحی شدهاند.
- ساختار مناسبی برای جستجوی کامپیوتری ندارند.
چالش اصلی Retriever
Retriever باید بتواند:
- اطلاعات نامنظم و متنوع را پردازش کند.
- ارتباط بین سؤال کاربر و اسناد را تشخیص دهد.
- مرتبطترین بخشهای اطلاعات را پیدا کند.
- نتیجه را در زمان بسیار کوتاه (کسری از ثانیه) برگرداند.
هدف Module 2
در این ماژول، تکنیکهای اصلی مورد استفاده Retriever بررسی خواهند شد.
مباحث شامل:
1. تکنیکهای اصلی Retrieval
یادگیری روشهایی که Retriever برای پیدا کردن اطلاعات استفاده میکند.
2. درک تئوری روشها
برای هر تکنیک:
- نحوه عملکرد بررسی میشود.
- مبنای نظری آن توضیح داده میشود.
3. بررسی نقاط قوت و ضعف
هر روش بررسی خواهد شد از نظر:
- مزایا
- محدودیتها
- شرایط مناسب استفاده
4. ترکیب تکنیکها در Retriever
یک Retriever قدرتمند معمولاً فقط از یک روش استفاده نمیکند.
در این ماژول بررسی میشود که چگونه روشهای مختلف با هم ترکیب میشوند تا بهترین نتیجه حاصل شود.
ارزیابی عملکرد Retriever
در این ماژول همچنین با روشهایی برای بررسی کیفیت Retriever آشنا میشویم.
هدف:
- اندازهگیری میزان موفقیت Retriever در پیدا کردن اطلاعات مناسب.
- ارزیابی کیفیت نتایج بازیابیشده.
تمرینهای عملی Module 2
مانند سایر بخشهای دوره:
- تمرینهای برنامهنویسی عملی انجام خواهد شد.
- یک Assignment برنامهنویسی ارائه میشود.
- مفاهیم یادگرفتهشده در عمل پیادهسازی خواهند شد.
جمعبندی
- وظیفه Retriever پیدا کردن اسناد مرتبط برای کمک به LLM است.
- این کار به دلیل غیرساختاریافته بودن سؤال کاربران و تنوع اسناد، پیچیده است.
- کاربران با زبان طبیعی سؤال میپرسند، نه Queryهای ساختاریافته.
- اسناد Knowledge Base معمولاً برای انسان نوشته شدهاند، نه برای جستجوی ماشینی.
- Retriever باید اطلاعات مرتبط را سریع و دقیق پیدا کند.
- در این ماژول تکنیکهای اصلی Retrieval، نقاط قوت و ضعف آنها و روش ارزیابی Retriever بررسی میشوند.