Arhitektura RAG sistema: Kako izbeći halucinacije i povećati preciznost pretrage
Sistemi za proširenu generaciju pretragom (RAG) često pate od gubitka konteksta i površnih odgovora. Napredne tehnike segmentacije podataka i hijerarhijskog preuzimanja omogućavaju kompanijama da grade pouzdana AI rešenja koja razumeju nijanse kompleksnih dokumenata.
Uspešan RAG sistem zahteva odvajanje jedinice za pretragu od jedinice za generisanje, uz primenu semantičke segmentacije i kontekstualnog obogaćivanja podataka kako bi se eliminisale halucinacije.
Izaberi iznos ili skeniraj kod bez iznosa pa ga upiši u banci. Novac ide direktno na račun autora (GoSimple), Trek ne uzima ništa i nije posrednik u plaćanju.
Na telefonu: preuzmi kod, pa ga u aplikaciji banke učitaj iz galerije.
Izazov fragmentacije podataka u RAG sistemima
Osnovni problem svakog sistema zasnovanog na RAG tehnologiji leži u načinu na koji se podaci pripremaju za pretragu, odnosno u procesu koji se naziva segmentacija ili chunking. Kada se veliki dokumenti nasumično dele na manje delove, često dolazi do gubitka semantičkog smisla, što dovodi do pojave takozvanih polovičnih istina ili halucinacija. Ako su segmenti previše mali, model gubi širi kontekst neophodan za razumevanje specifičnih pravila ili izuzetaka.
S druge strane, preveliki segmenti dovode do fenomena semantičkog zamućenja, gde se ključne informacije gube u masi irelevantnog teksta. Inženjeri se često suočavaju sa dilemom kako balansirati između preciznosti pretrage i dubine konteksta. Bez naprednih arhitektonskih rešenja, sistem nije u stanju da poveže razbacane delove informacija koje su ključne za donošenje ispravnih poslovnih odluka.
Proizvodni sistemi zahtevaju više od pukog deljenja teksta na osnovu broja karaktera. Potrebno je razumeti strukturu informacija, prepoznati promene tema unutar transkripata ili dokumenata i osigurati da LLM (veliki jezički model) dobije dovoljno informacija da formuliše siguran i tačan odgovor bez rizika od pogrešnog tumačenja.
Semantička segmentacija kao inteligentna alternativa
Semantička segmentacija predstavlja napredan pristup gde se granice između delova teksta ne određuju arbitrarnim brojem karaktera, već promenom značenja samog sadržaja. Algoritam analizira matematičku udaljenost između rečenica koristeći vektorske reprezentacije, čime detektuje trenutak kada se tema razgovora ili dokumenta menja. Kada kosinusna udaljenost između dve rečenice pređe određeni prag, sistem automatski kreira novu granicu segmenta.
Ovaj metod je posebno koristan kod nestrukturiranih podataka, kao što su transkripti sastanaka gde ne postoje jasni naslovi ili pasusi. Ipak, čista semantička segmentacija nosi rizike. Bez ograničenja, sistem može kreirati prevelike segmente koji prevazilaze kapacitete modela ili, suprotno tome, mikro-segmente koji su beskorisni za pretragu. Zbog toga se u praksi primenjuje ograničena semantička segmentacija.
Ograničena semantička segmentacija koristi statističke pragove, poput 90. ili 95. percentila, kako bi se fokusirala samo na najznačajnije promene tema. Uz dodavanje minimalnih i maksimalnih ograničenja veličine segmenta, inženjeri osiguravaju da sistem ostane stabilan i predvidljiv, sprečavajući stvaranje ogromnih blokova teksta koji bi doveli do gubitka preciznosti pri pretrazi.
Parent-Document Retrieval: Razdvajanje pretrage i generisanja
Jedna od najmoćnijih arhitektura u modernom RAG dizajnu je Parent-Document Retrieval, poznata i kao strategija od malog ka velikom. Osnovna ideja je razdvajanje jedinice za pretragu od jedinice za generisanje. Sistem pretražuje bazu koristeći male, precizne segmente koji su optimizovani za pronalaženje ključnih reči ili specifičnih koncepata, ali kada pronađe odgovarajući segment, on ne šalje samo taj mali deo modelu.
Umesto toga, sistem koristi metapodatke da pronađe roditeljski dokument ili širi kontekstualni blok kojem taj mali segment pripada. Na primer, ako korisnik postavi pitanje o specifičnom pravilu osiguranja, sistem pronalazi precizan pasus o tom pravilu, ali modelu šalje čitavu sekciju dokumenta koja sadrži i neophodne izuzetke, definicije i pravne napomene. Ovo drastično smanjuje rizik od davanja nepotpunih informacija.
Ovaj pristup funkcioniše kao bibliotečki katalog. Korisnik ne mora da čita celu knjigu da bi našao odgovor, već koristi indeksnu karticu koja ga upućuje na tačnu stranicu. U RAG sistemu, vektorska baza podataka služi kao indeks, dok se puni tekst čuva u odvojenom skladištu dokumenata. Time se postiže maksimalna efikasnost pretrage uz zadržavanje bogatstva konteksta potrebnog za kvalitetan odgovor.
Primer iz prakse: Izbegavanje finansijskih grešaka
Zamislite scenario u kojem zaposleni pita sistem o refundaciji troškova za terapiju. Dokumentacija sadrži pravila o refundaciji, ali i ključno pravilo o autorizaciji za sesije preko broja deset. Ako sistem pretražuje samo na osnovu ključne reči refundacija, on će pronaći segment koji govori o procentu povraćaja novca, ali će ignorisati segment o autorizaciji, jer se on nalazi u drugom delu dokumenta.
Ako bi se modelu prosledio samo taj izolovani segment, on bi dao tačan, ali opasan odgovor koji ne pominje neophodnost autorizacije. Korisnik bi mogao da nastavi sa terapijom, verujući da je sve pokriveno, samo da bi kasnije bio suočen sa odbijanjem zahteva i visokim troškovima. Ovo je klasičan primer polovične istine koja nastaje usled loše arhitekture preuzimanja podataka.
Korišćenjem Parent-Document Retrieval strategije, sistem prepoznaje da je pronađeni segment deo šire celine o zdravstvenim beneficijama. On povlači kompletnu sekciju, omogućavajući modelu da sintetizuje odgovor koji uključuje i procenat refundacije i upozorenje o neophodnoj autorizaciji. Ovakav pristup pretvara chatbot iz jednostavnog pretraživača u pouzdanog asistenta koji razume pravila poslovanja.
Breadcrumbs: Organizacioni GPS za podatke
Metapodaci su često zanemaren resurs u izgradnji RAG sistema, a tehnika poznata kao Breadcrumbs (mrvice hleba) predstavlja najjednostavniji i najjeftiniji način za drastično poboljšanje preciznosti. Tokom parsiranja dokumenata, sistem beleži hijerarhijski put svakog segmenta, na primer: Beneficije > Porodično odsustvo > Zahtevi za očinsko odsustvo.
Kada se ovaj put doda kao metapodatak svakom segmentu, LLM dobija neophodan kontekst o tome čemu određeni tekst pripada. Bez ove informacije, segment koji pominje podnošenje zahteva dve nedelje unapred mogao bi se odnositi na bilo šta, od naručivanja laptopa do rezervacije sale. Breadcrumbs eliminišu tu dvosmislenost bez dodatnih troškova pozivanja AI modela tokom faze unosa podataka.
Ova metoda je deterministička i zasnovana na pravilima, što je čini izuzetno pouzdanom. Inženjeri je koriste za strukturiranje podataka iz Markdown naslova ili hijerarhijskih struktura dokumenata. Rezultat je sistem koji tačno zna kontekst svakog fragmenta informacija, što značajno smanjuje verovatnoću da model pogrešno protumači nameru korisnika.
Kontekstualno obogaćivanje za složene narative
Kada dokumenti nemaju jasnu strukturu, poput pravnih izveštaja ili medicinskih istraživanja, tehnika kontekstualnog obogaćivanja postaje neophodna. Ideja je da se pre samog skladištenja podataka koristi brži i jeftiniji model za analizu svakog segmenta i generisanje kratkog, objašnjavajućeg zaglavlja. Ovo zaglavlje se zatim pridružuje segmentu pre nego što se on pretvori u vektor.
Na taj način, svaki segment dobija svoj mali kontekstualni okvir koji objašnjava o čemu se u njemu radi, čak i ako je sam tekst fragmentaran. Zamislite da čitate stranicu iz misterioznog romana koja počinje rečenicom o srebrnom ključu. Bez konteksta, ta informacija je beskorisna, ali sa dodatim zaglavljem koje objašnjava scenu, čitalac odmah razume značaj te informacije.
Ovaj pristup omogućava sistemima da se nose sa izuzetno kompleksnim i gustim tekstovima gde tradicionalna segmentacija podbacuje. Iako zahteva dodatni korak u fazi pripreme podataka, dugoročna korist u vidu preciznosti odgovora i smanjenja halucinacija čini ovu investiciju opravdanom za svaku ozbiljnu poslovnu primenu.
Zaključak za inženjere i lidere
Izgradnja vrhunskog RAG sistema nije samo pitanje izbora pravog modela, već pre svega pitanje arhitekture podataka. Razumevanje ograničenja standardne segmentacije i primena naprednih tehnika kao što su semantičko deljenje, hijerarhijsko preuzimanje i kontekstualno obogaćivanje pravi razliku između eksperimentalnog projekta i produkcionog rešenja koje donosi vrednost.
Ključna poruka za sve koji rade na ovim sistemima je da se fokusiraju na kvalitet ulaznih podataka. Nijedan model, ma koliko napredan bio, ne može da nadomesti nedostatak konteksta ili pogrešno strukturirane informacije. Investiranje u pametne strategije pripreme podataka na samom početku procesa je najsigurniji put ka pouzdanoj i skalabilnoj veštačkoj inteligenciji.
Izvor: Towards AI · Fotografija: Pexels / Freepik (ilustracija)