Jedinica 1 / 11

Što je RAG i zašto je potreban?

Dobici:

  • Objašnjavajući da RAG ubacuje kontekst bez mijenjanja težine modela i radi s logikom 'ispita otvorene knjige'
  • Usporedba RAG-a s pristupima finog podešavanja i dugog konteksta prema trošku, pravovremenosti i scenariju korištenja
  • Navođenje koraka tipičnog RAG cjevovoda koji se sastoji od faza indeksiranja i upita

Bez obzira na to koliko je moćan jezični model (umjetna inteligencija koja razumije i proizvodi tekst; od sada ćemo to skraćeno zvati model), on ne poznaje ugovor koji je vaša tvrtka jučer potpisala, vašu internu wiki (internu bazu znanja) stranicu ili obavijest o izdanju objavljenu jutros. Model je ograničen na opće znanje do datuma kada je obučen; To se zove "datum prekida obrazovanja". RAG (Retrieval-Augmented Generation) popunjava upravo ovu prazninu: pronalazi dokumente tvrtke povezane s pitanjem, daje ih modelu kao kontekst (to jest, dodatni tekst koji će pročitati dok proizvodi odgovor) i daje odgovor proizveden na temelju tog konteksta.

U ovoj jedinici jasno ćemo vidjeti što je RAG, kada mu je prednost nad kojim alternativama i korake tipičnog RAG cjevovoda. Sve sljedeće jedinice će produbljivati ​​dijelove ove karte jedan po jedan.

Osnovna ideja RAG-a: Ispit s otvorenom knjigom

Objasnimo RAG jednom rečenicom: "Prvo pronađite relevantni dokument, zatim neka model pročita taj dokument i ispiše odgovor u skladu s njim."

Najkorisnija analogija je sljedeća: RAG pomiče model s "ispita zatvorene knjige" na "ispit otvorene knjige". Na ispitu zatvorene knjige student odgovara samo napamet; Postoji veliki rizik da izmislite ono čega se ne sjećate. Na ispitu iz otvorene knjige student odgovara gledajući u izvor koji se nalazi ispred njega. U RAG-u model više ne odgovara iz vlastite memorije, već iz trenutnog i specifičnog teksta koji mu date.

Kritična točka: RAG ne mijenja težine modela, odnosno milijarde numeričkih parametara koje je model naučio. Ne uvježbavate model. Za svako pitanje u upit (tekst uputa poslan modelu) umetnete dijelove teksta relevantne za to pitanje. Dakle, ne morate ponovno obučavati model kada se dokument ažurira; jednostavno osvježite relevantni zapis u bazi podataka pretraživanja.

Savjet: Dva pitanja određuju kvalitetu RAG-a: (1) Jeste li pronašli pravi dokument? (2) Je li model ispravno pročitao? Prva je "kvaliteta preuzimanja", druga je "kvaliteta generiranja". Njih dvoje se mjere i poboljšavaju zasebno.

RAG, fino podešavanje ili dugi kontekst?

Tri puta se često brkaju kada se traži rješenje za organizacijski problem. Razjasnimo njihove razlike. Fino podešavanje je ažuriranje težine modela vašim podacima i učenje novog ponašanja/stila. Dugi kontekst znači ispunjavanje svih dokumenata izravno u upit bez ikakvog odabira.

pristup

Što znači

Kada je prikladno?

Trošak / rizik

KRPICA

Ubacuje relevantni dokument kao kontekst

Informacije koje se često mijenjaju, opširne, specifične

Niska; lako se ažurira, izvor se može navesti

Fino podešavanje

Ažurira težine novim podacima

Fiksni stil/format/podučavanje jezika

Visoko; Pri svakom ažuriranju potrebna je prekvalifikacija

Samo dugi kontekst

Ispunjava sve dokumente u upitu

Mali, stacionarni set dokumenata

Povećava se cijena tokena i rizik od "gubljenja srednjeg dijela".

U pravilu: fino ugađanje uči model kako govoriti; RAG govori modelu što treba znati. U većini poslovnih scenarija prvo se isprobava RAG jer je jeftin, ažuriran i može pokazati izvor odgovora. Dugi kontekst je razuman ako je skup dokumenata stvarno malen i fiksan (npr. jedan priručnik od 20 stranica); Ali s tisućama stranica, to je skupo i model može propustiti informacije usred dugog teksta.

Tipični RAG cjevovod

RAG se sastoji od dvije glavne faze: indeksiranje (priprema, koja se radi jednom ili povremeno) i postavljanje upita (pokreće se na svako pitanje korisnika).

Indeksiranje korak po korak (offline, bez čekanja korisnika):

  1. Prikupi: Izvucite dokumente iz izvora (PDF, wiki, sustav ulaznica, baza podataka, e-pošta).
  2. Dijeljenje: razdvojite dugačak tekst na manje dijelove kojima se može upravljati.
  3. Embed: Pretvorite svaki dio u embedding (brojčani vektor koji nosi značenje teksta).
  4. Spremi: Zapišite vektore zajedno s tekstom i metapodacima (izvor, datum, informacije o autorizaciji) u vektorsku bazu podataka.

Upit korak po korak (online, dok korisnik čeka):

  1. Pretvorite pitanje korisnika u ugrađivanje.
  2. Dohvatite najsličnije dijelove iz vektorske baze podataka.
  3. Postavite ove komade + pitanje u predložak s upitom.
  4. Uzmite kontekstualni odgovor i njegove izvore iz modela.

# Konceptualni prikaz faze upita (ne ovisi o jeziku)question = "Koliko dana godišnjeg odmora?"question_vektor = embed(question)parts = vektor_db.search(question_vektor, top_k=4) # most slične dijeloveprompt = f"""Odgovorite na PITANJE pomoću KONTEKSTA ispod. Ako odgovor nije u kontekstu, recite "Nemam informacija o ovome." Fitting.CONTEXT:{parts}QUESTION: {question}"""answer = model.uret(prompt) # npr. model: claude-opus-4-8

Ovaj tijek je mapa svake faze, koju ćemo otpakirati jednu po jednu u sljedećim jedinicama.

Slab upit / Jak upit

Čak i s istim RAG kontekstom, kvaliteta upita mijenja odgovor.

Slab upit (otvoren za prilagođavanje modela, ne zahtijeva resurse):

Iskoristite ovu informaciju i recite godišnji odmor: {dijelovi}. Pitanje: {pitanje}

Moćan upit (uzemljenje + dopuštenje "ne znam" + zahtjev za resurs):

Odgovorite samo na temelju KONTEKSTA u nastavku. Ako nema jasnog odgovora u kontekstu, napišite "Nisam mogao pronaći informacije o tome u dokumentaciji"; Ne pogađaj. Dodajte oznaku [Izvor: naziv datoteke] dijela na koji se oslanjate na kraju svog odgovora. KONTEKST: {komada} PITANJE: {pitanje}

Tri mini kućišta

Slučaj 1 — pomoćnik za ljudske potencijale (ljudski resursi). Tvrtka ima priručnik o ljudskim resursima na 340 stranica, a zaposlenici u prosjeku postavljaju 90 pitanja dnevno. Pokušano je fino ugađanje, ali budući da se priručnik ažurirao mjesečno, svaki je put bila potrebna ponovna obuka; Cijena je dosegla tisuće dolara mjesečno. Nakon prelaska na RAG, ažuriranje je smanjeno na korak "ponovnog indeksiranja dokumenta" (minute), a stopa točnih odgovora porasla je sa 71% na 93% u ručnom mjerenju.

Slučaj 2 — Korisnička podrška. Tim za podršku ima 12 000 riješenih prijava i 800 članaka za pomoć. Predstavniku su u prosjeku potrebne 4 minute da ručno pronađe odgovor. Kada je pomoćnik RAG-a donio 5 najrelevantnijih zapisa i napravio nacrt odgovora, vrijeme je smanjeno na 40 sekundi; Ali tim je shvatio rizik "izgleda nesigurno donoseći krivi članak" i učinio je navođenje izvora obaveznim.

Slučaj 3 — Zakon. Ugovorni tim pitao je "u kojim ugovorima klauzula o povjerljivosti traje 5 godina?" postavlja pitanje. U dugom kontekstualnom ispitivanju, 60 ugovora je ispunjeno u jednom upitu; manekenka je preskočila srednja dva ugovora. Kada su samo relevantne stavke uvedene s RAG-om, trošak tokena smanjio se za 80%, a nedostajuće preskakanje je poništeno.

Zašto je RAG potreban?

  • Aktualnost: informacijama pristupate nakon krajnjeg datuma obuke.
  • Posebne informacije: Vaši interni dokumenti nisu uključeni u obuku nijednog modela; Samo ti možeš dati.
  • Provjerljivost: možete navesti izvor odgovora (citat) — bitno za reviziju i povjerenje.
  • Kontrola halucinacija: Oslanja se na tekst postavljen ispred njega, a ne na izmišljanje modela.
  • Trošak: Puno je jeftinije i brže ga je staviti u rad od finog podešavanja.
Oprez: RAG nije magija. Ako unesete krivi dio, model dolazi do krivog odgovora izgledajući "samouvjeren". Imajte na umu frazu "Kvaliteta preuzimanja = RAG kvaliteta".

Uobičajene greške

  • Zamjena RAG-a za fino podešavanje: RAG ne mijenja težine; To samo dodaje kontekst. Brkanje ovo dvoje dovest će do odabira pogrešne arhitekture.
  • Ne dopušta "Ne znam": Ako upit ostavlja modelu slobodu da ispuni prazninu, nadoknadit će se.
  • Nenavođenje izvora: Odgovor bez izvora nije moguće provjeriti; Korisnik ne može primijetiti grešku.
  • Trpanje svega u jedan prompt: Dugi kontekst izgleda jeftino, ali je skup i propušta srednje informacije.
  • Zaglaviti u generiranju bez mjerenja dohvaćanja: Ako je odgovor loš, prvo pitajte "Je li stigao pravi dio?" treba pitati.

Ukratko

  • RAG je pristup koji dokumente relevantne za pitanje ubacuje u model kao kontekst; ne mijenja pondere ("open book exam").
  • Fino podešavanje uči stil/format, RAG daje trenutne i specifične informacije; dugi kontekst dobro funkcionira za male fiksne skupove. U većini scenarija prvo se isprobava RAG.
  • Cjevovod ima dvije faze: izvanmrežno indeksiranje (dijel + ugrađivanje + spremanje) i mrežno postavljanje upita (dohvaćanje + upit + generiranje).
  • RAG pruža pravodobnost, specifične informacije, mogućnost provjere, kontrolu halucinacija i niske troškove.
  • Kvaliteta sustava izravno ovisi o kvaliteti dohvaćanja: pogrešan dio znači pogrešan odgovor.

Zadatak aplikacije

Odaberite pravi izvor informacija iz vlastitog tima (npr. dokument o postupku ili stranica s često postavljanim pitanjima). (1) Napiši 5 činjeničnih pitanja o ovom izvoru. (2) Zabilježite koji dio dokumenta sadrži točan odgovor za svako pitanje — ovo postaje vaš popis "zlatnih odgovora". (3) Koristeći gornji predložak "jakog upita", ručno zalijepite relevantni odjeljak kao kontekst i pitajte model. (4) Usporedite odgovor koji daje model sa zlatnim odgovorom i označite kao točno/netočno. Ovo je prva ručna verzija procjene koju ćete automatizirati u budućim jedinicama.

popis za provjeru

  • [ ] Mogu objasniti u jednoj rečenici da RAG ne mijenja težine, samo dodaje kontekst.
  • [ ] Mogu razlikovati između RAG-a, finog podešavanja i dugog konteksta i kada je što prikladno.
  • [ ] Mogu nabrojati redom faze indeksiranja (prikupi-uništi-ugradi-spremi) i upita (ugradi-dohvati-prompt-generiraj).
  • [ ] Znam zašto sam upitu dodao upute "ako nije u kontekstu, reci da ne znam" i "navedi izvor".
  • [ ] Mogu prilagoditi načelo "Kvaliteta preuzimanja = RAG kvaliteta" svom slučaju.