
درک RAG قسمت اول: RAG کلاسیک چگونه کار می کند
تصویر ویرایشگر | میان ترم و کانوا
در اولین مقاله از این مجموعه ارائه کردیم نسل بازیابی تقویت شده (RAG)توضیح می دهد که گسترش قابلیت های سیستم های متعارف ضروری می شود مدل های زبان بزرگ (LLM). همچنین به طور خلاصه ایده کلیدی پشت RAG را شرح میدهیم: بازیابی اطلاعات مرتبط با زمینه از پایگاههای دانش خارجی برای اطمینان از اینکه LLMها اطلاعات دقیق و بهروز تولید میکنند، بدون اینکه از توهم رنج ببرند و نیازی به بازآموزی مداوم مدل باشند.
مقاله دوم در این مجموعه چشمباز، مکانیسمهایی را که تحت آن یک سیستم RAG معمولی عمل میکند، ابهام میکند. در حالی که بسیاری از نسخههای پیشرفتهتر و پیشرفتهتر RAG تقریباً هر روز به عنوان بخشی از پیشرفتهای سرسامآور امروزی در هوش مصنوعی ظاهر میشوند، اولین قدم برای درک آخرین رویکردهای پیشرفته RAG این است که ابتدا ایستگاه کاری RAG کلاسیک جریان را درک کنید.
گردش کار کلاسیک RAG
یک سیستم RAG معمولی (در نمودار زیر نشان داده شده است) سه جزء کلیدی مرتبط با داده را مدیریت می کند:
- الف LLM که دانش را از داده هایی که با آنها آموزش دیده بود، به دست آورد، معمولاً میلیون ها یا حتی میلیاردها سند متنی.
- الف پایگاه داده بردارینیز نامیده می شود پایگاه دانش ذخیره سازی اسناد متنی اما چرا نام بردار پایگاه داده؟ در سراسر RAG و سیستم های پردازش زبان طبیعی (NLP)، اطلاعات متنی به نمایش های دیجیتالی به نام بردار تبدیل می شود و معنای معنایی متن را به تصویر می کشد. بردارها کلمات، جملات یا کل اسناد را نشان میدهند و ویژگیهای کلیدی متن اصلی را حفظ میکنند، به طوری که دو بردار مشابه با کلمات، جملات یا قطعات متن با معنایی مشابه مرتبط میشوند. ذخیره متن به عنوان بردارهای دیجیتال، کارایی سیستم را بهبود می بخشد، به طوری که اسناد مربوطه به سرعت پیدا و بازیابی می شوند.
- درخواست ها یا درخواست ها توسط کاربر به زبان طبیعی فرموله شده است.


نمودار کلی یک سیستم RAG پایه
به طور خلاصه، وقتی کاربر یک سوال زبان طبیعی را از یک دستیار مبتنی بر LLM با موتور RAG می پرسد، سه مرحله بین ارسال سوال و دریافت پاسخ انجام می شود:
- بازیابی: جزء نامیده می شود رتریور به پایگاه داده برداری برای جستجو و بازیابی اسناد مربوط به درخواست کاربر دسترسی دارد.
- افزایش دهید: پرس و جو اصلی کاربر با ترکیب دانش زمینه ای از اسناد بازیابی شده تقویت می شود.
- نسل: LLM – همچنین معمولاً نامیده می شود ژنراتور از نقطه نظر RAG، پرس و جوی کاربر را با اطلاعات متنی مرتبط دریافت می کند و پاسخ متنی دقیق تر و واقعی تری ایجاد می کند.
داخل رتریور
Retriever جزء یک سیستم RAG است که اطلاعات مربوطه را برای بهبود نتیجه نهایی که متعاقباً توسط LLM ایجاد می شود، پیدا می کند. شما می توانید آن را به عنوان یک موتور جستجوی پیشرفته تصور کنید که نه تنها کلمات کلیدی درخواست کاربر را با اسناد ذخیره شده مطابقت می دهد، بلکه معنای پرس و جو را نیز درک می کند.
بازیابی بخش بزرگی از دانش را از دامنه مربوط به پرس و جو، که در قالب برداری (نمایش دیجیتالی متن) ذخیره شده است، تجزیه و تحلیل می کند و مرتبط ترین تکه های متن را استخراج می کند تا پیرامون آنها زمینه ای ایجاد کند که به پرس و جو اصلی متصل است. از کاربر. یک تکنیک رایج برای شناسایی دانش مرتبط است جستجوی شباهتجایی که پرس و جوی کاربر در یک نمایش برداری کدگذاری می شود و این بردار با داده های برداری ذخیره شده مقایسه می شود. به این ترتیب، شناسایی عناصر دانش که بیشترین ارتباط را با پرس و جوی کاربر دارد، به معنای انجام محاسبات ریاضی تکراری برای شناسایی نزدیک ترین (مشابه ترین) بردارها به نمایش برداری آن پرس و جو است. بنابراین، بازیابی موفق می شود اطلاعات دقیق و متنی را نه تنها به طور موثر، بلکه به طور دقیق استخراج کند.
داخل ژنراتور
مولد RAG معمولاً یک مدل زبان پیچیده است که اغلب یک LLM بر اساس آن است معماری ترانسفورماتورکه ورودی افزوده شده را از بازیابی می گیرد و پاسخی درست، متنی و به طور کلی صادقانه تولید می کند. این نتیجه معمولاً با ترکیب اطلاعات خارجی مرتبط از کیفیت یک LLM مستقل فراتر می رود.
در داخل مدل، فرآیند تولید هم شامل درک و هم تولید متن میشود که توسط مؤلفههایی مدیریت میشود که ورودی تقویتشده را رمزگذاری میکنند و متن خروجی را کلمه به کلمه تولید میکنند. هر کلمه بر اساس کلمات قبلی پیش بینی می شود: این کار که به عنوان آخرین مرحله LLM انجام می شود، به عنوان شناخته شده است. پیش بینی کلمه بعدی مشکل: محتمل ترین کلمه بعدی را برای حفظ ثبات و ارتباط پیام تولید شده پیش بینی کنید.
این پیام فرآیند تولید زبان مبتنی بر مولد را بیشتر توسعه می دهد.
نگاه به آینده
در مقاله بعدی از این سری مقالات در مورد درک RAG با آن آشنا خواهیم شد روش های همجوشی برای RAGبا استفاده از رویکردهای تخصصی برای ترکیب اطلاعات از چندین سند بازیابی شده مشخص می شود، در نتیجه زمینه را برای ایجاد پاسخ بهبود می بخشد.
یک مثال رایج از روشهای ادغام در RAG، رتبهبندی مجدد است که شامل امتیازدهی و اولویتبندی چندین سند بازیابی شده بر اساس ارتباط آنها با کاربر قبل از ارسال مرتبطترین آنها به مولد است. این به بهبود بیشتر کیفیت بافت افزوده و پاسخهای احتمالی تولید شده توسط مدل زبان کمک میکند.