نیک آموز > وبلاگ > هوش مصنوعی > RAG (Retrieval-Augmented Generation) چیست و چگونه آن را دستیار AI می دانیم؟
RAG (Retrieval-Augmented Generation) چیست و چگونه آن را دستیار AI می دانیم؟

RAG (Retrieval-Augmented Generation) چیست و چگونه آن را دستیار AI می دانیم؟

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۱۰ خرداد ۱۴۰۳
آخرین بروزرسانی: 17 آذر 1404
زمان مطالعه: 12 دقیقه
۴.۱
(۲۰)

Retrieval-Augmented Generation) RAG) یک الگوی طراحی برای سیستم‌های هوش مصنوعی مبتنی بر مدل‌های زبانی در مقیاس بزرگ است. این الگو قبل از تولید پاسخ، ابتدا دانش را از منابع اطلاعاتی خارجی بازیابی می‌کند. در این رویکرد، مدل زبانی نه تنها به داده‌های آموزشی اولیه خود متکی است، بلکه ابتدا اسناد مرتبط را از یک پایگاه دانش (مانند پایگاه داده برداری، موتور جستجو یا مخزن اسناد سازمانی) بازیابی می‌کند، سپس این اطلاعات را با دانش داخلی خود ترکیب می‌کند تا پاسخ را تولید کند.

مزیت این مکانیسم این است که در مسائل دانش‌ محور، از نیاز به صرف منابع قابل توجه برای آموزش مجدد مدل با هر به‌روزرسانی داده‌ها، جلوگیری می‌کند و می‌تواند دقت، قابلیت استناد و به‌موقع بودن پاسخ را بهبود بخشد؛ بنابراین، RAG به یکی از مدل‌های اصلی در طراحی دستیاران سازمانی هوشمند، سیستم‌های پرسش و پاسخ حرفه‌ای و ابزارهای تحلیلی مبتنی بر مدل زبانی تبدیل شده است.


برای درک بهتر مفهوم RAG و نقش آن در معماری هوش مصنوعی، توصیه می‌شود ابتدا مقاله “مدل زبانی در مقیاس بزرگ (LLM) چیست؟” را مطالعه کنید.


مدل‌های زبانی در مقیاس بزرگ (LLM) یک فناوری هوش مصنوعی هستند که برای تشخیص و تولید متن استفاده می‌شوند و امروزه به یک شایستگی اصلی برای اکثر سازمان‌ها تبدیل شده‌اند.

در اصل، RAG روشی است که اطلاعات فعلی یا مرتبط را از پایگاه‌های داده خارجی استخراج کرده و آن را در اختیار هوش مصنوعی مبتنی بر LLM قرار می‌دهد. هنگامی‌که کاربر دستورالعمل خاصی را به هوش مصنوعی می‌دهد و مدل نیاز به تولید پاسخ دارد، RAG مداخله کرده و اطلاعات را از منابع معتبر ذخیره شده در یک پایگاه داده برداری بازیابی می‌کند؛ در نهایت، هر پاسخ دارای معنا و مفهوم نسبتاً صحیحی است و درنتیجه احتمال خطاهای مدل را کاهش می‌دهد.

RAG


برای شناخت عمیق RAG و دیگر تکنیک‌های روز هوش مصنوعی، با جامع‌ترین دوره‌ی آموزش هوش مصنوعی با ما همراه باشید.


تاریخچه و توسعه RAG

ایده ترکیب بازیابی اطلاعات با تولید زبان طبیعی، دهه‌هاست که در تحقیقات بازیابی اطلاعات و پاسخ به پرسش، از سیستم‌های کلاسیک پاسخ به پرسش دهه ۱۹۹۰ تا مسابقاتی مانند TREC، مطرح شده است. با این حال، اصطلاح و چارچوب «تولید افزوده بازیابی» (RAG) تا زمان انتشار مقاله‌ای توسط لوئیس و همکارانش در کنفرانس NeurIPS در سال ۲۰۲۰، به طور رسمی مطرح نشده بود. این مقاله RAG را به عنوان یک معماری ترکیبی تعریف می‌کرد که مدل‌های زبان مولد را با ماژول‌های بازیابی سند ترکیب می‌کند و آن را نسبت به مدل‌های صرفاً مولد در مسائل دانش‌محور برتر می‌سازد.

قبل از پیشنهاد رسمی RAG، برنامه واتسون IBM در مسابقه Jeopardy و برخی از موتورهای جستجوی مبتنی بر پرس‌وجو نیز از ترکیبی از تکنیک‌های بازیابی و تولید پاسخ استفاده می‌کردند. با این حال، این سیستم‌ها عمدتاً مبتنی بر مدل‌های آماری و قوانین تولید دستی بودند و فاقد یک چارچوب یکپارچه مانند RAG بودند که برای دوران مدل‌های زبانی در مقیاس بزرگ قابل استفاده باشد.

پس از انتشار مقاله لوئیس و همکارانش، تحقیقات RAG به سرعت تکامل یافته و اکنون در مقالات مروری و راهنماهای صنعتی به نسل‌های مختلفی مانند «RAG ساده»، «RAG پیشرفته» و «معماری RAG ماژولار» طبقه‌بندی می‌شود. این معماری‌ها درحال حاضر به طور گسترده توسط محصولات مختلف شرکت‌هایی مانند مایکروسافت، گوگل، AWS، OpenAI و ارائه دهندگان پلتفرم سازمانی پذیرفته شده‌اند.

RAG چگونه کار می‌ کند؟

معماری RAG معمولاً از چهار مرحله اصلی تشکیل شده است: نمایش و نمایه‌سازی داده‌ها، بازیابی، بهبود متن ورودی و تولید.

۱.نمایه‌سازی و برداری‌سازی داده‌ها

در مرحله آماده‌سازی، فایل‌های متنی، کد، گزارش‌ها یا سایر منابع دانش به قطعات کوچک‌تر تقسیم می‌شوند و با استفاده از یک مدل جاسازی، به بردارهایی در فضای برداری تبدیل می‌شوند. این بردارها برای جستجوی معنایی سریع در یک پایگاه داده برداری یا یک موتور جستجوی ترکیبی (کلمه کلیدی + بردار) ذخیره می‌شوند.

۲.بازیابی

هنگامی که کاربر یک پرس‌وجو ارسال می‌کند، ماژول بازیابی ابتدا نزدیکترین قطعات متن یا اسناد مرتبط را از پایگاه دانش بر اساس شباهت معنایی، کلمات کلیدی یا ترکیبی از هر دو انتخاب می‌کند. کیفیت این مرحله بسیار مهم است؛ حتی یک مدل زبانی بسیار قدرتمند نیز در صورت بازیابی اسناد نامربوط، نمی‌تواند پاسخ دقیقی ارائه دهد.

۳. بهبود

در مرحله بهبود، اسناد بازیابی شده، همراه با پرس‌وجوی کاربر، به عنوان “نکات بهبود” به مدل زبان وارد می‌شوند. این نکات می‌توانند شامل دستورالعمل‌های صریح (مثلاً درخواست استناد یا محدود کردن دامنه پاسخ) و انتخاب هوشمند زیرمجموعه‌های مرتبط اسناد باشند. هدف این مرحله فراهم کردن زمینه برای مدل است که آن را قادر می‌سازد پاسخ‌ها را بر اساس اطلاعات معتبر و قابل ردیابی تولید کند.

۴. تولید

در نهایت، مدل زبان بزرگ دانش داخلی خود را با اطلاعات بازیابی شده ترکیب می‌کند تا پاسخ‌های منسجم و معناداری تولید کند. در معماری‌های پیشرفته‌تر، این مرحله ممکن است شامل مراحل اضافی مانند مرتب‌سازی مجدد اسناد، انتخاب زمینه پویا یا استفاده از مدل‌های زنجیره‌ای چندگانه برای بهبود دقت و کاهش خطاها باشد.

کاربردهای(Retrieval-Augmented Generation)RAG (تولید بهبود یافته بازیابی) چیست؟

RAG به عنوان راه حلی برای بهبود دقت و قابلیت اطمینان پاسخ‌های مدل زبان، به طور گسترده در زمینه‌های مختلف استفاده می‌شود. مهم‌ترین سناریوهای کاربردی عبارت‌اند از:

  • پشتیبانی مشتری و مدیریت دانش سازمانی

سازمان‌ها پایگاه‌های دانش مبتنی بر RAG را ایجاد می‌کنند تا جستجوهای تعاملی اسناد داخلی، دستورالعمل‌ها، فرآیندها و دستور کارهای تاریخی را امکان‌پذیر سازند؛ به این ترتیب، پاسخ‌های سیستم بر اساس اسناد واقعی سازمانی، نه الگوهای عمومی، تولید می‌شوند.

  • پاسخ به سوالات در زمینه‌های تخصصی (به عنوان مثال، پزشکی و حقوق)

در حوزه پزشکی، RAG به مدل کمک می‌کند تا قبل از پاسخ به سوالات، به آخرین دستورالعمل‌های بالینی و مقالات مراجعه کند؛ در حوزه حقوقی، سیستم RAG به بازیابی نظرات و متون حقوقی مرتبط کمک می‌کند، سپس خلاصه‌های قابل فهم را برای کاربران تولید می‌کند.

  • تجزیه و تحلیل اسناد و گزارش‌های طولانی

RAG برای مدیریت اسناد پیچیده مانند گزارش‌های مالی، اسناد فنی یا قراردادهای طولانی بسیار مناسب است. این مدل ابتدا بخش‌های مربوطه را بازیابی می‌کند، سپس بر اساس این بخش‌ها خلاصه می‌کند، به سوالات پاسخ می‌دهد یا بندهای کلیدی را استخراج می‌کند.

  • ابزارهای آموزشی و محتوای تعاملی

در سیستم‌های یادگیری هوشمند، RAG به دانش‌آموزان یا کارمندان این امکان را می‌دهد که بر اساس محتوای دوره یا اسناد سازماندهی‌شده داخلی سؤال بپرسند و پاسخ‌هایی مطابق با این منابع دریافت کنند، نه صرفاً بر اساس دانش عمومی مدل.

  • دستیار تجزیه و تحلیل داده‌ها و هوش تجاری

در برخی معماری‌ها، RAG به عنوان یک لایه میانی بین مدل زبانی و پایگاه‌های داده ساختاریافته عمل می‌کند و به مدل اجازه می‌دهد قبل از تولید پاسخ‌ها، مستقیماً به داده‌های عملیاتی و داشبوردهای تحلیلی متصل شود.

کاربردهای RAG


مزایا و معایب تقویت بازیابی (RAG)Retrieval-Augmented Generation

  • کاهش وابستگی به داده‌های آموزشی ثابت

RAG با افزودن یا به‌روزرسانی پایگاه‌های دانش خارجی بدون آموزش مجدد کامل مدل، امکان به‌روزرسانی پاسخ‌ها با جدیدترین اطلاعات و داده‌های سازمانی را فراهم می‌کند؛ این امر به‌ویژه برای حوزه‌هایی با نرخ بالای تغییر مناسب است.

  • بهبود قابلیت استناد و ردیابی پاسخ‌ها

از آنجایی که پاسخ‌ها بر اساس اسناد بازیابی‌شده تولید می‌شوند، منابع مورد استفاده را می‌توان به کاربران نشان داد و می‌توان تأییدیه ارائه داد، ویژگی‌ای که در مدل‌های “بسته” بدون RAG وجود ندارد.

  • سازگاری با داده‌های خاص دامنه و محرمانه

سازمان‌ها می‌توانند داده‌های داخلی را در پایگاه‌های داده برداری امن یا موتورهای جستجو ذخیره کنند و مدل را در زمان اجرا به این داده‌ها متصل کنند، بدون اینکه آن را در معرض دنیای خارج قرار دهند. این ویژگی RAG را برای برنامه‌های سازمانی و نظارتی بسیار جذاب می‌کند.

چالش‌ ها و محدودیت‌ های RAG

  • وابستگی شدید به کیفیت و پوشش پایگاه دانش

اگر داده‌های نمایه‌شده ناقص، قدیمی یا مغرضانه باشند، پاسخ مدل نیز تحت تأثیر همین مشکلات قرار خواهد گرفت؛ RAGها کمبودهای داده‌ها را جبران نمی‌کنند، بلکه آنها را به سطح تولید متن منتقل می‌کنند.

  • مشکلات در مرحله بازیابی

بازیابی نادرست یا سطحی (مثلاً به دلیل اندازه نامناسب قطعه متن، مدل‌های تطبیق ضعیف یا عدم وجود استراتژی‌های جستجوی ترکیبی) می‌تواند منجر به تولید “پاسخ‌های روان و سلیس” توسط مدل‌ها برای اسناد نادرست یا حاشیه‌ای شود که در واقع نادرست هستند.

  • توهمات مداوم مدل

حتی با RAGها، مدل‌های زبانی همچنان می‌توانند هنگام تفسیر یا ترکیب اسناد بازیابی شده، توهماتی را نشان دهند و ارتباطات نادرستی بین حقایق برقرار کنند. تحقیقات اخیر تأکید می‌کند که RAGها بیشتر شبیه “کاهش‌دهنده” توهمات هستند تا یک راه حل نهایی برای حذف کامل آنها.

  • پیچیدگی ارزیابی سیستم RAG

ارزیابی محدود به دقت پاسخ نهایی نیست؛ کیفیت بازیابی، تطبیق سند-پاسخ و پتانسیل استناد خروجی نیز باید در نظر گرفته شود که نیازمند استانداردها و معیارهای تخصصی است.

مقایسه RAGها (تولید بهبودیافته بازیابی) با سایر روش‌های تولید متن

در این بخش، RAGها را با سایر روش‌های تولید متن مقایسه خواهیم کرد. ابتدا هر روش را معرفی و توضیح می‌دهیم و سپس هر روش را با تولید بهبودیافته بازیابی مقایسه می‌کنیم.

مقایسه RAG با N-gram و CRF

هر دوی این روش‌ها در دسته مدل‌سازی زبان آماری (SLM) قرار می‌گیرند. هدف آنها شناسایی الگوها و ساختارها در زبان انسانی با استفاده از مجموعه داده‌های متنی بزرگ است.

تفاوت بین RAG و N-gram و CRF در نحوه تولید خروجی نهفته است. RAG از یک پایگاه دانش استفاده می‌کند و اطلاعات دقیقی را برای تولید خروجی اضافه می‌کند، در حالی که N-gram و CRF برای شناسایی الگوها و ساختارها در زبان انسانی به مجموعه داده‌های متنی بزرگ متکی هستند.

مقایسه RAG با LSTM و RNN

حافظه کوتاه‌مدت بلند (LSTM) و شبکه‌های عصبی بازگشتی (RNN) هر دو شبکه‌های عصبی هستند. هر دو روش از شبکه‌های عصبی مصنوعی برای شناسایی الگوها در داده‌ها استفاده می‌کنند.

تفاوت بین RAG و این دو روش این است که RAG الگوها را در داده‌ها شناسایی نمی‌کند؛ در عوض، سعی می‌کند محتوای دقیق و به‌روز را به مدل برگرداند.

مقایسه RAG با GPT و BERT

ترانسفورماتور مولد از پیش آموزش‌دیده (GPT) و نمایش رمزگذار دوطرفه (BERT) هر دو متعلق به خانواده مدل مبتنی بر ترانسفورماتور هستند. مدل‌های مبتنی بر ترانسفورماتور به طور مؤثر متن خلاقانه و متنوعی تولید می‌کنند زیرا الگوها و ساختارهای پیچیده‌ای را در داده‌های آموزشی کشف می‌کنند.

با مقایسه RAG با GPT و BERT، می‌توان گفت که مدل‌های RAG دقت داده‌ها و قابلیت اطمینان مدل‌های مبتنی بر ترانسفورماتور را بهبود می‌بخشند.


با بهترین دوره آموزش برنامه‌نویسی رایگان، در نیک‌ آموز با ما همراه باشید.


ابزارها و پلتفرم‌ها برای پیاده‌سازی RAG

ابزارها و چارچوب‌های رایج برای پیاده‌سازی RAG

 ۱.سرویس‌های ابری و پلتفرم‌های سازمانی

  • Azure AI Search و Azure OpenAI

مایکروسافت الگوی RAG را به عنوان یک “الگوی طراحی” رسمی در مستندات Azure AI Search و Azure OpenAI معرفی کرده است. این سرویس‌ها از نمایه‌سازی برداری، جستجوی ترکیبی و اتصال مستقیم به مدل‌های زبان سازمانی پشتیبانی می‌کنند.

  • AWS (خدمات بستر و جستجوی آمازون)

AWS، RAG را به عنوان روشی برای “بهینه‌سازی خروجی LLM با ارجاع به پایگاه‌های دانش معتبر خارجی” تعریف می‌کند و قالب‌های آماده‌ای را در Bedrock برای ساخت برنامه‌های پرسش و پاسخ مبتنی بر RAG ارائه می‌دهد.

 ۲.چارچوب‌های RAG متن‌باز

  • LangChain

LangChain مجموعه‌ای از ماژول‌ها و زنجیره‌ها را برای ساخت برنامه‌های مبتنی بر RAG، از جمله اجزای آماده برای جاسازی، ذخیره‌سازی در پایگاه‌های داده برداری مختلف و طراحی زنجیره‌های پرسش و پاسخ، ارائه می‌دهد.

  • LlamaIndex

LlamaIndex چارچوبی است که بر ساخت “دستیاران دانش” مبتنی بر RAG تمرکز دارد و ابزارهایی را برای دریافت داده‌ها از منابع مختلف، ساخت شاخص‌های برداری و پیاده‌سازی RAGهای کلاسیک و مبتنی بر عامل ارائه می‌دهد.

۳. چارچوب‌های مبتنی بر کتابخانه‌ها و تحقیقات

  • چارچوب‌هایی مانند Haystack، همراه با پیاده‌سازی‌های تحقیقاتی REALM و مدل‌های مشابه، به طور فزاینده‌ای در تحقیقات و راه‌حل‌های سازمانی مورد استفاده قرار می‌گیرند و نشان‌دهنده تکامل RAG از مفهوم تحقیق به فناوری کاربرد عملی هستند.

مسیرهای توسعه آینده RAG (تولید تقویت بازیابی) چیست؟

آینده RAGها و جایگاه آنها در معماری‌های مدرن هوش مصنوعی

تحقیقات اخیر نشان می‌دهد که RAGها از یک الگوی ساده “بازیابی + تولید” به طیف وسیعی از معماری‌های پیچیده‌تر، مانند RAGهای چند مرحله‌ای، RAGهای مدولار و “RAGهای عامل” تکامل یافته‌اند. هدف این معماری‌ها غلبه بر محدودیت‌های تولید سنتی است.

در سطح صنعت، در حالی که RAGها همچنان در بسیاری از دستیاران سازمانی و سیستم‌های پرسش و پاسخ نقش محوری دارند، بررسی‌های مداومی در مورد ادغام بالقوه آنها با عامل‌های هوش مصنوعی و معماری‌های مبتنی بر ابزار وجود دارد. برخی گزارش‌های صنعتی نشان می‌دهند که RAGها با چالش‌هایی در رابطه با امنیت، مدیریت داده‌ها و هزینه نگهداری زیرساخت‌های برداری در مقیاس بزرگ مواجه هستند و برخی سازمان‌ها به تدریج به سمت معماری‌های مبتنی بر عامل تغییر جهت می‌دهند که در آن‌ها RAGها به عنوان اجزا به جای راه‌حل‌های کامل استفاده می‌شوند.

بر اساس تحقیقات و شواهد صنعتی، RAGها در آینده‌ای قابل پیش‌بینی همچنان به عنوان یکی از ابزارهای اصلی مهندسان هوش مصنوعی باقی خواهند ماند، اما احتمالاً در کنار تکنیک‌هایی مانند عامل‌های خودمختار، جستجوی گراف (Graph RAGها) و روش‌های ارزیابی پیشرفته برای ساخت معماری‌های چندلایه و قابل مدیریت‌تر استفاده خواهند شد.

آینده RAG

سخن پایانی

در دنیای امروز که به طور فزاینده‌ای مبتنی بر اطلاعات است، RAGها روشی قابل اعتماد برای اطمینان از به‌روزرسانی سریع مدل‌های LLM و ارائه پاسخ‌های دقیق ارائه می‌دهند. در مقایسه با سایر روش‌های پاسخ مبتنی بر هوش مصنوعی، ترکیب تقویت بازیابی (RAG) با روش‌های دیگری مانند GPT و N-gram می‌تواند نتایج دقیق‌تر و واقع‌بینانه‌تری را سریع‌تر ارائه دهد. از بازخورد شما در مورد این مقاله در بخش نظرات با نیک آموز استقبال می‌شود.

چه رتبه ای می‌دهید؟

میانگین ۴.۱ / ۵. از مجموع ۲۰

اولین نفر باش

title sign
دانلود مقاله
RAG (Retrieval-Augmented Generation) چیست و چگونه آن را دستیار AI می دانیم؟
فرمت PDF
9 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
414 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
title sign
دیدگاه کاربران

    • باسلام
      هیچ آموزش در حوزه LangChain مشاهده نکردم آیا دوره ای توسط تیم فنی شما درحال تدارک هست؟

      • با سلام و احترام. دوره آموزش Vector Database با تدریس استاد مسعود طاهری و استاد حمیدرضا حداد در نیک آموز مرتبط با این حوزه طراحی و تدوین شده است. برای مشاهده دوره و اطلاعات بیشتر بر روی لینک مندرج کلیک کنید.