مدلهای زبانی فقط از دادهی آموزششان میدانند و به اسناد داخلی شما دسترسی ندارند. RAG این شکاف را پر میکند: اسناد به تکههای کوچک شکسته و با امبدینگ ایندکس میشوند. هنگام پرسش، نزدیکترین تکهها بازیابی و در پرامپت قرار میگیرند.
مزیتها: بهروز بودن بدون آموزش مجدد، امکان نشان دادن منبع و کم شدن توهم. ضعفها: کیفیت بازیابی تعیینکننده است؛ اگر تکهی درست پیدا نشود، مدل پاسخ درستی نمیدهد. اندازهی تکهها، همپوشانی و مدل امبدینگ باید با آزمون تنظیم شود.
RAG معمولاً از fine-tuning ارزانتر و سادهتر است برای مواردی که مسئله «دانش» است. اگر مسئله «سبک» یا قالب خروجی است، گزینههای دیگر هم وجود دارد.
مثال کاربردی
یک شرکت ۵۰۰ سند داخلی دارد. اسناد را تکهتکه و ایندکس میکند. وقتی کارمندی دربارهی مرخصی میپرسد، سه تکهی مرتبط پیدا و همراه پرسش به مدل داده میشود و مدل با ذکر همان بخشها پاسخ میدهد.
چطور در عمل بررسی کنیم؟
بهترین راه یادگرفتن این مفهوم، دیدن آن در یک درخواست واقعی است. یک کلید بسازید، فهرست مدلها را با /v1/models بگیرید، یک درخواست کوچک بفرستید و فیلدهای پاسخ (از جمله usage و finish_reason) را بخوانید. سپس همان درخواست را با پارامتر یا مدل دیگر تکرار و در داشبورد مصرف و هزینه را مقایسه کنید. نمونههای آماده در راهنمای cURL و راهنمای پایتون هست.
اصطلاحات نزدیک
- امبدینگ: امبدینگ نمایش عددی (بردار) یک متن است که شباهت معنایی متنها را قابل اندازهگیری میکند و پایهی جستجوی معنایی و RAG است.
- پنجرهی زمینه: پنجرهی زمینه حداکثر تعداد توکنی است که مدل در یک درخواست میتواند همزمان ببیند؛ شامل پرامپت، تاریخچه و پاسخ.
- توهم مدل: توهم (Hallucination) وقتی است که مدل زبانی اطلاعات نادرست یا ساختگی را روان و مطمئن بیان میکند.
- فاینتیونینگ: Fine-tuning ادامهی آموزش یک مدل از پیشآموزشدیده روی دادهی اختصاصی است تا سبک، قالب یا رفتار خاصی را یاد بگیرد.
در پیکو هوش
تولید پاسخ را میتوانید با API پیکو هوش انجام دهید. چون امبدینگ در پیکو هوش فعلاً نیست، برای ایندکس از مدل امبدینگ محلی یا سرویس دیگری استفاده کنید. راهنمای LlamaIndex و LangChain را ببینید.
اشتباهات رایج
- تکههای خیلی بزرگ یا خیلی کوچک.
- ارزیابی نکردن بازیابی و انتساب خطا به مدل.
پرسشهای متداول
RAG یا fine-tuning؟
برای افزودن دانش، معمولاً RAG؛ برای تغییر سبک و رفتار، fine-tuning یا پرامپت بهتر.
آیا توهم را حذف میکند؟
کم میکند، اما حذف نمیکند.
تولید مبتنی بر بازیابی در پیکو هوش چه نقشی دارد؟
تولید پاسخ را میتوانید با API پیکو هوش انجام دهید. چون امبدینگ در پیکو هوش فعلاً نیست، برای ایندکس از مدل امبدینگ محلی یا سرویس دیگری استفاده کنید. راهنمای LlamaIndex و LangChain را ببینید.
از تعریف تا عمل
ثبتنام کنید، یک کلید بسازید و مفهوم را روی مدل واقعی امتحان کنید.