Preskoči na sadržaj
Konis Software
AI i automatizacija·10 min čitanja

RAG: AI koji odgovara iz vaših dokumenata, a ne iz pamćenja

RAG je pristup u kome AI odgovara iz vaših dokumenata uz izvor, umesto iz pamćenja. Kako radi cevovod, zašto fine-tuning obično nije rešenje i kada RAG nije pravi alat.

Ukratko

  • RAG ne pamti vaše podatke nego ih čita u trenutku pitanja, dohvati relevantne delove dokumenata pa tek onda sastavi odgovor sa navedenim izvorom.
  • Fine-tuning menja ton i ponašanje modela, a ne njegovo poznavanje činjenica, i zato je gotovo uvek pogrešan alat za zahtev „model treba da zna naše podatke“.
  • Kvalitet RAG-a odlučuje se u isecanju i metapodacima mnogo više nego u izboru samog modela.
  • Dozvole moraju biti deo dohvatanja: korisnik nikada ne sme da pronađe dokument koji inače ne sme da otvori.
  • Halucinacija je češće greška pretrage nego generisanja, pa se recall pretrage i vernost odgovora moraju meriti odvojeno.

Najčešći zahtev koji čujemo oko veštačke inteligencije glasi otprilike ovako: „hoćemo da model zna naše podatke“. Iza te rečenice se skoro uvek krije pogrešna slika o tome kako AI radi — kao da postoji dugme kojim se firma „ubaci“ u model, pa on od tada sve zna. Tako ne funkcioniše, i dobra vest je da vam to i ne treba.

Ono što vam treba zove se RAG — generisanje potpomognuto pretragom. Ideja je jednostavna: kad korisnik postavi pitanje, sistem prvo pronađe relevantne delove vaših dokumenata, pa tek onda pusti jezički model da sastavi odgovor, ali samo na osnovu tog pronađenog materijala, uz navođenje odakle mu svaka tvrdnja. Model ne pamti vaše podatke; on ih čita u trenutku pitanja.

Šta je RAG, bez mistifikacije

Zamislite iskusnog kolegu kome date pitanje i policu sa priručnicima. On ne odgovara napamet — otvori pravi priručnik, nađe pravu stranicu, pročita je i onda vam kaže odgovor pokazujući prstom odakle mu. RAG radi tačno to, samo mašinskom brzinom i nad hiljadama dokumenata istovremeno.

Ključna posledica je da se odgovor može proveriti. Kad sistem uz odgovor navede izvor — koji dokument, koji odeljak — čovek za nekoliko sekundi vidi da li tvrdnja stoji. To je razlika između AI-ja kome verujete na reč i AI-ja koji vam pokazuje dokaz. Za bilo šta ozbiljno u preduzeću, druga vrsta je jedina upotrebljiva.

Zašto fine-tuning nije odgovor

Kada čuju „model treba da zna naše podatke“, mnogi pomisle na fine-tuning — dodatno treniranje modela na sopstvenim dokumentima. To je gotovo uvek pogrešan alat za taj cilj, iz nekoliko razloga koje vredi razdvojiti.

Fine-tuning menja stil i ponašanje modela, ne njegovo znanje o činjenicama. Ako istrenirate model na svojim dokumentima, on će naučiti kako zvučite, ali neće pouzdano zapamtiti da artikal X košta tačno onoliko koliko košta — a baš te činjenice su vam potrebne. Još gore, kad se cena promeni, morali biste ponovo da trenirate, dok RAG samo pročita novu vrednost iz izvora.

Uz to, fine-tuning ne zna za dozvole. Jednom kad podatak uđe u težine modela, on je tamo za sve — ne možete da kažete da direktor sme da vidi zarade, a magacioner ne. RAG čuva podatke tamo gde i inače žive, sa postojećim pravima pristupa, i dohvata ih po pravilima. Fine-tuning ima mesta kada želite određeni ton ili format izlaza, ili specijalizovan zadatak — ali „da model zna naše činjenice“ nije taj slučaj.

Cevovod: od dokumenta do odgovora

RAG nije jedan model nego lanac koraka, i kvalitet celog sistema određuje najslabija karika, a ne model na kraju. Evo šta se dešava između dokumenta i odgovora.

FazaŠta radiGde se lomi
Unos (ingest)čita dokumente iz izvora — PDF, baza, mejl, sajtpreskočeni ili loše pročitani formati
Isecanje (chunk)deli dokument na delove pogodne za pretragupredugi ili presečeni delovi gube smisao
Ugrađivanje (embed)pretvara delove u vektore za pretragu po značenjupogrešan model za jezik ili domen
Dohvatanje (retrieve)nalazi delove najbliže pitanjuvrati mnogo, ali ne ono pravo
Rerangiranje (rerank)precizno rangira dohvaćene delovepreskočeno, pa najbolji deo ostane nisko
Generisanje (generate)sastavlja odgovor uz navođenje izvoraodgovara i kad dohvat nije našao ništa

Većina ljudi misli da se kvalitet RAG-a bira izborom modela u poslednjem redu. Ne bira se tamo. Bira se u sredini tabele — u tome kako su dokumenti isečeni i označeni.

Isecanje i metapodaci odlučuju o kvalitetu

Ovo je deo koji se najčešće potceni. Ako dokument isečete na pogrešnim mestima — tako da tabela cena bude presečena napola, ili da se rečenica koja daje kontekst nađe u jednom delu, a podatak u drugom — pretraga će dohvatati delove koji sami po sebi nemaju smisla. Model tada dobija komadiće bez konteksta i odgovara loše, ma koliko bio dobar.

Metapodaci — oznake uz svaki deo, poput izvora, datuma, odeljenja ili verzije dokumenta — jednako su važni. Bez njih sistem ne može da razlikuje važeću verziju procedure od prošlogodišnje, ni da suzi pretragu na pravu oblast. Dobar RAG troši više truda na to kako se dokumenti pripremaju nego na izbor modela, i to je obrnuto od onoga što većina očekuje.

Halucinacija je češće greška pretrage nego generisanja. Kad AI izmisli odgovor, prva pretpostavka ne treba da bude „model laže“, nego „pretraga mu nije dala pravi materijal“. Popravite dohvat i najveći deo izmišljanja nestane sam.

Dozvole su deo pretrage, a ne naknadna misao

Ovo je granica koja se ne sme preći: korisnik nikada ne sme da dohvati dokument koji inače ne sme da otvori. Ako RAG sistem pretražuje sve dokumente bez obzira na prava pristupa, on postaje savršena mašina za curenje podataka — neko ko nema pristup platnom spisku postavi pitanje, a model mu ljubazno sastavi odgovor iz upravo tog spiska.

Zato dozvole moraju da budu deo samog dohvatanja, a ne filter zalepljen na kraju. Praktično, to znači da se prava pristupa proveravaju u trenutku pretrage: sistem dohvata samo iz skupa dokumenata koje taj konkretan korisnik sme da vidi, pa tek onda generiše. Isti dokument daje različite odgovore različitim ljudima, tačno kao što bi i u papirnom svetu. Ovo je i razlog zašto se RAG gradi nad sistemima koji već znaju ko sme šta — upravljanje dokumentima kroz DocDot oslanja se na postojeća prava pristupa umesto da ih izmišlja iznova.

Kako se meri RAG

RAG sistem pada na dva različita načina, i mešanje ta dva je najčešći uzrok toga što se kvalitet ne popravlja. Morate ih meriti odvojeno.

  • Recall pretrage (retrieval recall) — da li je dohvat uopšte našao deo dokumenta u kojem se nalazi odgovor. Ako odgovor nije ni dohvaćen, model nema šanse da bude u pravu.
  • Vernost odgovora (faithfulness) — da li se generisani odgovor drži onoga što je dohvaćeno, ili je model dodao nešto svoje. Odgovor može biti veran, a beskoristan ako je dohvat promašio; i tačan materijal može dati nevernu tvrdnju ako model odluta.

Ova dva broja se popravljaju različitim sredstvima. Nizak recall se leči boljim isecanjem, metapodacima i rerangiranjem. Niska vernost se leči strožim uputstvom modelu i navođenjem izvora za svaku tvrdnju. Ako merite samo „da li je korisnik zadovoljan odgovorom“, ne znate koju od dve poluge da povučete.

Redosled kojim se RAG dovodi u upotrebljivo stanje:

  1. Sastavite skup pitanja i tačnih odgovora iz stvarnih upita, sa poznatim izvorom za svaki.
  2. Prvo merite recall. Za svako pitanje proverite da li je pravi deo dokumenta uopšte dohvaćen. Bez toga ostalo nema smisla.
  3. Onda merite vernost. Da li se odgovor drži dohvaćenog materijala i navodi izvor koji stvarno potkrepljuje tvrdnju.
  4. Popravljajte cevovod, ne model. Isecanje, metapodaci i rerangiranje daju veći pomak od zamene modela.
  5. Merite ponovo posle svake promene izvora. Nova dokumentacija može da obori ono što je juče radilo.

Svežina indeksa i kada RAG nije odgovor

RAG je dobar tačno onoliko koliko je svež njegov indeks. Ako se procedura promeni, a stara verzija ostane u pretrazi, sistem će samouvereno citirati zastarelo pravilo. Zato osvežavanje indeksa nije jednokratan posao nego stalni proces: kada se dokument promeni, njegovi delovi se ponovo unesu i označe, a stari povuku. Sistem koji se jednom napuni pa zaboravi polako počne da laže — ne zato što je model loš, nego zato što čita jučerašnji svet.

I na kraju, najvažnija granica: RAG nije odgovor na svako pitanje. Kada je podatak strukturiran — stanje zaliha, iznos fakture, broj otvorenih reklamacija — ne pretražujte ga kao tekst, nego ga pitajte kao bazu. „Koliko komada artikla X imamo na stanju“ nije zadatak za pretragu po značenju, nego običan upit nad bazom, i pokušaj da se to reši preko RAG-a daje sporije i manje pouzdano rešenje od jednog reda u bazi.

U praksi se najbolji sistemi kombinuju: RAG za pitanja nad dokumentima i politikama, direktan upit za brojke, i jasno pravilo koje pitanje ide kuda. Tako NG Sara odgovara na pitanje o uslovima isporuke iz dokumenata, a o konkretnom stanju porudžbine iz baze NG Commerce platforme — svako pitanje sa svog izvora. Ako niste sigurni koja pitanja u vašem slučaju traže RAG, a koja bazu, to je prvi razgovor koji vredi obaviti.

Razgovarajmo o vašem slučaju

Opišite nam proces koji vas najviše košta. Na kratkom razgovoru kažemo da li se isplati automatizovati i šta bi to konkretno značilo.

Česta pitanja

Šta je RAG jednostavnim rečima?

RAG (generisanje potpomognuto pretragom) je pristup u kome AI, pre nego što odgovori, pretraži vaše dokumente i pronađe relevantne delove, pa odgovor sastavi samo na osnovu njih uz navođenje izvora. Model ne pamti vaše podatke, nego ih čita u trenutku pitanja. Zbog toga se svaki odgovor može proveriti prema izvoru.

Da li nam treba fine-tuning da bi AI znao naše podatke?

Gotovo nikad. Fine-tuning menja stil i ponašanje modela, ali ne pamti pouzdano činjenice poput cena ili stanja, a menja se svaki put kad se podatak promeni. Za „da model zna naše podatke“ pravi alat je RAG, jer čita aktuelni izvor umesto da ga uči napamet.

Zašto AI izmišlja odgovore i kako to sprečiti?

Izmišljanje je najčešće posledica toga što pretraga nije dohvatila pravi materijal, a ne toga što model „laže“. Popravljanjem isecanja, metapodataka i rerangiranja najveći deo halucinacija nestane. Uz to, traženje da model navede izvor za svaku tvrdnju dodatno smanjuje izmišljanje.

Kako se meri kvalitet RAG sistema?

Kroz dva odvojena broja: recall pretrage, odnosno da li je odgovor uopšte dohvaćen, i vernost odgovora, odnosno da li se odgovor drži dohvaćenog materijala. Ta dva kvara se leče različitim sredstvima, pa se moraju meriti odvojeno. Merenje samo zadovoljstva korisnika ne govori koju polugu treba povući.

Kada RAG nije pravo rešenje?

Kada je podatak strukturiran, poput stanja zaliha ili iznosa fakture. Takva pitanja se rešavaju direktnim upitom nad bazom, ne pretragom teksta po značenju. Najbolji sistemi kombinuju RAG za dokumente i direktan upit za brojke, uz jasno pravilo koje pitanje ide kuda.

Nastavite dalje