Enota 1 / 11

Kaj je RAG in zakaj je potreben?

Dobički:

  • Razlaga, da RAG vnaša kontekst, ne da bi spremenil uteži modela, in deluje z logiko "izpita odprte knjige".
  • Primerjava RAG s pristopi natančne nastavitve in dolgega konteksta glede na ceno, pravočasnost in scenarij uporabe
  • Seznam korakov tipičnega cevovoda RAG, ki je sestavljen iz faz indeksiranja in poizvedb

Ne glede na to, kako močan je jezikovni model (umetna inteligenca, ki razume in proizvaja besedilo; odslej ga bomo na kratko imenovali model), ne pozna pogodbe, ki jo je vaše podjetje podpisalo včeraj, vaše interne strani wiki (notranja baza znanja) ali obvestila o izdaji, objavljenega danes zjutraj. Model je omejen na splošno znanje do datuma usposabljanja; To se imenuje "izobraževalni presečni datum". RAG (Retrieval-Augmented Generation) zapolnjuje natanko to vrzel: najde dokumente podjetja, povezane z vprašanjem, jih da modelu kot kontekst (to je dodatno besedilo, ki ga bo prebral med ustvarjanjem odgovora) in pripravi odgovor na podlagi tega konteksta.

V tej enoti bomo jasno videli, kaj je RAG, kdaj ima prednost pred katerimi alternativami in korake tipičnega cevovoda RAG. Vse naslednje enote bodo enega za drugim poglobile dele tega zemljevida.

Osnovna ideja RAG: odprti izpit

Razložimo RAG v enem stavku: "Najprej poiščite ustrezen dokument, nato naj model ta dokument prebere in ustrezno natisne odgovor."

Najbolj uporabna analogija je naslednja: RAG premakne model iz »zaprtega knjižnega izpita« na »odprti knjižni izpit«. Pri izpitu zaprtega knjižnega dela študent odgovarja le na pamet; Obstaja veliko tveganje, da si izmislite tisto, česar se ne spomnite. Pri izpitu odprte knjige študent odgovarja tako, da gleda v vir, ki je postavljen pred njim. V RAG model ne odgovarja več iz lastnega spomina, ampak iz trenutnega in specifičnega besedila, ki mu ga daste.

Kritična točka: RAG ne spremeni uteži modela, to je milijarde numeričnih parametrov, ki se jih je model naučil. Modela ne usposobiš znova. Za vsako vprašanje v poziv (besedilo navodil, poslano modelu) vstavite dele besedila, ki se nanašajo na to vprašanje. Torej vam ni treba ponovno usposobiti modela, ko je dokument posodobljen; preprosto osvežite ustrezni zapis v iskalni bazi.

Namig: Kakovost RAG določata dve vprašanji: (1) Ali ste našli pravi dokument? (2) Ali je model pravilno prebral? Prva je "kakovost pridobivanja", druga je "kakovost generiranja". Oboje se meri in izboljšuje ločeno.

RAG, fina nastavitev ali dolg kontekst?

Pri iskanju rešitve za organizacijski problem se pogosto zamenjajo tri poti. Razjasnimo njihove razlike. Natančna nastavitev je posodabljanje uteži modela z vašimi podatki in učenje novega vedenja/sloga. Dolg kontekst pomeni izpolnjevanje vseh dokumentov neposredno v poziv brez izbire.

Pristop

Kaj počne

Kdaj je primerno?

Stroški / tveganje

RAG

Vstavi ustrezni dokument kot kontekst

Pogosto spreminjajoče se, obsežne, specifične informacije

Nizka; enostavno posodabljanje, vir je mogoče navesti

Natančna nastavitev

Posodobi uteži z novimi podatki

Fiksni slog/format/poučevanje jezika

visoko; Pri vsaki posodobitvi je potrebno ponovno usposabljanje

Samo dolg kontekst

Izpolni vse dokumente v poziv

Majhen stacionarni komplet dokumentov

Cena žetona in tveganje "izgube srednjega dela" se povečata

Praviloma: fino uravnavanje nauči model govoriti; RAG pove modelu, kaj mora vedeti. V večini poslovnih scenarijev se najprej preizkusi RAG, ker je poceni, ga je mogoče posodobiti in lahko prikaže vir odgovora. Dolg kontekst je razumen, če je niz dokumentov res majhen in fiksen (npr. en sam 20-stranski priročnik); Toda pri tisočih straneh je drago in model lahko sredi dolgega besedila zgreši informacije.

Tipičen cevovod RAG

RAG je sestavljen iz dveh glavnih faz: indeksiranja (priprava, opravljena enkrat ali občasno) in poizvedovanja (teče na vsako uporabniško vprašanje).

Indeksiranje po korakih (brez povezave, brez čakanja uporabnika):

  1. Zbirajte: potegnite dokumente iz virov (PDF, wiki, sistem vozovnic, baza podatkov, e-pošta).
  2. Razdelitev: Dolgo besedilo razdelite na manjše obvladljive dele.
  3. Vdelaj: Pretvori vsak del v vdelavo (številski vektor, ki nosi pomen besedila).
  4. Shrani: Zapišite vektorje skupaj z besedilom in metapodatki (vir, datum, informacije o avtorizaciji) v podatkovno bazo vektorjev.

Poizvedba po korakih (na spletu, medtem ko uporabnik čaka):

  1. Pretvorite uporabnikovo vprašanje v vdelavo.
  2. Pridobite najbolj podobne dele iz vektorske baze podatkov.
  3. Postavite te kose + vprašanje v predlogo za poziv.
  4. Pridobite kontekstualni odgovor in njegove vire iz modela.

# Konceptualni oris poizvedovalne faze (ni odvisno od jezika)question = "Koliko dni letnega dopusta?"question_vektor = embed(question)parts = vektor_db.search(question_vektor, top_k=4) # najbolj podobni deliprompt = f"""Odgovorite na VPRAŠANJE z uporabo spodnjega KONTEKSTA. Če odgovor ni v kontekstu, recite "Nimam informacij o tem." Fitting.CONTEXT:{deli}QUESTION: {question}"""answer = model.uret(prompt) # npr. model: claude-opus-4-8

Ta tok je zemljevid vsake stopnje, ki ga bomo razpakirali eno za drugo v naslednjih enotah.

Šibek poziv / močan poziv

Tudi z enakim kontekstom RAG kakovost poziva spremeni odgovor.

Šibek poziv (odprt za prilagajanje modela, ne zahteva sredstev):

Uporabite te podatke in recite letni dopust: {deli}. Vprašanje: {vprašanje}

Zmogljiv poziv (ozemljitev + dovoljenje »ne vem« + zahteva za vir):

Odgovorite le na podlagi spodnjega KONTEKSTA. Če v kontekstu ni jasnega odgovora, napišite "Informacij o tem nisem našel v dokumentaciji"; Ne ugibajte. Na koncu svojega odgovora dodajte oznako [Vir: ime_datoteke] dela, na katerega se zanašate. OZADJE: {kosi} VPRAŠANJE: {vprašanje}

Trije mini kovčki

Primer 1 – kadrovski pomočnik (človeški viri). Podjetje ima 340 strani dolg kadrovski priročnik in zaposleni v povprečju postavijo 90 vprašanj na dan. Poskušali so ga natančno prilagoditi, a ker so priročnik posodabljali vsak mesec, je bilo vsakokrat potrebno ponovno usposabljanje; Stroški so dosegli več tisoč dolarjev na mesec. Po prehodu na RAG je bila posodobitev zmanjšana na korak »ponovnega indeksiranja dokumenta« (minute), stopnja pravilnih odgovorov pa se je pri ročnem merjenju povečala z 71 % na 93 %.

Primer 2 – Podpora strankam. Skupina za podporo ima 12.000 rešenih zahtevkov in 800 člankov za pomoč. Predstavnik v povprečju potrebuje 4 minute, da ročno najde odgovor. Ko je pomočnik RAG prinesel 5 najpomembnejših zapisov in pripravil osnutek odgovora, se je čas zmanjšal na 40 sekund; Vendar se je ekipa zavedala tveganja, da bi "izpadli negotovi, če bi objavili napačen članek", in je navajanje vira postalo obvezno.

Primer 3 – pravo. Skupina pogodbenikov je vprašala, "v katerih pogodbah klavzula o zaupnosti traja 5 let?" postavlja vprašanje. V dolgem kontekstualnem poskusu je bilo 60 pogodb izpolnjenih v en sam poziv; model je preskočil srednji dve pogodbi. Ko so bili z RAG uvedeni samo ustrezni predmeti, se je strošek žetona zmanjšal za 80 % in manjkajoče preskakovanje je bilo ponastavljeno.

Zakaj je RAG potreben?

  • Aktualnost: do informacij dostopate po končnem datumu usposabljanja.
  • Posebne informacije: Vaši interni dokumenti niso vključeni v usposabljanje nobenega modela; Samo ti lahko daš.
  • Preverljivost: navedete lahko vir odgovora (citiranje) – bistveno za revizijo in zaupanje.
  • Nadzor halucinacij: Zanaša se na besedilo, ki je postavljeno pred njim, namesto da bi si izmislil model.
  • Cena: Zagon je veliko cenejši in hitrejši od natančne nastavitve.
Pozor: RAG ni čarovnija. Če prinesete napačen del, model pride do napačnega odgovora in je videti »samozavesten«. Upoštevajte stavek "Kakovost pridobivanja = kakovost RAG".

Pogoste napake

  • Zamenjajte RAG za fino nastavitev: RAG ne spremeni uteži; Samo doda kontekst. Če zamenjate to dvoje, boste izbrali napačno arhitekturo.
  • Ne dovoli "ne vem": Če poziv pusti modelu možnost, da izpolni prazno, se bo popravil.
  • Nenavajanje virov: Odgovora brez vira ni mogoče preveriti; Uporabnik ne more opaziti napake.
  • Strpanje vsega v en poziv: dolg kontekst je videti poceni, vendar je drag in pogreša srednje informacije.
  • Obtičanje pri ustvarjanju brez merjenja pridobivanja: Če je odgovor slab, najprej vprašajte "Ali je prišel pravi del?" je treba vprašati.

Če povzamem

  • RAG je pristop, ki dokumente, pomembne za vprašanje, vnese v model kot kontekst; ne spreminja uteži (»open book exam«).
  • Natančna nastavitev uči slog/format, RAG daje trenutne in specifične informacije; dolg kontekst dobro deluje za majhne fiksne nize. V večini scenarijev se najprej preizkusi RAG.
  • Cevovod ima dve fazi: indeksiranje brez povezave (kos + vdelava + shranjevanje) in spletno poizvedovanje (pridobivanje + poziv + ustvarjanje).
  • RAG zagotavlja pravočasnost, specifične informacije, preverljivost, nadzor halucinacij in nizke stroške.
  • Kakovost sistema je neposredno odvisna od kakovosti iskanja: napačen del pomeni napačen odgovor.

Aplikacijska naloga

Izberite pristen vir informacij iz svoje ekipe (npr. dokument o postopku ali stran s pogostimi vprašanji). (1) Napišite 5 stvarnih vprašanj o tem viru. (2) Upoštevajte, kateri del dokumenta vsebuje pravilen odgovor za vsako vprašanje - to postane vaš seznam "zlatih odgovorov". (3) Z uporabo zgornje predloge »močan poziv« ročno prilepite ustrezen razdelek kot kontekst in vprašajte model. (4) Primerjaj odgovor modela z zlatim odgovorom in označi kot res/ne. To je prva ročna različica ocenjevanja, ki jo boste avtomatizirali v prihodnjih enotah.

kontrolni seznam

  • [ ] V enem stavku lahko razložim, da RAG ne spremeni uteži, ampak samo doda kontekst.
  • [ ] Razlikujem med RAG, fino nastavitvijo in dolgim ​​kontekstom ter kdaj je primerno.
  • [ ] Po vrstnem redu lahko štejem faze indeksiranja (collect-shred-embed-save) in poizvedbe (embed-fetch-prompt-generate).
  • [ ] Vem, zakaj sem pozivu dodal navodili "če ni v kontekstu, reci, da ne vem" in "navedi vir".
  • [ ] Načelo "Kakovost iskanja = kakovost RAG" lahko prilagodim svojemu primeru.