بیاموزید که سیستم RAG چیست و چگونه آن را با استفاده از ابزارها و چارچوب های منبع باز OPEA استقرار دهید
در این مرحله، بسیاری از ما از یک مدل زبان بزرگ (LLM) مانند ChatGPT استفاده کردهایم تا بتوانیم پاسخهای سریعی برای سؤالاتی پیدا کنیم که بر دانش و اطلاعات عمومی متکی هستند. این سؤالات از سؤالات عملی (بهترین راه برای یادگیری یک مهارت جدید چیست؟) تا سؤالات فلسفی (معنای زندگی چیست؟) را شامل می شود.
اما چگونه می توانید به سوالات شخصی پاسخ دهید؟ LLM چقدر در مورد شما می داند؟ یا خانواده شما؟
بیایید ChatGPT را آزمایش کنیم و ببینیم چقدر درباره پدرم میداند.
وقتی یک مدل شما را نمی شناسد احساس ناامیدی قابل درک است، اما مهم است که به یاد داشته باشید که این مدل ها اطلاعات زیادی در مورد زندگی شخصی ما ندارند. مگر اینکه شما یک فرد مشهور باشید یا صفحه ویکیپدیای خود را داشته باشید (مانند تام کروز)، مجموعه دادههای آموزشی مورد استفاده برای این مدلها احتمالاً شامل اطلاعات ما نمیشود، به همین دلیل است که آنها نمیتوانند پاسخهای قطعی درباره ما ارائه دهند.
بنابراین، چگونه میتوانیم دانشآموزان LLM را بیشتر بشناسیم؟
این سوال میلیون دلاری پیش روی شرکت هایی است که به دنبال افزایش بهره وری با GenAI هستند. آنها به مدل هایی نیاز دارند که نتایج مبتنی بر زمینه را ارائه دهند. در این پست، ما اصول اولیه اینکه چگونه Retrieval Augmented Generation (RAG) میتواند پاسخهای LLM شما را بهبود بخشد، توضیح میدهیم و به شما نشان میدهیم که چگونه به راحتی مدل مبتنی بر RAG را با استفاده از رویکرد مدولار با بلوکهای سازنده منبع باز که بخشی از پلتفرم باز جدید برای هوش مصنوعی سازمانی (OPEA).
کهنه چیست؟
ما می دانیم که دارندگان مدرک LLM می توانند با انجام طیف گسترده ای از وظایف، مانند نوشتن، یادگیری، برنامه نویسی، ترجمه و غیره سهم قابل توجهی داشته باشند. با این حال، نتیجهای که دریافت میکنیم به آنچه از مدل میخواهیم بستگی دارد، به عبارت دیگر، به اینکه چقدر دقیق خواستههایمان را میسازیم. به همین دلیل، ما زمان زیادی را صرف جستجوی اعلان مناسب برای دریافت پاسخ مورد نظر خود می کنیم. ما در حال تبدیل شدن به متخصص در ادعای فرم ها هستیم.
بیایید به سوال بالا برگردیم: “مادر من کیست؟” ما می دانیم مادرمان کیست، خاطرات داریم و این اطلاعات در پایگاه دانش «ذهنی» ما یعنی مغز ما زندگی می کند.
هنگام ایجاد اعلان، باید به نحوی آن را با خاطرات مادرمان تغذیه کنیم و سعی کنیم مدل را هدایت کنیم تا از آن اطلاعات برای پاسخ خلاقانه به این سوال استفاده کند: مادر من کیست؟ ما مقداری سابقه مادری را در اختیار او قرار میدهیم و از مدل میخواهیم در هنگام پاسخ دادن به سؤال، گذشته خود را در نظر بگیرد.
همانطور که می بینیم، مدل موفق به ارائه پاسخی شد که مادرم را توصیف می کند. تبریک می گویم، ما از RAG استفاده کردیم!
بیایید بررسی کنیم که چه کردیم.
با توجه به سوال اولیه، ما دستور را برای راهنمایی مدل در مورد نحوه استفاده از اطلاعات (زمینه) ارائه شده اصلاح کردیم.
ما می توانیم فرآیند RAG را در سه بخش در نظر بگیریم:
- راهنمایی: مسیریابی فرم. ما به فرم دستور دادیم که از اطلاعاتی که ارائه کردیم (مدارک) برای پاسخ خلاقانه و در نظر گرفتن سابقه مادرم استفاده کند. ما از این دستورالعمل ها به عنوان مثال استفاده کردیم. بسته به نتیجه ای که می خواستیم به دست آوریم، می توانستیم از دستورالعمل های دیگری استفاده کنیم. اگر مثلاً پاسخی خلاقانه نمیخواهیم، اکنون زمان خوبی برای اعلام آن است.
- زمینه: زمینه را فراهم کنید. در این مثال، از زمانی که آن اطلاعات را از حافظه خود بازیابی کردیم، ما قبلاً اطلاعات مربوط به مادرم را میدانستیم، اما در یک سناریوی واقعی، چالش این است که دادههای مربوطه را در پایگاه دانش پیدا کنیم تا مدل را تغذیه کنیم تا زمینه را داشته باشد. برای ارائه پاسخ دقیق به این فرآیند “بازیابی” نیاز است.
- سوال اولیه: سوال اولیه ای که می خواهیم به آن پاسخ دهیم.
بیایید بررسی کنیم که چگونه یک سازمان می تواند یک مثال RAG واقعی را با استفاده از ابزارها و مدل های منبع باز پیاده سازی کند. ما آن را با استفاده از چارچوبها و ابزارهای استاندارد موجود از طریق OPEA، که برای کمک به سادهسازی اجرای هوش مصنوعی سازمانی ایجاد شدهاند، مستقر خواهیم کرد.
معماری OPEA را کاوش کنید
این ساختاری است که در مثال قبلی استفاده کردیم:
RAG را می توان به سادگی به عنوان مراحل بالا درک کرد:
1) سوال اولیه
2) زمینه
3) راهنمایی
با این حال، پیادهسازی فرآیند در عمل میتواند دشوار باشد زیرا به چندین مؤلفه نیاز است: رتریورها، مدلهای گنجاندن، و پایگاه دانش، همانطور که در تصویر بالا نشان داده شده است. بیایید بررسی کنیم که چگونه این بخش ها می توانند با هم کار کنند.
نکته کلیدی فراهم کردن زمینه مناسب است. میتوانید این فرآیند را با نحوه کمک به ما در پاسخگویی به سوالات مقایسه کنید. برای یک شرکت، این ممکن است به معنای تکیه بر یک پایگاه دانش از داده های مالی تاریخی یا سایر اسناد مرتبط باشد.
به عنوان مثال، هنگامی که یک کاربر قبل از اینکه یک LLM بتواند پاسخی ارائه دهد، از یک ربات چت سؤالی می پرسد، برنامه RAG باید ابتدا در پایگاه دانش فرو رفته و مرتبط ترین اطلاعات را استخراج کند (فرایند بازیابی). اما حتی قبل از اینکه بازیابی اتفاق بیفتد، مدل جاسازی نقش مهمی در تبدیل دادههای موجود در پایگاه دانش به بازنماییهای برداری ایفا میکند – جاسازیهای دیجیتال معناداری که جوهر اطلاعات را در بر میگیرند. این جاسازیها در پایگاه دانش (پایگاه داده برداری) زندگی میکنند و به بازیابی اجازه میدهند تا به طور مؤثر درخواست کاربر را با مرتبطترین اسناد مطابقت دهد.
هنگامی که برنامه RAG اسناد مربوطه را پیدا کرد، یک فرآیند مرتب سازی مجدد را برای بررسی کیفیت اطلاعات انجام می دهد و سپس اطلاعات را بر اساس مرتبط بودن آن مرتب می کند. سپس یک بردار جدید بر اساس زمینه بهبودیافته از اسناد رتبهبندی بالا ایجاد میکند و این بردار را به LLM ارسال میکند و مدل را قادر میسازد تا یک پاسخ با کیفیت بالا و مبتنی بر زمینه تولید کند. آسان است، درست است؟
همانطور که می بینید، معماری RAG فقط مربوط به یک ابزار یا چارچوب نیست. از چندین قسمت متحرک تشکیل شده است که توجه به هر جزء را دشوار می کند. هنگام استقرار یک سیستم RAG در سازمان خود، با چالش های متعددی مانند اطمینان از مقیاس پذیری، مقابله با امنیت داده ها و ادغام با زیرساخت های موجود روبرو هستیم.
هدف پلتفرم باز برای هوش مصنوعی (OPEA) حل این مشکلات با در نظر گرفتن هر جزء در خط لوله RAG به عنوان یک بلوک ساختمانی قابل تعویض است. مثلاً فرض کنید از Mistral استفاده می کنید، اما می خواهید به راحتی آن را با Falcon جایگزین کنید. یا فرض کنید می خواهید به سرعت یک پایگاه داده برداری را جایگزین کنید. شما نمی خواهید مجبور به بازسازی کل برنامه باشید. این یک کابوس خواهد بود. OPEA با ارائه ابزارها و چارچوب های قدرتمند طراحی شده برای ساده سازی این فرآیندها و تسهیل یکپارچه سازی یکپارچه، استقرار را آسان تر می کند.
با اجرای مثال ChatQnA می توانید این فرآیند را در عمل مشاهده کنید: https://github.com/opea-project/GenAIExamples/tree/main/ChatQnA. در آنجا تمام مراحل لازم برای ایجاد عناصر اصلی برنامه RAG خود را در سرور یا AIPC خواهید یافت.
فراخوان به اقدام
ما اصول اولیه نحوه کار RAG و نحوه استقرار خط لوله RAG را با استفاده از چارچوب OPEA به شما نشان دادیم. اگرچه این فرآیند ساده است، اما استقرار یک سیستم RAG در مقیاس بزرگ می تواند عوارضی را ایجاد کند. در ادامه آنچه می توانید انجام دهید این است:
- GenAIComps را کاوش کنید: در مورد اینکه چگونه اجزای هوش مصنوعی مولد با هم کار می کنند و چگونه می توانید از آنها در برنامه های کاربردی دنیای واقعی استفاده کنید، بینش دریافت کنید. OPEA نمونه ها و مستندات دقیقی را برای هدایت اکتشاف شما ارائه می دهد.
- کاوش نسخه نمایشی RAG (ChatQnA): هر بخش از سیستم RAG چالشهای خاص خود را ارائه میکند، از جمله اطمینان از مقیاسپذیری، رسیدگی به امنیت دادهها و ادغام با زیرساختهای موجود. به عنوان یک پلت فرم منبع باز، OPEA ابزارها و چارچوب هایی را ارائه می دهد که برای رسیدگی به این مسائل و کارآمدتر کردن فرآیند استقرار طراحی شده اند. دموهای ما را کاوش کنید تا ببینید چگونه این راه حل ها در عمل با هم ترکیب می شوند.
- نمونههای GenAI را کاوش کنید: OPEA فقط روی RAG متمرکز نیست. این به طور کلی در مورد هوش مصنوعی مولد است. چندین نسخه نمایشی دیگر، مانند VisualQnA، قابلیتهای مختلف GenAI را به نمایش میگذارند. این مثالها نشان میدهند که چگونه میتوان از OPEA در ماموریتهای مختلف استفاده کرد و فراتر از RAG به سایر برنامههای کاربردی GenAI نوآورانه گسترش داد.
- به پروژه کمک کنید! OPEA توسط جامعه رو به رشدی از توسعه دهندگان و متخصصان هوش مصنوعی ایجاد شد. چه علاقه مند به مشارکت در کد، بهبود اسناد یا ایجاد ویژگی های جدید باشید، مشارکت شما کلید موفقیت ما است.
به ما در OPEA GitHub بپیوندید تا شروع به مشارکت کنید یا لیست مشکلات ما را بررسی کنید تا ایده هایی در مورد اینکه از کجا شروع کنیم به دست آورید.
درباره نویسنده
Ezequiel Lanza، مبشر هوش مصنوعی منبع باز، اینتل
Ezequiel Lanza مبشر AI منبع باز در تیم Open Ecosystem اینتل است و علاقه زیادی به کمک به مردم برای کشف دنیای هیجان انگیز هوش مصنوعی دارد. او همچنین یک مجری مکرر کنفرانس هوش مصنوعی و خالق موارد استفاده، آموزش ها و راهنماها برای کمک به توسعه دهندگان برای استفاده از ابزارهای AI منبع باز است. او دارای مدرک کارشناسی ارشد در رشته علوم داده است. می توانید او را در X و LinkedIn پیدا کنید
Understanding Retrieval Augmented Generation (RAG) در ابتدا در Intel Tech on Medium منتشر شد، جایی که مردم با برجسته کردن و پاسخ دادن به این داستان به گفتگو ادامه می دهند.