Šta je RAG arhitektura? Potpuna definicija sa detaljnim praktičnim primerima
RAG arhitektura je skup komponenti koje čuvaju, pronalaze i prosleđuju spoljne informacije LLM-u; ovaj vodič objašnjava 10 tipova, od osnovnog i hibridnog RAG-a do agentskog RAG-a i GraphRAG-a, uz dva primera korak po korak.

RAG, što je skraćenica od „retrieval augmented generation“ (generisanje prošireno pronalaženjem informacija), proces je u kom LLM-ovi koriste spoljne informacije kako bi proširili i poboljšali svoje odgovore. RAG arhitektura je skup komponenti i veza koje omogućavaju RAG.
Postoji nekoliko različitih kategorija RAG-a, a svaka od njih počiva na sopstvenoj, jedinstvenoj arhitekturi. U suštini, arhitektura RAG sistema određuje jedinstven način na koji se informacije čuvaju, pronalaze i prosleđuju LLM-u.
Šta je RAG arhitektura?
RAG arhitektura je osnovna konfiguracija komponenti (i njihovih pratećih mogućnosti) koja pokreće određeni RAG sistem. Sve ove arhitekture nadograđuju se na osnovni šablon, koji se često naziva „jednostavni“ ili „naivni“ RAG.
Evo pregleda osnovne RAG arhitekture u glavnim crtama:
- Izvor informacija: Ovde se čuvaju spoljne informacije. To može biti indeks za pretragu, vektorska baza podataka koja predstavlja velike količine informacija ili repozitorijum neobrađenih dokumenata.
- Komponenta za pronalaženje: Ovo je mehanizam kojim se šalju upiti izvoru informacija. RAG sistem može, na primer, da koristi jednostavnu pretragu po ključnim rečima kako bi pronašao relevantne delove teksta ili složenije vektorske upite za pretragu po sličnosti.
- Komponenta za orkestraciju: Ovaj sloj je deo aplikacije zasnovane na LLM-u koji pokreće RAG pajplajn za korisnički prompt, bilo u sadejstvu sa LLM-om ili nezavisno. On takođe objedinjuje pronađene informacije u prošireni prompt.
Komponente RAG arhitekture obično su organizovane u dve putanje. Putanja unosa podataka preuzima podatke i organizuje ih u izvor informacija koji se može pretraživati. Vektorske baze podataka, u kojima se velike količine teksta pretvaraju u pretraživi repozitorijum vektorskih ugrađivanja (embeddings), jedna su od najrasprostranjenijih primena.
Putanja pronalaženja preuzima korisnički prompt i generiše upit kojim se pretražuje izvor informacija. Orkestrator zatim dodaje pronađene informacije u ulazni kontekst za LLM. Kod agentskih i hibridnih RAG arhitektura može postojati više putanja pronalaženja.
Tipovi RAG arhitekture
Pogrešno je posmatrati RAG kroz potpuno odvojene arhitekture. Većina inženjera primenjuje modularni pristup i uvodi zasebne komponente prilagođene konkretnim slučajevima upotrebe. Iako je moguće povući okvirne granice, važno je napomenuti da se modeli arhitekture u velikoj meri preklapaju.
1. Osnovni RAG
Osnovni RAG, koji se naziva i „naivni“ ili „jednostavni“ RAG, predstavlja arhitektonski šablon za ostale tipove RAG-a.
Osnovni proces je relativno jednostavan: korisnik unosi prompt, orkestrator utvrđuje da li su potrebne spoljne informacije (samostalno ili u sadejstvu sa LLM-om), a zatim u skladu s tim formuliše i šalje upit za pronalaženje.
Spoljni izvor informacija je najčešće vektorska baza podataka, ali može biti i SQL baza podataka, veb API, graf znanja ili čak repozitorijum „neobrađenih“ dokumenata. Ove dodatne informacije se zatim dodaju u ulazni kontekst LLM-a.
Osim SQL upita i API-ja, postoje dva osnovna tipa metoda pronalaženja:
- Leksička pretraga (pretraga po ključnim rečima): Ovo je jednostavan oblik RAG-a u kom se ključne reči izdvajaju iz korisničkog upita i upoređuju sa delovima teksta koji sadrže te ključne reči. U savremenim pajplajnovima orkestrator za to može da koristi takozvani retki vektorski upit (sparse vector query), koji ne obuhvata značenje.
- Pretraga gustih vektora (semantička pretraga): Gusta vektorska ugrađivanja obuhvataju značenje. Orkestrator može da šalje upite bazi gustih vektora na način koji omogućava da se obuhvati značenje i korisničkog prompta i izvornih informacija.
Upotreba memorije je takođe važan deo RAG arhitekture. Ona se odnosi na to kako LLM koristi kontekst iz prethodnih četova da bi sastavio upit za pronalaženje i tako ga utemeljio u širem kontekstu razgovora (ili više razgovora). Konverzacioni RAG je standard za većinu četbotova, iako neki slučajevi upotrebe, poput odgovora na tikete podrške, mogu da koriste RAG sa jednim pitanjem.
2. Hibridni RAG
Hibridni RAG kombinuje dva različita tipa pronalaženja, obično pronalaženje po ključnim rečima i semantičko pronalaženje. Pretraga po ključnim rečima pronalazi termine koji se podudaraju, a vektorska pretraga pronalazi delove teksta srodnog značenja.
Mogu se koristiti i drugi oblici pronalaženja, kao što su prolazak kroz graf znanja ili upiti nad SQL bazom podataka. Procesom često upravlja logika usmeravanja, bilo u vidu programiranih pravila ili klasifikacije pitanja koju vrši model (mada se više pajplajnova može izvršavati i istovremeno).
Orkestrator objedinjuje rezultate i može ih ponovo rangirati pre nego što ih prosledi LLM-u. Ponovno rangiranje je proces dodeljivanja ocena relevantnosti pronađenim segmentima teksta, kako bi LLM dao prednost najprimenljivijim informacijama.
3. Adaptivni RAG
Kod adaptivnog RAG-a komponenta za usmeravanje bira strategiju pronalaženja na osnovu zahteva korisničkog prompta, a orkestrator zatim izvršava izabrani radni tok.
U originalnom okviru (Adaptive-RAG) manji model je služio kao klasifikator i birao između izostanka pronalaženja, pronalaženja u jednom koraku ili pronalaženja u više koraka. Neke arhitekture sada umesto toga koriste generativne modele ili heuristike zasnovane na pravilima.
Ovo je popularna arhitektura jer raspoređuje procesorsku snagu u zavisnosti od složenosti i zahteva prompta, čime se smanjuju nepotrebni koraci pronalaženja kod jednostavnijih promptova. Česta je kod asistenata koji obrađuju više tipova pitanja.
4. Korektivni RAG (CRAG)
Korektivni RAG procenjuje pronađene informacije pre nego što ih doda u ulazni kontekst LLM-a. Evaluator pronalaženja procenjuje da li su pronađene informacije relevantne i korisne. Jedinstvena arhitektonska odlika je eksplicitna faza procene i korekcije pre generisanja odgovora.
Ako se utvrdi da su informacije nepotpune ili da nisu primenljive na prompt, pokreću se dodatni zahtevi. Oni mogu uključivati drugačije metode pronalaženja od onih korišćenih za prvobitni zahtev, kao što su veb pretraga ili prolazak kroz graf znanja.
Korektivni RAG je čest u oblastima u kojima je tačnost važna, kao što su medicina i pravo. Međutim, on zahteva dodatni izvor informacija koji može da dopuni prvobitno pronađene delove teksta.
5. Self-RAG
Kod Self-RAG-a model može da pokrene zahteve nakon što primi početni ulazni kontekst. Generisani odgovori se procenjuju u odnosu na pronađene dokaze pomoću tokena refleksije, a dodatni zahtevi se po potrebi šalju preko orkestratora. S druge strane, LLM može i da odluči da pronalaženje uopšte nije potrebno.
Razlikuje se od korektivnog RAG-a po tome što LLM sam ocenjuje svoje izlaze, utvrđuje da li je pronalaženje potrebno i da li je pronađeni tekst koristan, i prati sopstvene odgovore, menjajući ih po potrebi. Korektivni RAG, s druge strane, procenjuje kvalitet pronađenih informacija pre generisanja.
Ova arhitektura je posebno korisna za složene promptove koji zahtevaju duboko istraživanje. Pošto procenu relevantnosti (pronađenih informacija) integriše u generisanje odgovora, dobra je opcija za promptove koji zahtevaju odgovore zasnovane na dokazima.
6. Agentski RAG
Agentski RAG se odnosi na svaki oblik RAG-a koji se izvršava u kontekstu agentske platforme. Model koristi svoje sposobnosti rezonovanja da utvrdi koja je vrsta informacija potrebna i bira među dostupnim opcijama pronalaženja.
Pronalaženje se može pokrenuti više puta po potrebi, a model ima mogućnost da dodeli agente za složenije upite. Na primer, LLM može da zatraži pretragu baze podataka kako bi identifikovao dobavljača, pokrene pretragu dokumenata kako bi pronašao relevantne ugovore i završi veb pretragom kako bi proverio kontakt podatke pomoću javnih izvora.
Agentski RAG je glavna implementacija arhitekture u popularnim četbotovima kao što su Perplexity, ChatGPT, Claude i drugi. Pošto ove platforme osnovnom modelu omogućavaju pristup brojnim alatima i RAG pajplajnovima, model može da izabere koji oblik pronalaženja najbolje odgovara promptu.
7. Multimodalni RAG
Multimodalni RAG pronalazi kontekst iz različitih tipova medija. To je važan oblik RAG-a jer LLM-ovima čini dostupnim informacije koje bi inače bile nedostupne, kao što su grafikoni i audio-snimci.
Osnovna arhitektura je ista kao kod bilo kog drugog sistema. Na primer, pajplajn za indeksiranje može da pripremi slike za pretragu tako što ih pretvara u direktna ugrađivanja. Agentski RAG sistem bi zatim mogao da pronađe te slike zajedno sa semantički relevantnim tekstom i prosledi ih modelu za vid i jezik (vision-language model) na dvostruku obradu.
8. GraphRAG
GraphRAG koristi grafove znanja uz vektorsku pretragu kako bi pronašao informacije o entitetima. Orkestrator obično pronalazi relevantne početne entitete, koji se nazivaju i čvorovi, pomoću izdvajanja ključnih reči ili ponekad preliminarne vektorske pretrage. Komponenta za pronalaženje iz grafa zatim prolazi kroz graf znanja kako bi izgradila širi kontekst.
Na primer, kao odgovor na zahtev za detaljnu analizu kategorije proizvoda, LLM može da pokrene vektorsku pretragu kako bi identifikovao konkretne entitete (proizvode). Orkestrator će zatim pokrenuti pretragu grafa znanja kako bi pronašao povezane entitete, kao što su dobavljači, prodajna mesta, recenzije i slično.
9. Razgranati RAG
Dok hibridna RAG arhitektura ima mogućnost korišćenja različitih metoda pronalaženja, razgranati RAG se odnosi na proces istovremenog izvršavanja više upita, koji se nazivaju grane. Svaka grana može da pretražuje zaseban izvor informacija, ili grane mogu paralelno da pretražuju isti izvor pomoću različitih upita ili filtera. Agentska RAG arhitektura često koristi razgranati RAG.
10. HyDE (Hypothetical Document Embeddings – ugrađivanja hipotetičkih dokumenata)
HyDE je inovativan oblik RAG-a u kom LLM kreira hipotetički tekstualni dokument koji prikazuje kako bi optimalan odgovor mogao da izgleda. Ovaj „hipotetički dokument“ se zatim koristi za kreiranje upita radi preciznijeg pronalaženja. Čak i ako relevantno znanje nije sadržano u parametrima LLM-a, ideja je da se deo teksta nalik odgovoru može bolje podudarati sa relevantnim dokumentima nego kratko pitanje ili dvosmislen prompt.
Primer jednostavne RAG arhitekture: vektorska baza podataka
Osnovni RAG služi kao temelj za složenije tipove arhitekture. Kod jednostavnog RAG sistema koji koristi vektorsku bazu podataka, izvorna dokumentacija se deli na manje delove (segmente) i pretvara u gusta ugrađivanja. Kada korisnik unese prompt, orkestrator generiše upit, kodira ga i pretražuje bazu podataka kako bi pronašao relevantne delove teksta.
Evo pregleda procesa korak po korak:
- Velike količine teksta pretvaraju se u vektore pomoću automatizovanog pajplajna za unos podataka i modela za ugrađivanje kao što je BERT.
- Aplikacija baze podataka organizuje, indeksira i čuva vektore radi brze pretrage.
- Korisnik unosi prompt u četbot (kao što je Perplexity).
- Orkestrator aplikacije kodira prompt (pomoću modela za ugrađivanje) kako bi pronašao relevantne informacije u vektorskoj bazi podataka.
- Vektorska baza podataka vraća relevantne segmente, a orkestrator ih dodaje u ulazni kontekst („veliki prompt“) i prosleđuje LLM-u.
- LLM koristi dodatni kontekst da bi generisao odgovor uz pomoć svog internog znanja (sačuvanog u njegovim parametarskim težinama).
Primer napredne RAG arhitekture: agentski RAG
Agentski RAG se odnosi na osnovnu arhitekturu RAG sistema unutar agentske platforme. Tokovi agentskog RAG-a obično su složeni jer AI agenti mogu da pozivaju različite alate i pajplajnove u zavisnosti od prirode prompta i da po potrebi pokrenu više agenata.
Evo praktičnog primera procesa:
- Korisnik unosi složeno pitanje koje zahteva duboko istraživanje određene teme. Za potrebe ovog primera, recimo da prompt glasi: „Daj prognozu zarade kompanije za narednih šest meseci u svetlu važnih geopolitičkih dešavanja.“
- LLM zaključuje da će biti potrebna kombinacija RAG upita nad različitim tipovima sadržaja.
- Pokreću se tri različita agenta za (a) vektorsku pretragu, (b) utemeljenje na vebu i (c) pretragu slika (multimodalnu pretragu).
- Agenti traže relevantne informacije, kao što su vesti i interni finansijski podaci, preko orkestratora koristeći dostupne alate za pronalaženje.
- LLM upoređuje pronađene rezultate sa istraživačkim pitanjem svakog agenta i rangira ih po relevantnosti.
- LLM procenjuje informacije i pokreće dodatne pretrage preko pojedinačnih agenata tamo gde informacije nedostaju.
- Kada se pronađe dovoljno informacija, LLM generiše prognoze scenarija na osnovu postojećih finansijskih podataka (pronađenih u internoj dokumentaciji) i poziva alat za proračune kako bi projektovao zaradu za svaki scenario.
- LLM generiše konačan odgovor koristeći pronađene informacije i proračune, uz navođenje izvora po potrebi.
Šta sledi za RAG?
Aktuelne inovacije usmerene su na to da postojeće RAG arhitekture postanu dublje i brže, na povećanje tačnosti pronalaženja multimedijalnog sadržaja i na izgradnju sistema osmišljenih za rad sa najnovijim informacijama.
Evo tri trenda koja trenutno oblikuju pravac istraživanja:
- Duboko istraživanje kroz više izvora: Ovo je RAG arhitektura koja može da planira pretrage, izvršava više grana nad različitim izvorima, procenjuje pronađene dokaze i samostalno optimizuje generisane odgovore. Agentski RAG koji može da izvrši sve ove zadatke postaje sve brži i isplativiji.
- Multimodalne primene: Pajplajnovi za pronalaženje sve bolje rade sa slikama i videom. Sve češće mogu precizno da lociraju određene tipove informacija u složenim multimodalnim podacima, kao što su dugi video-snimci i napredni dijagrami.
- Utemeljenje odgovora na informacijama koje se neprestano menjaju: Aplikacije zasnovane na LLM-u mogu da koriste izvore informacija uživo (kao što su video-prenosi i senzori) kako bi obezbedile ulazni kontekst. Sistemi takođe mogu da generišu višeslojne mreže informacija, kao kod GraphRAG-a, kako bi protumačili te podatke.
RAG je temelj funkcionisanja aplikacija zasnovanih na LLM-u. On omogućava širokom spektru korisnika, od običnih potrošača do preduzeća koja posluju u specijalizovanim oblastima, da prevaziđu probleme povezane sa halucinacijama, nepotpunim podacima za obuku i nedostatkom pristupa specijalizovanom internom znanju.
Zato su RAG sistemi i arhitektura na kojoj počivaju jedna od najdinamičnijih i najuzbudljivijih oblasti istraživanja veštačke inteligencije.