RAG (Retrieval-Augmented Generation) یک چارچوب هوش مصنوعی است که مدلهای زبان بزرگ (LLM) را قادر میسازد تا اطلاعات دقیق و بهروز را از منابع دانش خارجی بازیابی کنند و درک بهتری در مورد فرآیند تولید متن در LLM در اختیار کاربران قرار دهد.
برای درک آن، یک دادگاه را تصور کنید. قاضی بر اساس درک کلی خود از قانون به پرونده ها رسیدگی می کند و تصمیم می گیرد. گاهی اوقات یک پرونده - مثل یک دعوای قصور پزشکی یا یک اختلاف کارگری - به تخصص خاصی نیاز دارد، بنابراین قاضی، کارمندان دادگاه را به کتابخانه حقوقی می فرستد تا به دنبال سوابق و موارد خاصی باشند که می تواند به آنها استناد کند.
مثل یک قاضی خوب، مدل های زبانی بزرگ (LLM) می توانند به طیف گسترده ای از سوالات انسانی پاسخ دهند. اما برای ارائه پاسخهای معتبر که به منابع استناد میکنند، مدل به یک دستیار برای انجام تحقیقات نیاز دارد. توسعه مبتنی بر بازیابی (RAG) یک راه برای بهبود کیفیت پاسخهای LLMs است. RAG مدل را به منابع خارجی دانش متصل میکند که به مدل کمک میکند تا معنای کلمات را بهتر درک کند و پاسخهای دقیقتری تولید کند.
پیادهسازی RAG در یک سیستم پاسخگویی به سؤالات مبتنی بر LLM دو مزیت دارد:
به زبان ساده، RAG به مدلهای زبانی بزرگ کمک میکند تا پاسخهای دقیقتری تولید کنند و کاربران را مطمئن کند که میتوانند به آنها اعتماد کنند.
به یک مثال ساده از نحوه عملکرد RAG نگاه کنیم:
فرض کنید کاربر سؤال میپرسد: «پایتخت فرانسه چیست؟»
بدون RAG، مدل ممکن است پاسخ دهد: «پاریس». این پاسخ درست است، اما ممکن است کاربر بخواهد بداند چرا این پاسخ درست است.
با RAG، مدل ممکن است پاسخ دهد: «پایتخت فرانسه پاریس است. این شهر در شمال کشور واقع شده است و جمعیت آن حدود دو میلیون نفر است.»این پاسخ دقیقتر است زیرا نه تنها پاسخ به سؤال را ارائه میدهد، بلکه اطلاعاتی در مورد دلایل صحت پاسخ نیز ارائه میدهد.
RAG به مدلها منابعی میدهد که میتوانند به آنها استناد کنند، مانند پاورقیها در یک مقاله تحقیقاتی، بنابراین کاربران میتوانند هر ادعایی را بررسی کنند که باعث ایجاد اعتماد می شود. علاوه بر این، این تکنیک میتواند به مدلها کمک کند تا ابهامات موجود در پرس و جوی کاربر را برطرف کنند. همچنین احتمال حدس اشتباه یک مدل را کاهش می دهد، پدیده ای که گاهی اوقات توهم (hallucination) نامیده می شود.
یکی دیگر از مزایای بزرگ RAG این است که نسبتا آسان است. توسعهدهندگان میتوانند این فرآیند را با حداقل پنج خط کد پیادهسازی کنند که باعث می شود که روش سریعتر و کم هزینه تر از آموزش مجدد یک مدل با مجموعه داده های اضافی باشد و به کاربران امکان می دهد منابع جدید را به سرعت مبادله کنند.
RAG یک فناوری جدید است که هنوز در حال توسعه است. با این حال، پتانسیل زیادی برای بهبود کیفیت پاسخهای مدلهای زبانی بزرگ دارد.
پاتریک لوئیس، نویسنده اصلی مقالهای که در سال ۲۰۲۲ اصطلاح «توسعه مبتنی بر بازیابی» (RAG) را ابداع کرد از این نامگذاری عذرخواهی کرده است. او گفت که اگر میدانست RAG به این محبوبیت میرسد، نام دیگری برای آن انتخاب میکرد.
لوئیس که اکنون رهبری یک تیم RAG در استارتآپ هوش مصنوعی Cohere را بر عهده دارد، گفت که تیمش همیشه قصد داشت نامی زیباتر برای RAG انتخاب کند، اما زمان نوشتن مقاله، هیچکس ایده بهتری نداشت.
با RAG ، کاربران میتوانند با مخازن دادهها مکالمه کنند که نوع جدیدی از تجربه را باز میکنند. این بدان معنی است که برنامههای کاربردی برای RAG میتوانند بسیار بیشتر از برنامههای موجود باشد.
پتانسیل RAG بسیار گسترده است. این فناوری میتواند در طیف وسیعی از صنایع و کاربردها مورد استفاده قرار گیرد. در حال حاضر، شرکتهایی مانند AWS، IBM، Glean، Google، Microsoft، NVIDIA، Oracle و Pinecone در حال توسعه و استفاده از RAG هستند.