Шта је RAG архитектура? Потпуна дефиниција са детаљним практичним примјерима

RAG архитектура је скуп компоненти који чува, проналази и просљеђује спољне информације LLM-у; овај водич објашњава 10 врста, од основног и хибридног RAG-а до агентског RAG-а и GraphRAG-а, уз два примјера корак по корак.

Diagram of the types of RAG architecture branching from a central hub: basic, hybrid, adaptive, corrective (CRAG), self-RAG, multimodal, agentic, GraphRAG, HyDE, and branched.

RAG (енгл. retrieval augmented generation – генерисање потпомогнуто проналажењем) је процес у којем LLM-ови користе спољне информације како би проширили и побољшали своје излазне резултате. RAG архитектура је скуп компоненти и веза које омогућавају RAG.

Постоји неколико различитих категорија RAG-а и свака функционише на сопственој, јединственој архитектури. У суштини, архитектура RAG система одређује јединствен начин на који се информације чувају, проналазе и просљеђују LLM-у.

Шта је RAG архитектура?

RAG архитектура је основна конфигурација компоненти (и њихових пратећих могућности) која покреће одређени RAG систем. Све ове архитектуре надограђују се на основни шаблон, који се често назива „једноставни“ или „наивни“ RAG.

Ево општег прегледа основне RAG архитектуре:

  • Извор информација: Ово је мјесто гдје се чувају спољне информације. То може бити индекс за претрагу, векторска база података која представља велике количине информација или репозиторијум необрађених докумената.
  • Компонента за проналажење: Ово је механизам помоћу којег се шаљу упити извору информација. RAG систем може, на примјер, користити једноставну претрагу по кључним ријечима да пронађе релевантне сегменте текста или сложеније векторске упите за претрагу по сличности.
  • Компонента за оркестрацију: Овај слој је дио апликације засноване на LLM-у који покреће RAG цјевовод за кориснички промпт, било заједно са LLM-ом или самостално. Он такође обједињује пронађене информације у проширени промпт.

Компоненте RAG архитектуре обично су организоване у двије путање. Путања уноса преузима податке и организује их у извор информација који се може претраживати. Векторске базе података, у којима се велике количине текста претварају у претраживи репозиторијум векторских уграђивања (embeddings), једна су од најраспрострањенијих примјена.

Путања проналажења узима промпт корисника и генерише упит помоћу којег се претражује извор информација. Оркестратор затим додаје пронађене информације у улазни контекст за LLM. Код агентских и хибридних RAG архитектура може постојати више путања проналажења.

Врсте RAG архитектуре

Погрешно је посматрати RAG кроз потпуно одвојене архитектуре. Већина инжењера примјењује модуларни приступ и имплементира засебне компоненте прилагођене конкретним случајевима употребе. Иако је могуће повући оквирне границе, важно је напоменути да се модели архитектуре у великој мјери преклапају.

1. Основни RAG

Основни RAG, који се назива и „наивни“ или „једноставни“ RAG, архитектонски је шаблон за остале врсте RAG-а.

Основни процес је релативно једноставан: корисник уноси промпт, оркестратор утврђује да ли су потребне спољне информације (самостално или заједно са LLM-ом), а затим у складу с тим формулише и шаље упит за проналажење.

Спољни извор информација најчешће је векторска база података, али то може бити и SQL база података, веб API, граф знања или чак репозиторијум „необрађених“ докумената. Ове додатне информације затим се додају у улазни контекст LLM-а.

Осим SQL упита и API-ја, постоје двије широке врсте метода проналажења:

  • Лексичка претрага (претрага по кључним ријечима): Ово је једноставан облик RAG-а у којем се из корисничког упита издвајају кључне ријечи и упоређују са пасусима текста који садрже те кључне ријечи. У савременим цјевоводима оркестратор за то може користити такозвани ријетки векторски упит, који не обухвата значење.
  • Густа векторска претрага (семантичка претрага): Густа векторска уграђивања обухватају значење. Оркестратор може слати упите густој векторској бази података на начин који омогућава да се обухвати значење и корисничког промпта и изворних информација.

Употреба меморије такође је важан дио 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 систем затим може пронаћи те слике заједно са семантички релевантним текстом и прослиједити их визуелно-језичком моделу на двоструку обраду.

8. GraphRAG

GraphRAG користи графове знања уз векторску претрагу да пронађе информације о ентитетима. Оркестратор обично проналази релевантне почетне ентитете, који се називају и чворови, помоћу издвајања кључних ријечи или понекад прелиминарне векторске претраге. Компонента за проналажење у графу обилази граф знања да изгради шири контекст.

На примјер, као одговор на захтјев за детаљну анализу категорије производа, LLM може покренути векторску претрагу да идентификује конкретне ентитете (производе). Оркестратор ће затим покренути претрагу графа знања да пронађе повезане ентитете, као што су добављачи, малопродајни објекти, рецензије и слично.

9. Разгранати RAG

Док хибридна RAG архитектура може користити различите методе проналажења, разгранати RAG означава процес истовременог извршавања више упита, који се називају гране. Свака грана може слати упит засебном извору информација, или гране могу паралелно слати упите истом извору са различитим упитима или филтерима. Агентска RAG архитектура често користи разгранати RAG.

10. HyDE (Hypothetical Document Embeddings – уграђивања хипотетичких докумената)

HyDE је иновативан облик RAG-а у којем LLM креира хипотетички текстуални документ који приказује како би оптималан одговор могао изгледати. Овај „хипотетички документ“ затим се користи за креирање упита ради прецизнијег проналажења. Иако релевантно знање није представљено у параметрима LLM-а, логика је у томе да пасус налик одговору може боље одговарати релевантним документима него кратко питање или двосмислен промпт.

Примјер једноставне RAG архитектуре: векторска база података

Основни RAG служи као темељ за сложеније врсте архитектуре. Код једноставног RAG система који користи векторску базу података, изворна документација дијели се на мање дијелове (сегменте) и претвара у густа уграђивања. Када корисник унесе промпт, оркестратор генерише упит, кодира га и шаље га бази података да пронађе релевантне пасусе.

Ево детаљног прегледа процеса корак по корак:

  1. Велике количине текста претварају се у векторе помоћу аутоматизованог цјевовода за унос и модела за уграђивање као што је BERT.
  2. Апликација базе података организује, индексира и чува векторе ради брзе претраге.
  3. Корисник уноси промпт у четбот (као што је Perplexity).
  4. Оркестратор апликације кодира промпт (помоћу модела за уграђивање) да би пронашао релевантне информације у векторској бази података.
  5. Векторска база података враћа релевантне сегменте, а оркестратор их додаје у улазни контекст („велики промпт“) и просљеђује LLM-у.
  6. LLM користи додатни контекст да генерише одговор помоћу свог интерног знања (сачуваног у његовим параметарским тежинама).

Примјер напредне RAG архитектуре: агентски RAG

Агентски RAG означава основну архитектуру RAG система унутар агентске платформе. Токови агентског RAG-а обично су сложени јер AI агенти могу позивати различите алате и цјевоводе у зависности од природе промпта, ангажујући више агената ако је потребно.

Ево практичног примјера процеса:

  1. Корисник уноси сложено питање које захтијева дубинско истраживање теме. За овај примјер, рецимо да промпт гласи: „Дај прогнозу добити компаније за наредних шест мјесеци у свјетлу великих геополитичких дешавања“.
  2. LLM закључује да ће бити потребна комбинација RAG упита за различите врсте садржаја.
  3. Ангажују се три различита агента за (а) векторску претрагу, (б) утемељење на вебу и (в) претрагу слика (мултимодалну).
  4. Агенти траже релевантне информације, као што су вијести и интерни финансијски подаци, преко оркестратора помоћу доступних алата за проналажење.
  5. LLM упоређује пронађене резултате са истраживачким питањем сваког агента и рангира их према релевантности.
  6. LLM процјењује информације и покреће додатне претраге преко појединачних агената тамо гдје информације недостају.
  7. Када се пронађе довољно информација, LLM генерише прогнозе сценарија на основу постојећих финансијских података (пронађених у интерној документацији) и позива алат калкулатор да пројектује добит за сваки од њих.
  8. LLM генерише коначан одговор помоћу пронађених информација и прорачуна, уз навођење извора по потреби.

Шта слиједи за RAG?

Тренутне иновације усмјерене су на то да постојеће RAG архитектуре добију на дубини и брзини, на побољшање тачности мултимедијалног проналажења и на изградњу система осмишљених за рад са најсвјежијим информацијама.

Ево три тренда који тренутно обликују смјер истраживања:

  • Дубинско истраживање у више извора: Ово је RAG архитектура која може планирати претраге, извршавати више грана у различитим изворима, процјењивати пронађене доказе и самостално оптимизовати генерисане одговоре. Агентски RAG који може извршити све ове задатке постаје све бржи и исплативији.
  • Мултимодалне примјене: Цјевоводи за проналажење све боље раде са сликама и видео-записима. Све прецизније могу издвојити одређене врсте информација из сложених мултимодалних података, као што су дуги видео-снимци и напредни дијаграми.
  • Утемељење одговора на информацијама које се стално мијењају: Апликације засноване на LLM-у могу црпити информације из извора у реалном времену (као што су видео-преноси и сензори) да обезбиједе улазни контекст. Системи такође могу генерисати вишеслојне мреже информација, као што је случај са GraphRAG-ом, да протумаче те податке.

RAG је темељ начина на који функционишу апликације засноване на LLM-у. Он омогућава широком кругу различитих корисника, од свакодневних потрошача до предузећа која раде у специјализованим областима, да превазиђу проблеме повезане са халуцинацијама, непотпуним подацима за обуку и недостатком приступа специјализованом интерном знању.

Зато RAG системи и њихова основна архитектура представљају једну од најдинамичнијих и најузбудљивијих области истраживања вјештачке интелигенције.