Stacklane je sada Vantion LabsSaznajte više

Svi članci
RAG

8 min čitanja

Šta je RAG? Kako radi, uz primjere iz prakse.

Šta je RAG, jednostavnim riječima: retrieval-augmented generation omogućava jezičkom modelu da odgovara na pitanja iz vaših dokumenata i navede izvore. Kako radi, četiri primjera, poređenje s fine-tuningom i dugim kontekstom i šta može poći po zlu.

Autor Ishak KahrimanovicOsnivač, Vantion Labs

Šta je RAG?

RAG, skraćenica za retrieval-augmented generation, način je da AI odgovara iz vaših dokumenata. Kada neko postavi pitanje, sistem prvo u vašim dokumentima pronađe odlomke koji na njega odgovaraju. Te odlomke preda jezičkom modelu, koji napiše odgovor i navede odakle potiče svaki njegov dio.

Jezički model je vrsta AI sistema na kojem rade chat asistenti: softver treniran na velikoj količini teksta, koji čita ono što mu date i piše odgovor. O vašim internim procedurama, ugovorima i priručnicima ne zna ništa. RAG mu preda relevantne stranice kada stigne pitanje.

Kako RAG radi

RAG radi u dvije faze. Jednom, i ponovo kad god se dokumenti promijene, sistem priprema vaše dokumente: čita ih, dijeli na odlomke i svaki odlomak čuva u obliku koji se može pretraživati. Zatim za svako pitanje pronalazi najrelevantnije odlomke, predaje ih jezičkom modelu s uputama i vraća odgovor s navedenim izvorima.

Priprema dokumenata

  • Unos. Konektori prikupljaju dokumente s diskova, intraneta ili iz sistema za upravljanje dokumentima i izvlače tekst. Skenirane stranice prvo trebaju OCR (prepoznavanje teksta).
  • Podjela. Sistem svaki dokument dijeli na odlomke od nekoliko pasusa, najbolje po naslovima, da svaki odlomak pokriva jednu temu.
  • Embedding. Svaki odlomak se pretvara u embedding i čuva u indeksu za pretragu, zajedno s izvorom, datumom i podatkom o tome ko ga smije čitati.

Embedding je niz brojeva koji predstavlja značenje odlomka, pa su odlomci o istoj temi blizu jedan drugom i kada koriste različite riječi. Većina sistema čuva i indeks ključnih riječi, jer pretraga po značenju može promašiti tačne izraze kao što je broj klauzule.

Jedno pitanje, od početka do odgovora

  1. 01Zaposlenik pita: "Mogu li neiskorišteni godišnji odmor prenijeti u sljedeću godinu?"
  2. 02Sistem provjerava koje dokumente taj zaposlenik smije čitati.
  3. 03Pretražuje indeks po značenju i po ključnim riječima, samo među tim dokumentima, i zadržava nekoliko najboljih odlomaka, kao što je dio HR pravilnika o godišnjem odmoru.
  4. 04Modelu šalje pitanje, te odlomke i upute: da odgovori samo iz tih odlomaka, navede svaki koji koristi i kaže ako u njima nema odgovora.
  5. 05Model piše odgovor. Sistem provjerava da svaki navedeni izvor pokazuje na pronađeni odlomak, a zatim prikazuje odgovor s linkovima na izvore.

Prava pristupa primjenjuju se u samoj pretrazi: svaki odlomak nosi prava pristupa svog izvornog dokumenta. Kada ograničeni odlomak jednom stigne do modela, model ga može ponoviti, bez obzira na to šta kažu upute.

Primjeri RAG-a iz svakodnevnog rada

RAG odgovara svuda gdje ljudi troše vrijeme tražeći informacije u dokumentima koji se mijenjaju, a trebaju odgovor koji mogu provjeriti u izvoru. Tri primjera u nastavku su ilustrativna, tipični slučajevi, svaki s dokumentima o kojima je riječ i onim što čovjek i dalje provjerava.

Pitanja zaposlenih o pravilnicima i procedurama

Na primjer, organizacija za zdravstvenu njegu drži HR pravilnike i radne upute na intranetu, neke u više verzija. RAG asistent na pitanja kao što je "Koji obrazac koristim za prijavu incidenta?" odgovara samo iz važećih procedura, s linkom na stranicu. Procedure za rukovodioce mogu pronaći samo rukovodioci. Na pitanja na koja dokumenti ne odgovaraju asistent jasno kaže "nije pronađeno", a HR vidi koja se takva pitanja ponavljaju.

Odgovori podrške iz dokumentacije proizvoda

Tipičan slučaj: priručnici, bilješke o izdanjima i članci o poznatim problemima razasuti su po centru za pomoć i internoj wiki stranici. U helpdesku RAG pronalazi odlomke za proizvod i verziju tog kupca i piše nacrt odgovora s linkovima. Zaposlenik podrške provjerava, mijenja i šalje odgovor. Filter po verziji je važan: priručnik starijeg izdanja daje odgovore za koje kupac zna da su pogrešni.

Ugovori i spisi predmeta, s izvorima

Na primjer, tim nabavke pita: "Šta smo s ovim dobavljačem dogovorili o kašnjenju isporuke?" Odgovor je u ugovoru, možda izmijenjen aneksom. RAG vraća odgovor s tačnom klauzulom i stranicom, pa referent nabavke pročita izvor prije nego što se osloni na njega. Isto funkcioniše za spise predmeta u osiguravajućem društvu ili općini.

Pitanja o svim dokumentima, kao što je "spisak svih ugovora s klauzulom o indeksaciji cijena", RAG slabo rješava, jer čita samo nekoliko odlomaka koje pronađe. Za takva pitanja bolje je prvo izvući klauzule u tabelu, pa pretraživati tabelu.

Pretraga unutar procesa

Docket, naš referentni projekat (reference build), provjerava fakture dobavljača u odnosu na pisanu politiku nabavke. Za svaku fakturu pronalazi klauzule politike koje se na nju odnose, donosi odluku i uz svaku automatsku odluku navodi klauzulu na kojoj se zasniva. Fakture koje ne prođu idu čovjeku, s već zapisanim razlogom.

Kada koristiti RAG, fine-tuning ili dugi kontekst

RAG koristite kada odgovori moraju dolaziti iz mnogo dokumenata ili iz dokumenata koji se mijenjaju, kada korisnici trebaju provjeriti izvor ili kada različiti ljudi smiju vidjeti različite dokumente. Dokumente stavite direktno u prompt (dugi kontekst) kada ih je malo i kada se ne mijenjaju. Fine-tuning dodatno trenira model na primjerima i više oblikuje način na koji model piše nego ono što zna.

KarakteristikaRAGDugi kontekstFine-tuning
Šta radiModelu šalje samo odlomke relevantne za svako pitanjeUz svako pitanje šalje cijele dokumenteDodatnim treniranjem mijenja način na koji model odgovara
Skup dokumenataVeći nego što model može pročitati odjednomDovoljno mali da stane u jedan promptNema ga; činjenice koje model usvoji ne mogu se pratiti do izvora
Kada se dokumenti promijenePonovo indeksirate izmijenjene dokumentePošaljete novu verzijuPonovo trenirate model
Navođenje izvoraUgrađenoMoguće, ako od modela tražite da citiraNije moguće
Pristup po korisnikuFiltrira se u pretraziDokumente birate za svakog korisnikaNije moguće
Trošak rada raste sBrojem odlomaka poslanih po pitanjuPunom dužinom dokumenata, svaki putHostovanjem modela i ponovnim treniranjem
Dobro odgovara zaPravilnike, ugovore, baze znanja, dokumentaciju proizvodaJedan priručnik ili jedan ugovorFiksni format rezultata, ustaljen stil pisanja firme ili uzak zadatak s velikim obimom

Pristupi se mogu kombinovati, a naš članak RAG ili fine-tuning detaljno obrađuje taj izbor. Ako se pitanja odnose na podatke u sistemu, kao što su status narudžbe ili stanje zaliha, upit prema tom sistemu bolji je od sva tri pristupa.

Šta kod RAG-a pođe po zlu i kako to uočiti

Većina problema s RAG-om nastane prije nego što model išta napiše. Pretraga promaši odlomak s odgovorom ili vrati zastarjelu verziju, loše parsiranu tabelu ili odlomak koji korisnik ne smije vidjeti. Model tada odgovara iz onoga što je dobio, ili izmisli odgovor kada ništa korisno ne stigne.

Pretraga promaši pravi odlomak

Pretraga po značenju vraća odlomke na pravu temu u kojima se tražena šifra proizvoda nigdje ne spominje. Ili su pravilo i izuzetak od pravila podijeljeni u dva odlomka, a pretraga je vratila samo pravilo. Pomažu podjela po naslovima, dodatna pretraga po ključnim riječima i preuzimanje susjednih odlomaka.

Zastarjeli i dvostruki dokumenti

Ista procedura postoji u tri foldera: prošlogodišnja verzija, važeća verzija i nacrt. Pretraga pronađe sve tri, a model citira staru ili ih pomiješa. Indeksirajte samo odobrene, važeće verzije i uklonite odlomke kada se dokument zamijeni.

Loše parsirane tabele i skenirani dokumenti

Jednostavan alat za izvlačenje teksta pretvori tabelu cijena u razbacane brojeve, pa se izgubi koja cijena pripada kojem proizvodu. Skenirani PDF bez prepoznavanja teksta ne daje nikakav tekst, pa dokument tiho ispada iz svih odgovora. Nakon izvlačenja provjerite uzorak svake vrste dokumenta.

Prava pristupa kroz koja podaci procure

Podaci procure kada se prava pristupa jednom kopiraju u indeks i nikad ne sinhronizuju, pa neko ko je uklonjen iz foldera i dalje dobija odgovore iz njega. Procure i kada se od prompta očekuje da sakrije sadržaj. Filtrirajte u pretrazi, sinhronizujte prava iz izvornih sistema i testirajte nalogom koji ne bi smio vidjeti ništa.

Model ipak izmisli odgovor

Kada pretraga ne pronađe ništa relevantno, model može ipak odgovoriti iz svog općeg treniranja, bez izvora ili s izvorom koji kaže nešto drugo. Uputite ga da kaže kada odlomci ne sadrže odgovor, provjeravajte izvore u kodu i prikažite "nije pronađeno" kada odgovor nema ispravan izvor.

Mjerite skupom testova

Prikupite stvarna pitanja budućih korisnika, svako s odlomkom koji na njega odgovara, i dodajte pitanja na koja dokumenti ne mogu odgovoriti. Pretragu i odgovore ocjenjujte odvojeno: da li je pravi odlomak među prvim rezultatima, i da li je odgovor tačan i potkrijepljen izvorom koji navodi? Skup ponovo pokrenite nakon svake izmjene. Naš vodič kako evaluirati RAG pokazuje kako.

Kako početi: gotov alat ili izrada po mjeri

Počnite s gotovim alatom za razgovor s dokumentima kada jedan odjel postavlja pitanja o jednom izvoru koji svi smiju čitati, a ljudi provjeravaju odgovore. Izradu RAG sistema prepustite programerima kada se odgovori oslanjaju na više sistema, kada se prava pristupa razlikuju po korisniku, kada izvori moraju izdržati reviziju, kada podaci moraju ostati u EU ili kada odgovori pripadaju vašem vlastitom softveru.

Kada je gotov alat dovoljan

Mnogi uredski paketi i AI asistenti omogućavaju da učitate datoteke ili povežete disk i postavljate pitanja. To je dovoljno kada:

  • Dokumenti su na jednom mjestu i rijetko se mijenjaju.
  • Svi koji alat koriste smiju čitati sve dokumente.
  • Ljudi provjeravaju izvor prije nego što postupe prema odgovoru.
  • Mjesto gdje pružalac usluge čuva i obrađuje datoteke odgovara vašim pravilima o podacima.

Kada izradu prepustiti programerima

  • Odgovori se oslanjaju na više izvora, a svaki traži vlastiti konektor i sinhronizaciju.
  • Pristup se razlikuje po osobi ili timu, a pretraga mora pratiti prava iz svakog izvornog sistema.
  • Izvori moraju biti provjerljivi u reviziji: i mjesecima kasnije možete pokazati koji odlomak, iz koje verzije, potkrepljuje odgovor.
  • Dokumenti i pitanja moraju ostati u EU, preko pružaoca modela hostovanog u EU ili na vašem vlastitom cloud računu.
  • Odgovori pripadaju sistemima koje ljudi već koriste, kao što su tiket ili spis predmeta.

Naš vodič kako izraditi RAG chatbot na koji se ljudi mogu osloniti prolazi kroz izradu sloj po sloj. Naš RAG početni paket, open source na GitHubu, struktura je od koje polazimo kada izrađujemo sisteme koji odgovaraju na pitanja iz dokumenata. Ako želite da vam ga izradimo i održavamo, pogledajte kako izrađujemo RAG sisteme koji odgovaraju iz vaših dokumenata, s izvorima i pravima pristupa.

Pitanja o RAG-u

Da li je RAG isto što i chatbot?

Nije. Chatbot je interfejs u kojem ljudi kucaju pitanja i dobijaju odgovore. RAG je metoda kojom se odgovori zasnivaju na vašim dokumentima, a može stajati iza chat prozora, polja za pretragu, nacrta odgovora u helpdesku ili koraka u automatizovanom procesu. Chatbot bez RAG-a odgovara iz općeg treniranja modela.

Sprječava li RAG izmišljanje odgovora?

RAG smanjuje vjerovatnoću izmišljenih odgovora, ali oni se i dalje dešavaju. Model odgovara iz odlomaka koje mu date i navodi ih, pa čitalac može provjeriti izvor. Model i dalje može pogrešno pročitati odlomak, pogrešno spojiti dva izvora ili popuniti prazninu kada pretraga ne pronađe ništa relevantno.

Zato oko modela dodajte provjere: provjeru izvora u kodu, odgovor "nije pronađeno" i skup testova. Kod odluka koje su važne čovjek čita navedeni izvor.

Mogu li naši dokumenti ostati u EU?

Mogu. U RAG sistemima koje izrađujemo dokumenti, indeks za pretragu i logovi mogu raditi u EU regijama, a model radi preko pružaoca hostovanog u EU ili na vašem vlastitom cloud računu. Kod gotovog alata to provjerite prije nego što bilo šta učitate.

Koja je razlika između RAG-a i pretrage?

Pretraga vraća dokumente ili odlomke, a čitalac u njima sam traži odgovor. RAG prvo pretražuje, a zatim jezički model iz najboljih odlomaka piše odgovor s navedenim izvorima. Kada ljudima treba cijeli dokument, kao što je predložak ili obrazac, dobra pretraga je dovoljna.

Svi članci

Razgovarajte s osnivačem o jednom procesu