RAG архитектурасы дегеніміз не? Толық анықтамасы және егжей-тегжейлі практикалық мысалдар
RAG архитектурасы — сыртқы ақпаратты сақтайтын, іздеп табатын және LLM-ге беретін компоненттер жиынтығы; бұл нұсқаулықта базалық және гибридті RAG-тан агенттік RAG пен GraphRAG-қа дейінгі 10 түрі екі қадамдық мысал арқылы талданады.

RAG (retrieval augmented generation — іздеу арқылы толықтырылған генерация) — LLM-дер өз нәтижелерін кеңейту және жақсарту үшін сыртқы ақпаратты пайдаланатын процесс. RAG архитектурасы — RAG-ты жүзеге асыруға мүмкіндік беретін компоненттер мен байланыстардың жиынтығы.
RAG-тың бірнеше түрлі санаты бар және олардың әрқайсысы өзіне тән архитектурада жұмыс істейді. Негізінде, RAG жүйесінің архитектурасы ақпараттың сақталу, іздеп табылу және LLM-ге берілу тәсілін анықтайды.
RAG архитектурасы дегеніміз не?
RAG архитектурасы — белгілі бір RAG жүйесінің жұмысын қамтамасыз ететін компоненттердің (және олардың мүмкіндіктерінің) негізгі конфигурациясы. Бұл архитектуралардың барлығы көбіне «қарапайым» немесе «аңғал» (naive) RAG деп аталатын іргелі үлгіге негізделеді.
Іргелі RAG архитектурасына жалпы шолу:
- Ақпарат көзі: Сыртқы ақпарат осы жерде сақталады. Бұл іздеу индексі, ақпараттың үлкен көлемін бейнелейтін векторлық дерекқор немесе өңделмеген құжаттар қоймасы болуы мүмкін.
- Іздеу компоненті: Бұл — ақпарат көзіне сұрау жіберу механизмі. Мысалы, RAG жүйесі мәтіннің қатысты фрагменттерін табу үшін қарапайым кілт сөз бойынша іздеуді немесе ұқсастық бойынша іздеу жүргізу үшін күрделірек векторлық сұрауларды пайдалана алады.
- Оркестрлеу компоненті: Бұл деңгей — LLM негізіндегі қолданбаның пайдаланушы промптына арналған RAG конвейерін LLM-мен бірлесіп немесе дербес іске қосатын бөлігі. Ол сондай-ақ табылған ақпаратты кеңейтілген промптқа жинақтайды.
RAG архитектурасының компоненттері әдетте екі жолға бөлінеді. Деректерді қабылдау жолы деректерді алып, оларды іздеуге болатын ақпарат көзі ретінде ұйымдастырады. Мәтіннің үлкен көлемі векторлық эмбеддингтердің іздеуге болатын қоймасына түрлендірілетін векторлық дерекқорлар — ең кең таралған қолданыстардың бірі.
Іздеу жолы пайдаланушының промптын алып, ақпарат көзінен іздеуге арналған сұрау жасайды. Содан кейін оркестратор табылған ақпаратты LLM-нің кіріс контекстіне қосады. Агенттік және гибридті RAG архитектураларында бірнеше іздеу жолы болуы мүмкін.
RAG архитектурасының түрлері
RAG-ты бір-бірінен толық ерекшеленетін архитектуралар тұрғысынан қарастыру қате түсінікке әкеледі. Инженерлердің көбі модульдік тәсілді қолданып, нақты қолдану жағдайларына сай жеке компоненттерді енгізеді. Шамамен шекара жүргізуге болғанымен, архитектура модельдерінің бір-бірімен едәуір қабаттасатынын ескеру маңызды.
1. Базалық RAG
«Аңғал» немесе «қарапайым» RAG деп те аталатын базалық RAG — RAG-тың басқа түрлері үшін архитектуралық үлгі.
Негізгі процесс салыстырмалы түрде қарапайым: пайдаланушы промпт енгізеді, оркестратор (дербес немесе LLM-мен бірлесіп) сыртқы ақпараттың қажет-қажет еместігін анықтайды да, соған сәйкес іздеу сұрауын құрастырып, жібереді.
Сыртқы ақпарат көзі көбінесе векторлық дерекқор болады, бірақ ол SQL дерекқоры, веб-API, білім графы немесе тіпті «өңделмеген» құжаттар қоймасы да болуы мүмкін. Бұл қосымша ақпарат кейін LLM-нің кіріс контекстіне қосылады.
SQL сұраулары мен API-лерден бөлек, іздеу әдістерінің екі негізгі түрі бар:
- Лексикалық іздеу (кілт сөз бойынша іздеу): Бұл — пайдаланушы сұрауынан кілт сөздер алынып, сол кілт сөздер кездесетін мәтін үзінділерімен салыстырылатын RAG-тың қарапайым түрі. Заманауи конвейерлерде оркестратор бұл үшін мағынаны қамтымайтын сирек векторлық сұрау (sparse vector query) деп аталатын әдісті қолдануы мүмкін.
- Тығыз векторлық іздеу (семантикалық іздеу): Тығыз векторлық эмбеддингтер мағынаны қамтиды. Оркестратор тығыз векторлық дерекқорға пайдаланушы промптының да, бастапқы ақпараттың да мағынасын ескеретіндей етіп сұрау жібере алады.
Жадты пайдалану да RAG архитектурасының маңызды бөлігі. Бұл LLM-нің іздеу сұрауын құрастыру үшін алдыңғы чаттардағы контекстті қалай пайдаланатынын білдіреді, осылайша сұрау талқылаудың (немесе бірнеше талқылаудың) кеңірек контекстіне негізделеді. Чат-боттардың көбі үшін диалогтық RAG қалыпты тәжірибе болып табылады, дегенмен қолдау тикеттеріне жауап беру сияқты кейбір жағдайларда бір сұрақты RAG қолданылуы мүмкін.
2. Гибридті RAG
Гибридті RAG іздеудің екі түрлі әдісін, әдетте кілт сөз бойынша және семантикалық іздеуді біріктіреді. Кілт сөз бойынша іздеу сәйкес терминдерді табады, ал векторлық іздеу мағынасы жақын үзінділерді табады.
Білім графы бойынша жүріп өту немесе SQL дерекқорына сұрау жіберу сияқты іздеудің басқа түрлері де қолданылуы мүмкін. Процесті көбінесе бағыттау логикасы басқарады: ол бағдарламаланған ережелер немесе модельдің сұрақты жіктеуі түрінде болады (дегенмен бірнеше конвейер бір мезгілде де жұмыс істей алады).
Оркестратор нәтижелерді біріктіреді және оларды LLM-ге жібермес бұрын қайта рейтингтеуі мүмкін. Қайта рейтингтеу — LLM ең орынды ақпаратқа басымдық беруі үшін табылған фрагменттерге релеванттылық бағасын беру процесі.
3. Адаптивті RAG
Адаптивті RAG-та бағыттау компоненті пайдаланушы промптының талаптарына қарай іздеу стратегиясын таңдайды, содан кейін оркестратор таңдалған жұмыс процесін орындайды.
Бастапқы фреймворкте (Adaptive-RAG) шағын модель жіктеуіш рөлін атқарып, іздеусіз, бір қадамды іздеу немесе көп қадамды іздеу нұсқаларының бірін таңдайтын. Қазір кейбір архитектуралар оның орнына генеративтік модельдерді немесе ережеге негізделген эвристикаларды пайдаланады.
Бұл архитектура танымал, себебі ол есептеу қуатын промптың күрделілігі мен талаптарына қарай бөледі, осылайша қарапайым промптар үшін артық іздеу қадамдарын азайтады. Ол сұрақтардың бірнеше түрімен жұмыс істейтін ассистенттерде жиі кездеседі.
4. Түзетуші RAG (CRAG)
Түзетуші RAG табылған ақпаратты LLM-нің кіріс контекстіне қоспас бұрын бағалайды. Іздеу бағалаушысы табылған ақпараттың релевантты әрі пайдалы екенін тексереді. Архитектураның ерекше белгісі — жауап генерацияланбас бұрын өтетін айқын бағалау және түзету кезеңі.
Егер ақпарат толық емес немесе промптқа сәйкес келмейтін болып шықса, қосымша сұраулар іске қосылады. Оларда бастапқы сұрауда қолданылғаннан басқа іздеу әдістері, мысалы, веб-іздеу немесе білім графы бойынша жүріп өту пайдаланылуы мүмкін.
Түзетуші RAG медицина мен құқық сияқты дәлдік маңызды салаларда жиі қолданылады. Алайда ол бастапқы табылған үзінділерді толықтыра алатын қосымша ақпарат көзін қажет етеді.
5. Self-RAG
Self-RAG-та модель бастапқы кіріс контекстін алғаннан кейін сұрауларды өзі бастай алады. Генерацияланған жауаптар рефлексия токендері арқылы табылған дәлелдермен салыстырылып бағаланады, ал қажет болған жағдайда оркестратор арқылы қосымша сұраулар жіберіледі. Керісінше, LLM іздеудің мүлдем қажет емес екенін шешуі мүмкін.
Оның түзетуші RAG-тан айырмашылығы — LLM өз нәтижелерін өзі бағалайды, іздеудің қажет-қажет еместігін және табылған мәтіннің пайдалы екенін анықтайды, сондай-ақ өз жауаптарын бақылап, қажетінше өзгертеді. Ал түзетуші RAG табылған ақпараттың сапасын генерацияға дейін бағалайды.
Бұл архитектура күрделі, терең зерттеу сипатындағы промптар үшін әсіресе пайдалы. Ол (табылған ақпараттың) релеванттылығын бағалауды жауап генерациясына біріктіретіндіктен, дәлелге негізделген жауаптарды талап ететін промптар үшін жақсы нұсқа болып табылады.
6. Агенттік RAG
Агенттік RAG — агенттік платформа аясында орындалатын RAG-тың кез келген түрі. Модель қажетті ақпарат түрін анықтау үшін пайымдау қабілеттерін пайдаланады және қолжетімді іздеу нұсқаларының ішінен таңдау жасайды.
Іздеу қажетінше бірнеше рет іске қосылуы мүмкін, ал модель күрделірек сұраулар үшін агенттер тағайындай алады. Мысалы, LLM алдымен жеткізушіні анықтау үшін дерекқордан іздеу сұрауын жіберіп, содан кейін қатысты келісімшарттарды табу үшін құжаттар бойынша іздеуді іске қосып, соңында байланыс деректерін ашық дереккөздерден тексеру үшін веб-іздеу жүргізе алады.
Агенттік RAG — Perplexity, ChatGPT, Claude және т.б. сияқты танымал чат-боттарда іске асырылған негізгі архитектура. Бұл платформалар негізгі модельге бірнеше құрал мен RAG конвейеріне қолжетімділік беретіндіктен, модель промптқа іздеудің қай түрі ең қолайлы екенін таңдай алады.
7. Мультимодальды RAG
Мультимодальды RAG контекстті медианың әртүрлі түрлерінен іздеп табады. Бұл — RAG-тың маңызды түрі, себебі ол LLM-дер үшін басқа жағдайда қолжетімсіз болатын диаграммалар мен аудиожазбалар сияқты ақпаратты қолжетімді етеді.
Негізгі архитектура кез келген басқа жүйедегідей. Мысалы, индекстеу конвейері кескіндерді тікелей эмбеддингтерге түрлендіру арқылы іздеуге дайындай алады. Содан кейін агенттік RAG жүйесі бұл кескіндерді семантикалық тұрғыдан қатысты мәтінмен бірге іздеп тауып, қос өңдеу үшін көру-тіл моделіне (vision-language model) бере алады.
8. GraphRAG
GraphRAG нысандар туралы ақпаратты іздеу үшін векторлық іздеумен қатар білім графтарын пайдаланады. Әдетте оркестратор түйіндер деп те аталатын бастапқы қатысты нысандарды кілт сөздерді бөліп алу немесе кейде алдын ала векторлық іздеу арқылы табады. Кеңірек контекст құру үшін графтық іздеу құралы білім графы бойынша жүріп өтеді.
Мысалы, өнім санатын егжей-тегжейлі талдау туралы сұрауға жауап ретінде LLM нақты нысандарды (өнімдерді) анықтау үшін векторлық іздеуді іске қосуы мүмкін. Содан кейін оркестратор жеткізушілер, бөлшек сауда нүктелері, пікірлер және т.б. сияқты байланысты нысандарды табу үшін білім графы бойынша іздеуді іске қосады.
9. Тармақталған RAG
Гибридті RAG архитектурасы іздеудің әртүрлі әдістерін қолдана алатын болса, тармақталған RAG тармақтар деп аталатын бірнеше сұрауды бір мезгілде орындау процесін білдіреді. Әр тармақ жеке ақпарат көзіне сұрау жібере алады немесе тармақтар бір көзге әртүрлі сұраулармен не сүзгілермен қатар жүгіне алады. Агенттік RAG архитектурасы жиі тармақталған RAG-ты пайдаланады.
10. HyDE (Hypothetical Document Embeddings — гипотетикалық құжат эмбеддингтері)
HyDE — LLM оңтайлы жауаптың қандай болуы мүмкін екенін көрсететін гипотетикалық мәтіндік құжат жасайтын RAG-тың инновациялық түрі. Бұл «гипотетикалық құжат» кейін дәлірек іздеу үшін сұрау құруға пайдаланылады. Қатысты білім LLM параметрлерінде болмаса да, мұның негізгі идеясы мынада: жауапқа ұқсас үзінді қысқа сұраққа немесе түсініксіз промптқа қарағанда қатысты құжаттарға жақсырақ сәйкес келуі мүмкін.
Қарапайым RAG архитектурасының мысалы: векторлық дерекқор
Базалық RAG архитектураның күрделірек түрлеріне негіз болады. Векторлық дерекқорды пайдаланатын қарапайым RAG жүйесінде бастапқы құжаттама кішірек бөліктерге (фрагменттерге) бөлініп, тығыз эмбеддингтерге түрлендіріледі. Пайдаланушы промпт енгізгенде, оркестратор сұрау жасайды, оны кодтайды және қатысты үзінділерді табу үшін дерекқорға сұрау жібереді.
Процестің қадамдық сипаттамасы:
- Мәтіннің үлкен көлемі автоматтандырылған деректерді қабылдау конвейері және BERT сияқты эмбеддинг моделі арқылы векторларға түрлендіріледі.
- Дерекқор қолданбасы жылдам іздеу үшін векторларды ұйымдастырады, индекстейді және сақтайды.
- Пайдаланушы чат-ботқа (мысалы, Perplexity-ге) промпт енгізеді.
- Қолданба оркестраторы векторлық дерекқордан қатысты ақпаратты іздеп табу үшін промптты (эмбеддинг моделі арқылы) кодтайды.
- Векторлық дерекқор қатысты фрагменттерді қайтарады, ал оркестратор оларды кіріс контекстіне («үлкен промптқа») қосып, LLM-ге береді.
- LLM қосымша контекстті ішкі білімімен (параметрлік салмақтарында сақталған) бірге пайдаланып, жауап генерациялайды.
Кеңейтілген RAG архитектурасының мысалы: агенттік RAG
Агенттік RAG — агенттік платформа ішіндегі RAG жүйелерінің негізгі архитектурасы. Агенттік RAG ағындары әдетте күрделі болады, себебі ЖИ агенттері промптың сипатына қарай әртүрлі құралдар мен конвейерлерді шақыра алады және қажет болса, бірнеше агентті іске қосады.
Процестің практикалық мысалы:
- Пайдаланушы тақырыпты терең зерттеуді қажет ететін күрделі сұрақ енгізеді. Бұл мысалда промпт мынадай деп алайық: «Ірі геосаяси оқиғаларды ескере отырып, алдағы алты айдағы компания табысының болжамын ұсын».
- LLM әртүрлі мазмұн түрлерін қамтитын RAG сұрауларының үйлесімі қажет болады деген қорытындыға келеді.
- (a) векторлық іздеу, (b) веб-деректерге негіздеу (web grounding) және (c) кескіндер бойынша (мультимодальды) іздеу үшін үш түрлі агент іске қосылады.
- Агенттер қолжетімді іздеу құралдарын пайдаланып, оркестратор арқылы жаңалықтар мен ішкі қаржылық деректер сияқты қатысты ақпаратты іздейді.
- LLM табылған нәтижелерді әр агенттің зерттеу сұрағымен салыстырып, оларды релеванттылығы бойынша рейтингтейді.
- LLM ақпаратты бағалап, ақпарат жетіспейтін жерлерде жеке агенттер арқылы қосымша іздеулерді іске қосады.
- Жеткілікті ақпарат табылғаннан кейін LLM қолдағы қаржылық көрсеткіштерге (ішкі құжаттамадан алынған) негізделген сценарийлік болжамдар жасайды және әр сценарий бойынша табысты болжау үшін калькулятор құралын шақырады.
- LLM табылған ақпарат пен есептеулерді пайдаланып, қажет болған жерде дереккөздерге сілтеме жасай отырып, түпкілікті жауап генерациялайды.
RAG-тың болашағы қандай?
Қазіргі инновациялар қолданыстағы RAG архитектураларына тереңдік пен жылдамдық беруге, мультимедиалық іздеудің дәлдігін арттыруға және ең соңғы ақпаратпен жұмыс істеуге арналған жүйелерді құруға бағытталған.
Зерттеулер бағытын қазір қалыптастырып отырған үш үрдіс:
- Бірнеше дереккөз бойынша терең зерттеу: Бұл — іздеуді жоспарлай алатын, әртүрлі дереккөздер бойынша бірнеше тармақты іске қоса алатын, табылған дәлелдерді бағалайтын және генерацияланған жауаптарды өздігінен оңтайландыратын RAG архитектурасы. Осы тапсырмалардың барлығын орындай алатын агенттік RAG барған сайын жылдам әрі үнемді бола түсуде.
- Мультимодальды қолданбалар: Іздеу конвейерлері кескіндермен және бейнемен жұмыс істеуде жетіле түсуде. Олар ұзақ бейнелер мен күрделі диаграммалар сияқты күрделі мультимодальды деректерден ақпараттың нақты түрлерін барған сайын дәлірек анықтай алады.
- Жауаптарды үздіксіз өзгеретін ақпаратқа негіздеу: LLM негізіндегі қолданбалар кіріс контекстін қамтамасыз ету үшін нақты уақыттағы ақпарат көздеріне (мысалы, бейне ағындары мен сенсорларға) сүйене алады. Жүйелер бұл деректерді түсіндіру үшін GraphRAG сияқты тәсілдер арқылы көп қырлы ақпараттық желілер де құра алады.
RAG — LLM негізіндегі қолданбалар жұмысының іргетасы. Ол күнделікті тұтынушылардан бастап мамандандырылған салаларда жұмыс істейтін кәсіпорындарға дейінгі көптеген пайдаланушыларға галлюцинациялар, толық емес оқыту деректері және мамандандырылған ішкі білімге қолжетімділіктің болмауы сияқты мәселелерді еңсеруге мүмкіндік береді.
Сондықтан RAG жүйелері мен олардың негізгі архитектурасы ЖИ зерттеулерінің ең қарқынды дамып жатқан әрі ең қызықты салаларының бірі болып табылады.