Problem koji običan chatbot ne rješava
Pitajte običan chatbot o procedurama vaše firme i desiće se jedno od dvoje. Ili će reći da ne zna, ili — gore — dati samouvjeren odgovor koji zvuči tačno, a nije. Vaše dokumente nikad nije vidio, pa prazninu popuni nečim što zvuči uvjerljivo.
Za firmu je to cijela poteškoća. Znanje koje je važno vašim klijentima i zaposlenima nalazi se u ugovorima, pravilnicima, cjenovnicima, uputstvima, odlukama i starim mejlovima. Model treniran na javnom internetu nema ništa od toga, a ponovno treniranje modela na vašim fajlovima rijetko je pravo rješenje.
Šta radi RAG, u jednoj rečenici
Retrieval-augmented generation dodaje korak prije odgovora: prvo se u vašim dokumentima pronađu dijelovi koji su bitni za pitanje, a zatim se ti dijelovi predaju modelu uz zahtjev da odgovori na osnovu njih.
Pomaže poređenje. Običan chatbot je načitana osoba koja odgovara napamet. RAG asistent je ista osoba sa vašom arhivom na stolu, koja prvo provjeri pa tek onda govori — i može vam reći sa koje stranice je odgovor.
Priprema dokumenata
Najveći dio posla dešava se prije nego što iko postavi pitanje. Dokumenti stižu kao PDF-ovi, skenovi, tabele i web stranice, i prvo moraju postati čist tekst koji se može čitati. Skenirane stranice traže prepoznavanje teksta; tabele i naslovi moraju zadržati značenje; duplikate i zastarjele verzije treba ukloniti ili označiti.
Tekst se zatim dijeli na dijelove — pasus, član, kratku cjelinu. To se zove chunking. Predugački dijelovi unose šum u odgovor; prekratki gube kontekst. Svaki dio pamti odakle potiče: dokument, stranicu, datum.
Svaki dio se onda pretvara u embedding: niz brojeva koji predstavlja njegovo značenje. Dva dijela koja govore o istoj stvari različitim riječima završe blizu jedan drugog. Zahvaljujući tome može se pretraživati po značenju, a ne samo po tačnim riječima, a sve se čuva u vektorskoj bazi poput pgvectora, koji koristi Urbano.
Pronalaženje pravih dijelova
Kad neko postavi pitanje, i ono se pretvori u embedding, a sistem traži dijelove koji su mu najbliži. Dobra pretraga se rijetko tu zaustavlja: može kombinovati značenje sa običnom pretragom po riječima, filtrirati po vrsti dokumenta ili datumu i ponovo rangirati rezultate prije nego što bilo šta stigne do modela.
Pretraga je mjesto gdje RAG sistem uspijeva ili pada. Ako pravi dio nije pronađen, i najbolji model na svijetu odgovoriće iz pogrešnog materijala. Najviše truda u ozbiljnom asistentu ide upravo ovdje, a ne u prozor za razgovor.
Odgovor koji se može provjeriti
Model dobija pitanje zajedno sa pronađenim dijelovima i uputstvo da odgovara samo na osnovu njih. Pouzdan asistent zatim pokazuje izvore: koji dokument, koji dio. Onaj ko čita odgovor može otvoriti original i sam procijeniti.
Jednako je važno da asistent smije reći da ne zna. Kad dokumenti ne sadrže odgovor, jasno „ovo nisam pronašao“ — i put do čovjeka — vrijedi više od tečnog nagađanja.
Dva primjera iz rada
Urbano je objavljena gradska platforma za Banju Luku. Njen asistent radi nad 22.300 gradskih dokumenata i nalazi se u istom proizvodu kao aplikacija za građane, administrativna konzola i 143 službena obrasca. Građanin pita običnim jezikom, odgovor se sastavlja iz gradskih izvora, a pitanje se može nastaviti u odgovarajuću uslugu.
Za Inovacioni centar Banja Luka gradim poslovnog asistenta koji je još u razvoju. Ovdje posao nije toliko pronalaženje jedne činjenice koliko vođenje razgovora: objašnjavanje programa podrške, prolazak kroz registraciju firme i strukturisanje prvog biznis plana. Pretraga je i dalje važna, jer programi imaju pravila koja odgovori moraju poštovati.
Pretraga ne mora biti tekst
Ista ideja radi i za slike. Curation Engine, privatni proizvod koji sam dizajnirao i razvio, čita fotografski arhiv kroz vizuelne i tekstualne embedding modele. Fotograf može riječima tražiti atmosferu ili motiv, pronaći kadrove koji liče jedni na druge i vidjeti grupe povezanih fotografija, a pronađene fotografije postaju materijal za selekciju.
Pouka važi i za poslovne dokumente: nije bitan prozor za razgovor, nego da li sistem pronalazi pravi materijal, jasno ga pokazuje i odluku ostavlja čovjeku.
Šta zaista vidi onaj ko ga koristi
Asistent je dio interfejsa, a ne njegova zamjena. Predložena pitanja pokazuju ljudima šta mogu da pitaju. Izvori se otvaraju na licu mjesta, pa je provjera odgovora jedan klik. Kad odgovor vodi ka radnji — obrascu, terminu, prijavi — sljedeći korak treba da bude odmah tu, kao u Urbanu, gdje se informacije i 143 službena obrasca nalaze u istom proizvodu.
I rezervni scenariji su dio dizajna: jasna poruka kad ništa relevantno nije pronađeno, mogućnost da se pitanje preformuliše i put do čovjeka. Ovi detalji odlučuju da li će ljudi vjerovati asistentu i poslije prve sedmice.
Kako provjeriti da li radi
Asistenta treba testirati kao i svaki drugi dio proizvoda. Prije objave skupljam stvarna pitanja — ona koja zaposleni zaista dobijaju — zajedno sa odgovorima i izvorima koje bi trebalo da daju, pa provjeravam pretragu i odgovore prema njima. Kad se promijene dokumenti ili podešavanja, isti set se pokreće ponovo.
Poslije objave najbolji učitelj su pitanja koja ljudi zaista postavljaju. Pitanja bez odgovora otkrivaju dokumente koji nedostaju; pogrešni odgovori najčešće ukazuju na problem u pretrazi; pitanja koja se ponavljaju pokazuju šta treba bolje objasniti i na samom sajtu.
Privatnost i vaši dokumenti
Dokumenti firme su često povjerljivi. Prije bilo kakve izrade vrijedi odlučiti koje dokumente asistent smije koristiti, ko smije šta da ga pita i gdje se nalaze podaci i model. Interni asistent za zaposlene i javni asistent za klijente obično traže različite skupove dokumenata i različite dozvole.
Lični podaci traže posebnu pažnju: šta ulazi u indeks, koliko dugo se čuvaju razgovori i ko ih može čitati odluke su koje se donose na početku, a ne poslije objave.
Od čega zavisi cijena i kada ga ne praviti
Obim posla najviše zavisi od dokumenata: koliko ih ima, koliko su neuređeni, koliko često se mijenjaju i da li traže prepoznavanje teksta. Zavisi i od toga kako se asistent koristi — da li ga koristi nekoliko zaposlenih ili javnost — i sa čim još mora biti povezan, recimo sa obrascima, nalozima ili kalendarom.
Ponekad je iskren odgovor da ga ne treba praviti. Ako postoji dvadesetak pitanja sa stalnim odgovorima, dobro napisana stranica sa odgovorima je brža, jeftinija i lakše se održava tačnom. RAG asistent ima smisla kad ima mnogo dokumenata, ista pitanja se stalno ponavljaju, a ručno traženje odgovora oduzima stvarno vrijeme.
Ako to liči na vašu situaciju, pošaljite mi kakve dokumente imate, ko bi postavljao pitanja i šta bi trebalo da može da uradi poslije odgovora.



