Dobički:
- Razumevanje logike ustvarjanja na podlagi znanja (RAG) in zakaj zmanjšuje halucinacije
- Zmožnost, da se model odzove s citatom, ki temelji samo na predloženih izvornih dokumentih
- Sposobnost upravljanja vprašanj, ki niso v viru, tako da jih varno prenesete, brez izmišljevanja vprašanj
Jezikovni model "ve" veliko, vendar ne pozna današnje politike vračila vašega podjetja, vašega trenutnega cenika ali vaše pogodbe o pošiljanju, ki se je spremenila včeraj. Še huje, kadar ne ve, si pogosto izmisli in piše v izjemno samozavestnem tonu. To je usodna napaka v storitvah za stranke: model pravi, da "vračila se izdajo v 30 dneh", medtem ko je vaš pravilnik lahko 14 dni. Pristop, ki zapolnjuje to vrzel, se imenuje RAG: Retrieval-Augmented Generation, to je "retrieval-augmented production".
Ideja je preprosta: model ne odgovori na vprašanje iz spomina, ampak iz pravilnih izvornih dokumentov, ki so v tistem trenutku postavljeni pred njega. Prvič, pravilen del dokumenta, ki je pomemben za vprašanje, je "priklic", nato pa model "generira" odgovor samo na podlagi tega dela. V tej enoti boste razumeli logiko RAG in se naučili, kako obvladati model, tako da se drži samo preverjenega vira, ki ga navedete.
Opomba: Ta enota uči delovno logiko in hitro stran RAG. Samodejni sistemi za iskanje dokumentov na ravni podjetja (vektorska zbirka podatkov itd.) zahtevajo tehnično namestitev; Disciplina je tukaj osnova, da se ta sistem pravilno odzove.
Zakaj RAG zmanjša halucinacije?
Halucinacija je, ko model proizvaja neresnične informacije, kot da bi bile resnične. Model je programiran tako, da ustvari odziv, ki se zdi "mogoč", ko vidi vrzel; Ne ve, ali je res ali ne. RAG zapolnjuje to vrzel: modelu daste dejansko relevantno besedilo skupaj z vprašanjem in rečete »samo odgovor od tu«. Tako modelu ni treba "prilegati".
Obstajajo tri komponente:
- Baza znanja: Zanesljiva besedila, kot so pogosta vprašanja, politični dokumenti, priročniki za izdelke, ceniki.
- Pridobivanje: Iskanje dela dokumenta, ki vsebuje odgovor na vprašanje, in ga dajanje modelu.
- Omejena izdaja: model odgovori s ponudbo, ki temelji samo na dobavljenem delu.
Korak za korakom: Zvest odgovor na vir
- Pripravite vir. Poiščite besedilo, na katerem bo temeljil odgovor (politika, pogosta vprašanja) v jasni in posodobljeni obliki.
- Vdelajte vir v poziv. Besedilo vstavite v oznako, kot je <source>.
- Napišite pravilo zvestobe. "Uporabljajte samo informacije iz vira; ne oddaljite se od vira."
- Naj bo navedba obvezna. Naj pove, na katerem razdelku temelji odgovor.
- Prepoznajte vedenje brez virov. Če odgovora ni v viru, naj reče "teh podatkov nimam" in jih posreduje naprej.
- Preveri. Odgovor potrdite tako, da ga primerjate z izvornim stavkom, na katerem temelji.
Pozivi, ki jih je mogoče kopirati
Poziv za odgovor na podlagi osnovnega vira:
Vloga: Ste pomočnik za podporo strankam. Na vprašanje odgovorite SAMO na podlagi informacij v spodnjem bloku <source>. Ne dodajajte informacij, ki jih ni v viru, ugibajte ali odgovarjajte na podlagi svojega splošnega znanja. Dodajte razdelek, na katerega se zanašate, na koncu odgovora v obliki »[Vir: ...]«. Če odgovora ni v viru, napišite naslednje: "Nimam dokončnih informacij o tej temi, preusmerjam vas k uradniku, ki lahko poda pravilen odgovor."<source>{{ policy_or_faq_text }}</source>Vprašanje: {{ customer_question }}
V primeru več virov, poziv za prikaz, na katerem dokumentu temelji:
Spodaj je oštevilčenih več virov. Pri odgovoru na vprašanje navedite številko vira, ki ste ga uporabili, na primer [Vir 2]. Če vam več kot en vir nasprotuje, to jasno povejte in povejte, da morate vprašati, kateri je bolj posodobljen.<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>Vprašanje: {{ customer_question }}
Poziv, ki varno upravlja vprašanje, ki ni vir:
Če je odgovor na vprašanje DELNO najden v viru: odgovorite le na del, ki ga vir pokriva, za preostali del pa recite "te podrobnosti ni v viru". Manjkajočega dela nikoli ne dopolnite z ugibanjem.
Poziv, ki prevede odgovor v jezik odjemalca, vendar ostane zvest viru:
Prevedite uradni/tehnični izraz v viru v preprost jezik, ki ga stranka lahko razume, vendar NE spreminjajte pomena in številskih vrednosti (dan, znesek, tečaj). Na primer zaokroževanje "14 koledarskih dni" na "približno dva tedna"; ohraniti polno vrednost.
Šibek poziv / močan poziv
Šibek poziv
Močan poziv
"Povejte nam o naši politiki vračanja"
Vdelani vir + "odgovori samo tukaj" + zahteva ponudbo
Odgovor po spominu modela (morda napačen)
Odgovor iz vašega trenutnega dokumenta
Če tega ni v viru, si ga izmisli
Reče "teh informacij nimam" in jih posreduje naprej.
Lahko zaokroži in popači številke
Natančno vzdržuje dan/znesek/stopnjo
Razlika je v tem, da močan poziv modelu dodeli sidro (izvorno besedilo) in prepoved (izhod iz vira). Model ne govori več iz spomina, ampak iz realnosti, ki je pred njim.
Trije mini kovčki
1. primer – past stare politike. "Vračila so sprejeta v 30 dneh," je dejal bot ene trgovine, medtem ko je deloval brez kredita; Vendar je podjetje rok skrajšalo na 14 dni. Ko je posodobljeno besedilo pravilnika dodano viru v namestitvi RAG, bot zdaj odgovori "14 koledarskih dni [Vir: Pravilnik o vračilu, člen 2]". Spori glede povračila, ki izhajajo iz lažnih obljub, so bili ponastavljeni.
Primer 2 – Ujemanje protislovja. Stranka je vprašala o stroških pošiljanja. Kot viri so bili v sistem vneseni tako stari kot novi ceniki. Zahvaljujoč pozivu iz več virov je model rekel: "Dva vira dajeta različni ceni (49 TL in 59 TL); moram potrditi trenutno" in posredoval težavo človeku. Namesto da bi stranki povedal napačen znesek, je negotovost sporočil iskreno.
Primer 3 – Disciplina delnega odziva. "Ali izdelek pošiljate v tujino in kdo plača carino?" V vprašanju je vir povedal le, da je bila pošiljka opravljena, o tem, kdo je plačal davek, ni bilo nič. Model je rekel: "Da, pošiljanje poteka v tujino [Vir: Cargo FAQ]. Vendar v tem dokumentu ni navedeno, kdo plača carino; pošiljam vas k uradniku, da to pojasnite." Namesto napol resničnega, napol izmišljenega odgovora je ustvaril pošten in samozavesten rezultat.
Namig: Hranite najnovejšo različico svoje zbirke znanja z enim virom resnice. Največji sovražnik RAG je različno zapisan isti podatek (npr. obdobje vračila) v treh ločenih dokumentih; Model se različno odziva, odvisno od tega, na katerega gleda. Najprej odstranite podvojene dokumente, nato pa jih avtomatizirajte.
Preverjanje: Ne sprostite se samo zato, ker vir obstaja
RAG močno zmanjša halucinacije, vendar jih ne ponastavi. Model si lahko včasih napačno razlaga vir, pomeša dva stavka ali potegne »sklep«, ki ni v viru. Zato je zahteva po citiranju kritična: odprite razdelek, na katerem domnevno temelji odgovor, in preverite, ali to tudi dejansko piše. O tem nadzoru se ni mogoče pogajati, zlasti pri odgovorih, ki vsebujejo številke (dan, znesek, stopnja) in pogoje (izjema, pogoj).
Pozor: če je sam vir napačen ali zastarel, RAG zvesto ponavlja to napako. Rek "model govori iz vira" ne pomeni "model govori pravilno"; Odgovorni ste za aktualnost in točnost vašega vira.
Ohranjanje pripravljenosti baze znanja za odziv
Kakovost RAG je v veliki meri odvisna od tega, kako je izvorno besedilo napisano. Model vrne veliko natančnejši odziv kot dobro strukturirana besedila z eno temo z naslovom. Praktični nasvet: svoje politike napišite v kratkih razdelkih z naslovom in ne v dolgih ugnezdenih odstavkih; Vsak razdelek naj odgovori na eno vprašanje ("Koliko dni je rok za vračilo?", "Katerih izdelkov ni mogoče vrniti?"). Ohranjanje pogosto zastavljenih vprašanj (FAQ) v obliki vprašanj in odgovorov olajša modelu iskanje pravega dela. Jasno in na enem mestu znotraj besedila navedite vrednosti, kot so datum, znesek in tečaj; Različno pisanje iste številke v različnih delih zmede model.
Druga pomembna navada je ohranjanje baze znanja pri življenju. Politike, cene in promocije se razlikujejo; Če vir ni posodobljen, model še naprej varno ponavlja staro resnico. Z vsako spremembo pravilnika posodobite vir in modelu znova postavite nekaj testnih vprašanj o spremenjeni temi, da potrdite, da daje pravilen odgovor. To majhno, a redno vzdrževanje preprečuje, da bi sistem RAG sčasoma "tiho šel narobe".
Pogoste napake
- Reči "razložite našo politiko", ne da bi zakopali vir in se zanašali na pomnjenje modela.
- Neopredelitev meje "samo odgovor iz vira" in vedenje brez vira.
- Ne zahteva citata/sklica na vir in pusti odgovor nepreverljiv.
- Hranjenje nasprotujočih si različic istih informacij v več dokumentih v bazi znanja.
- Omogoča modelu zaokroževanje/razlago številskih vrednosti.
- Pozabljena posodobitev vira, zaradi česar model zvesto ponavlja stare informacije.
Če povzamem
- RAG pomeni, da model ustvari odgovor iz trenutnega izvornega dokumenta in ne iz pomnilnika.
- Najbolj praktičen način za zmanjšanje halucinacij: zakopljite vir, recite "odgovori samo tukaj", zahtevajte navedbo.
- Če odgovora ni v viru, ne bi smeli ustrezati modelu; Reče naj "nimam" in ga izroči.
- Opozoriti model na nasprotujoče si vire; Natančno ste ohranili številčne vrednosti.
- Natančnost RAG je odvisna od pravočasnosti vašega vira; Ponudbo vedno potrdite.
Aplikacijska naloga
Vzemite dejansko besedilo pravilnika (vračilo, pošiljanje ali članstvo) iz svojega podjetja in ga vdelajte kot vir v osnovni poziv RAG zgoraj. Nato postavite tri vprašanja: (1) vprašanje, katerega odgovor je v viru jasen, (2) vprašanje, katerega odgovora sploh ni v viru, (3) vprašanje, katerega odgovor je v viru samo nepopoln. Preverite, ali model pravilno odgovori, reče »Nimam ga« in pošteno označi delni odgovor oziroma manjkajočega. Popravite odklonsko vedenje tako, da okrepite pravila zvestobe in ne-virov v pozivu.
kontrolni seznam
- [ ] V poziv sem vdelal trenutni vir, na katerem bo temeljil odgovor.
- [ ] Dodal sem pravilo »Odgovarjaj le iz vira, ne prekorači«.
- [ ] Postavil sem zahtevo za referenco vira/citiranje.
- [ ] Definiral sem vedenje delegiranja, če odgovor ni na voljo v viru.
- [ ] Zahteval sem, da se številčne vrednosti natančno ohranijo.
- [ ] Odgovor sem potrdil iz izvornega stavka, na katerem temelji.