Što je RAG arhitektura? Potpuna definicija s detaljnim praktičnim primjerima
RAG arhitektura skup je komponenti koje pohranjuju, dohvaćaju i prosljeđuju vanjske informacije LLM-u; ovaj vodič objašnjava 10 vrsta, od osnovnog i hibridnog RAG-a do agentnog RAG-a i GraphRAG-a, uz dva primjera korak po korak.

RAG, što je kratica za generiranje prošireno dohvaćanjem (engl. retrieval augmented generation), proces je u kojem LLM-ovi koriste vanjske informacije kako bi proširili i poboljšali svoje odgovore. RAG arhitektura skup je komponenti i veza koje omogućuju RAG.
Postoji nekoliko različitih kategorija RAG-a, a svaka se temelji na vlastitoj, jedinstvenoj arhitekturi. U osnovi, arhitektura RAG sustava određuje jedinstven način na koji se informacije pohranjuju, dohvaćaju i prosljeđuju LLM-u.
Što je RAG arhitektura?
RAG arhitektura temeljna je konfiguracija komponenti (i s njima povezanih mogućnosti) na kojoj počiva određeni RAG sustav. Sve se te arhitekture nadograđuju na temeljni predložak koji se često naziva „jednostavni“ ili „naivni“ RAG.
Evo općeg pregleda temeljne RAG arhitekture:
- Izvor informacija: Ovdje se pohranjuju vanjske informacije. To može biti indeks pretraživanja, vektorska baza podataka koja predstavlja velike količine informacija ili neobrađeni repozitorij dokumenata.
- Komponenta za dohvaćanje: To je mehanizam kojim se šalju upiti izvoru informacija. RAG sustav može, primjerice, koristiti jednostavno pretraživanje po ključnim riječima kako bi pronašao relevantne segmente teksta ili složenije vektorske upite za pretraživanje po sličnosti.
- Komponenta za orkestraciju: Ovaj sloj dio je aplikacije temeljene na LLM-u koji pokreće RAG cjevovod za korisnički upit, bilo u suradnji s LLM-om ili samostalno. Također objedinjuje dohvaćene informacije u prošireni upit.
Komponente RAG arhitekture obično su organizirane u dva puta. Put unosa podataka preuzima podatke i organizira ih u izvor informacija koji se može pretraživati. Vektorske baze podataka, u kojima se velike količine teksta pretvaraju u pretraživi repozitorij vektorskih ugrađivanja, jedna su od najraširenijih primjena.
Put dohvaćanja preuzima korisnikov upit i na temelju njega generira upit za pretraživanje izvora informacija. Orkestrator zatim dodaje dohvaćene informacije u ulazni kontekst za LLM. Kod agentnih i hibridnih RAG arhitektura može postojati više putova dohvaćanja.
Vrste RAG arhitekture
Pogrešno je RAG promatrati kao skup potpuno zasebnih arhitektura. Većina inženjera pristupa modularno i implementira zasebne komponente prilagođene određenim slučajevima upotrebe. Iako je moguće povući okvirne granice, važno je napomenuti da se modeli arhitekture znatno preklapaju.
1. Osnovni RAG
Osnovni RAG, koji se naziva i „naivni“ ili „jednostavni“ RAG, arhitektonski je predložak za ostale vrste RAG-a.
Temeljni je proces razmjerno jednostavan: korisnik unosi upit, orkestrator utvrđuje jesu li potrebne vanjske informacije (samostalno ili u suradnji s LLM-om) te u skladu s tim formulira i šalje upit za dohvaćanje.
Vanjski izvor informacija obično je vektorska baza podataka, ali može biti i SQL baza podataka, web API, graf znanja ili čak „neobrađeni“ repozitorij dokumenata. Te se dodatne informacije zatim dodaju u ulazni kontekst LLM-a.
Osim SQL upita i API-ja, postoje dvije glavne vrste metoda dohvaćanja:
- Leksičko pretraživanje (pretraživanje po ključnim riječima): Ovo je jednostavan oblik RAG-a u kojem se iz korisničkog upita izdvajaju ključne riječi i uspoređuju s odlomcima teksta koji sadrže te ključne riječi. U suvremenim cjevovodima orkestrator to može izvesti takozvanim upitom s rijetkim vektorima (engl. sparse vector query), koji ne obuhvaća značenje.
- Pretraživanje gustih vektora (semantičko pretraživanje): Gusta vektorska ugrađivanja obuhvaćaju značenje. Orkestrator može slati upite gustoj vektorskoj bazi podataka na način koji omogućuje obuhvaćanje značenja i korisničkog upita i izvornih informacija.
Upotreba memorije također je važan dio RAG arhitekture. Odnosi se na to kako LLM koristi kontekst iz prethodnih razgovora za izradu upita za dohvaćanje te ga tako smješta u širi kontekst rasprave (ili više rasprava). Konverzacijski RAG standard je za većinu chatbotova, iako se u nekim slučajevima upotrebe, poput odgovaranja na zahtjeve za podršku, može koristiti RAG za pojedinačna pitanja.
2. Hibridni RAG
Hibridni RAG kombinira dvije različite vrste dohvaćanja, obično dohvaćanje po ključnim riječima i semantičko dohvaćanje. Pretraživanje po ključnim riječima pronalazi podudarne pojmove, a vektorsko pretraživanje pronalazi odlomke srodnog značenja.
Mogu se koristiti i drugi oblici dohvaćanja, poput prolaska kroz graf znanja ili upita SQL bazi podataka. Procesom često upravlja logika usmjeravanja, bilo u obliku programiranih pravila ili klasifikacije pitanja koju provodi model (iako se više cjevovoda može izvoditi i istovremeno).
Orkestrator objedinjuje rezultate i može ih ponovno rangirati prije nego što ih proslijedi LLM-u. Ponovno rangiranje proces je dodjeljivanja ocjena relevantnosti dohvaćenim segmentima kako bi LLM dao prednost najprimjenjivijim informacijama.
3. Adaptivni RAG
U adaptivnom RAG-u komponenta za usmjeravanje odabire strategiju dohvaćanja na temelju zahtjeva korisničkog upita, a orkestrator zatim izvršava odabrani tijek rada.
U izvornom okviru (Adaptive-RAG) manji bi model djelovao kao klasifikator i birao između izostanka dohvaćanja, dohvaćanja u jednom koraku ili dohvaćanja u više koraka. Neke arhitekture danas umjesto toga koriste generativne modele ili heuristike temeljene na pravilima.
Riječ je o popularnoj arhitekturi jer raspoređuje procesorsku snagu prema složenosti i zahtjevima upita, čime smanjuje nepotrebne korake dohvaćanja kod jednostavnijih upita. Česta je kod asistenata koji obrađuju više vrsta pitanja.
4. Korektivni RAG (CRAG)
Korektivni RAG procjenjuje dohvaćene informacije prije nego što ih doda u ulazni kontekst LLM-a. Evaluator dohvaćanja procjenjuje jesu li dohvaćene informacije relevantne i korisne. Jedinstvena arhitektonska značajka jest izričita faza procjene i ispravljanja prije generiranja odgovora.
Ako se utvrdi da su informacije nepotpune ili neprimjenjive na upit, pokreću se dodatni zahtjevi. Oni mogu uključivati metode dohvaćanja drukčije od onih korištenih za izvorni zahtjev, poput pretraživanja weba ili prolaska kroz graf znanja.
Korektivni RAG čest je u područjima u kojima je točnost važna, poput medicine i prava. Međutim, zahtijeva dodatni izvor informacija kojim se mogu nadopuniti izvorno dohvaćeni odlomci.
5. Self-RAG
Kod Self-RAG-a model može pokretati zahtjeve nakon što primi početni ulazni kontekst. Generirani odgovori procjenjuju se u odnosu na dohvaćene dokaze pomoću refleksijskih tokena, a dodatni se zahtjevi prema potrebi šalju putem orkestratora. Obrnuto, LLM može odlučiti da dohvaćanje uopće nije potrebno.
Od korektivnog RAG-a razlikuje se po tome što LLM sam prosuđuje vlastite rezultate, utvrđuje je li dohvaćanje potrebno i je li dohvaćeni tekst koristan te prati vlastite odgovore i po potrebi ih mijenja. Korektivni RAG, s druge strane, procjenjuje kvalitetu dohvaćenih informacija prije generiranja.
Ova je arhitektura osobito korisna za složene upite u stilu dubinskog istraživanja. Budući da procjenu relevantnosti (dohvaćenih informacija) uključuje u generiranje odgovora, dobar je izbor za upite koji zahtijevaju odgovore utemeljene na dokazima.
6. Agentni RAG
Agentni RAG odnosi se na bilo koji oblik RAG-a koji se izvršava u kontekstu agentne platforme. Model koristi svoje sposobnosti rasuđivanja kako bi utvrdio koja je vrsta informacija potrebna te bira između dostupnih opcija dohvaćanja.
Dohvaćanje se može pokrenuti više puta prema potrebi, a model za složenije upite može dodijeliti agente. Primjerice, LLM bi mogao zatražiti pretraživanje baze podataka kako bi identificirao dobavljača, pokrenuti pretraživanje dokumenata kako bi pronašao relevantne ugovore i završiti pretraživanjem weba kako bi provjerio kontaktne podatke na temelju javnih izvora.
Agentni RAG glavna je implementacija arhitekture u popularnim chatbotovima kao što su Perplexity, ChatGPT, Claude i drugi. Budući da te platforme osnovnom modelu omogućuju pristup brojnim alatima i RAG cjevovodima, on može odabrati oblik dohvaćanja koji najbolje odgovara upitu.
7. Multimodalni RAG
Multimodalni RAG dohvaća kontekst iz različitih vrsta medija. Važan je oblik RAG-a jer LLM-ovima čini dostupnim informacije koje bi im inače bile nedostupne, poput grafikona i audiozapisa.
Temeljna arhitektura ista je kao u bilo kojem drugom sustavu. Primjerice, cjevovod za indeksiranje može pripremiti slike za pretraživanje tako da ih izravno pretvori u ugrađivanja. Agentni RAG sustav zatim bi mogao dohvatiti te slike zajedno sa semantički relevantnim tekstom i proslijediti ih vizualno-jezičnom modelu na zajedničku obradu.
8. GraphRAG
GraphRAG uz vektorsko pretraživanje koristi grafove znanja za dohvaćanje informacija o entitetima. Orkestrator obično pronalazi relevantne početne entitete, koji se nazivaju i čvorovi, izdvajanjem ključnih riječi ili ponekad preliminarnim vektorskim pretraživanjem. Komponenta za dohvaćanje iz grafa prolazi kroz graf znanja kako bi izgradila širi kontekst.
Primjerice, kao odgovor na zahtjev za detaljnu analizu kategorije proizvoda, LLM može pokrenuti vektorsko pretraživanje kako bi identificirao određene entitete (proizvode). Orkestrator će zatim pokrenuti pretraživanje grafa znanja kako bi pronašao povezane entitete, poput dobavljača, prodajnih mjesta, recenzija i slično.
9. Razgranati RAG
Dok hibridna RAG arhitektura može koristiti različite metode dohvaćanja, razgranati RAG odnosi se na istovremeno izvođenje više upita, koji se nazivaju grane. Svaka grana može slati upite zasebnom izvoru informacija ili grane mogu istodobno pretraživati isti izvor s različitim upitima ili filtrima. Agentna RAG arhitektura često koristi razgranati RAG.
10. HyDE (Hypothetical Document Embeddings – ugrađivanja hipotetskih dokumenata)
HyDE je inovativan oblik RAG-a u kojem LLM izrađuje hipotetski tekstualni dokument koji prikazuje kako bi optimalan odgovor mogao izgledati. Taj se „hipotetski dokument“ zatim koristi za izradu upita radi točnijeg dohvaćanja. Iako relevantno znanje nije sadržano u parametrima LLM-a, ideja je da odlomak nalik odgovoru može bolje odgovarati relevantnim dokumentima nego što bi to učinilo kratko pitanje ili dvosmislen upit.
Primjer jednostavne RAG arhitekture: vektorska baza podataka
Osnovni RAG služi kao temelj za složenije vrste arhitekture. U slučaju jednostavnog RAG sustava koji koristi vektorsku bazu podataka, izvorna se dokumentacija dijeli na manje dijelove (segmente) i pretvara u gusta ugrađivanja. Kada korisnik unese upit, orkestrator generira upit za pretraživanje, kodira ga i šalje ga bazi podataka kako bi pronašao relevantne odlomke.
Evo pregleda procesa korak po korak:
- Velike količine teksta pretvaraju se u vektore pomoću automatiziranog cjevovoda za unos podataka i modela za ugrađivanje kao što je BERT.
- Aplikacija baze podataka organizira, indeksira i pohranjuje vektore radi brzog pretraživanja.
- Korisnik unosi upit u chatbot (kao što je Perplexity).
- Orkestrator aplikacije kodira upit (pomoću modela za ugrađivanje) kako bi dohvatio relevantne informacije iz vektorske baze podataka.
- Vektorska baza podataka vraća relevantne segmente, a orkestrator ih dodaje u ulazni kontekst („veliki upit“) i prosljeđuje ga LLM-u.
- LLM koristi dodatni kontekst kako bi generirao odgovor uz pomoć svog internog znanja (pohranjenog u njegovim parametarskim težinama).
Primjer napredne RAG arhitekture: agentni RAG
Agentni RAG odnosi se na temeljnu arhitekturu RAG sustava unutar agentne platforme. Tijekovi agentnog RAG-a obično su složeni jer AI agenti mogu pozivati različite alate i cjevovode ovisno o prirodi upita te prema potrebi pokrenuti više agenata.
Evo praktičnog primjera procesa:
- Korisnik unosi složeno pitanje koje zahtijeva dubinsko istraživanje teme. Za ovaj primjer recimo da upit glasi: „Izradi prognozu zarade tvrtke za sljedećih šest mjeseci s obzirom na važna geopolitička zbivanja.“
- LLM zaključuje da će biti potrebna kombinacija RAG upita za različite vrste sadržaja.
- Pokreću se tri različita agenta za (a) vektorsko pretraživanje, (b) utemeljenje na webu i (c) pretraživanje slika (multimodalno).
- Agenti traže relevantne informacije, poput vijesti i internih financijskih podataka, putem orkestratora pomoću dostupnih alata za dohvaćanje.
- LLM uspoređuje dohvaćene rezultate s istraživačkim pitanjem svakog agenta i rangira ih prema relevantnosti.
- LLM procjenjuje informacije i, ondje gdje informacije nedostaju, pokreće dodatna pretraživanja putem pojedinačnih agenata.
- Kada je dohvaćeno dovoljno informacija, LLM generira prognoze scenarija na temelju postojećih financijskih podataka (dohvaćenih iz interne dokumentacije) i poziva alat za izračun kako bi za svaki scenarij projicirao zaradu.
- LLM generira konačni odgovor koristeći dohvaćene informacije i izračune te prema potrebi navodi izvore.
Što slijedi za RAG?
Aktualne inovacije usmjerene su na to da postojeće RAG arhitekture postanu dublje i brže, na poboljšanje točnosti dohvaćanja multimedijskih sadržaja te na izgradnju sustava osmišljenih za rad s najnovijim informacijama.
Evo tri trenda koji trenutačno oblikuju smjer istraživanja:
- Dubinsko istraživanje na više izvora: Riječ je o RAG arhitekturi koja može planirati pretraživanja, izvoditi više grana na različitim izvorima, procjenjivati dohvaćene dokaze i samostalno optimizirati generirane odgovore. Agentni RAG koji može izvršavati sve te zadatke postaje sve brži i isplativiji.
- Multimodalne primjene: Cjevovodi za dohvaćanje sve su bolji u radu sa slikama i videozapisima. Sve preciznije mogu pronaći određene vrste informacija u složenim multimodalnim podacima, poput dugih videozapisa i složenih dijagrama.
- Utemeljenje odgovora na informacijama koje se neprestano mijenjaju: Aplikacije temeljene na LLM-u mogu se oslanjati na izvore informacija u stvarnom vremenu (poput videoprijenosa i senzora) kako bi osigurale ulazni kontekst. Sustavi mogu generirati i višeslojne mreže informacija, primjerice uz GraphRAG, kako bi protumačili te podatke.
RAG je u samoj osnovi načina na koji funkcioniraju aplikacije temeljene na LLM-u. Brojnim različitim korisnicima, od svakodnevnih potrošača do poduzeća koja posluju u specijaliziranim područjima, omogućuje rješavanje problema povezanih s halucinacijama, nepotpunim podacima za treniranje i nedostatkom pristupa specijaliziranom internom znanju.
Zato RAG sustavi i njihova temeljna arhitektura predstavljaju jedno od najdinamičnijih i najuzbudljivijih područja istraživanja umjetne inteligencije.