Dobici:
- Razumijevanje logike stvaranja temeljene na znanju (RAG) i zašto smanjuje halucinacije
- Mogućnost da model odgovori citiranjem, samo na temelju dostavljenih izvornih dokumenata
- Sposobnost upravljanja pitanjima koja nisu u izvoru njihovim sigurnim prijenosom, bez izmišljanja pitanja
Jezični model "zna" puno, ali ne zna današnju politiku povrata vaše tvrtke, vaš trenutni cjenik ili vaš ugovor o otpremi koji se promijenio jučer. Što je još gore, kad ne zna, često izmišlja i piše krajnje samouvjerenim tonom. Ovo je kobna greška u korisničkoj službi: model kaže "Povrat se izdaje u roku od 30 dana", dok vaša polica može biti 14 dana. Pristup koji zatvara ovaj jaz naziva se RAG: Retrieval-Augmented Generation, odnosno "retrieval-augmented production".
Ideja je jednostavna: model ne odgovara na pitanje iz sjećanja, već iz točnih izvornih dokumenata koji se u tom trenutku nalaze ispred njega. Prvo, ispravan dio dokumenta relevantan za pitanje je "preuzimanje", zatim model "generira" odgovor samo na temelju tog dijela. U ovoj ćete jedinici razumjeti logiku RAG-a i naučiti kako obuzdati model tako da se drži samo provjerenog izvora koji navedete.
Napomena: Ova jedinica podučava radnu logiku i brzu stranu RAG-a. Sustavi za automatsko pronalaženje dokumenata na razini poduzeća (vektorska baza podataka, itd.) zahtijevaju tehničku instalaciju; Disciplina je ovdje osnova da taj sustav ispravno reagira.
Zašto RAG smanjuje halucinacije?
Halucinacija je kada model proizvodi nestvarne informacije kao da su stvarne. Model je programiran da proizvede odgovor koji se čini "mogućim" kada vidi prazninu; Ne zna je li to istina ili nije. RAG popunjava ovu prazninu: modelu dajete stvarni relevantni tekst uz pitanje i kažete "samo odgovor odavde". Na ovaj način model ne "treba" odgovarati.
Postoje tri komponente:
- Baza znanja: Pouzdani tekstovi kao što su često postavljana pitanja, dokumenti o politici, priručnici za proizvode, cjenici.
- Dohvaćanje: Pronalaženje dijela dokumenta koji sadrži odgovor na pitanje i davanje istog modelu.
- Ograničeno izdanje: Model odgovara ponudom, temeljeno samo na isporučenom dijelu.
Korak po korak: vjeran odgovor na izvor
- Pripremite izvor. Pronađite tekst na kojem će se temeljiti odgovor (pravila, FAQ) u jasnom i ažuriranom formatu.
- Ugradite izvor u upit. Stavite tekst u oznaku poput <source>.
- Napiši pravilo lojalnosti. "Koristite samo informacije iz izvora; nemojte se udaljavati od izvora."
- Obavezno navođenje. Neka on/ona označi na kojem se odjeljku odgovor temelji.
- Identificirajte ponašanje koje nije povezano s resursima. Ako odgovora nema u izvoru, neka kaže "Nemam tu informaciju" i proslijedi.
- Potvrdi. Potvrdite odgovor uspoređujući ga s izvornom rečenicom na kojoj se temelji.
Upiti koji se mogu kopirati
Upit za odgovor na temelju temeljnog izvora:
Uloga: Vi ste pomoćnik korisničke podrške. Odgovorite na pitanje SAMO na temelju informacija u <source>bloku ispod. Nemojte dodavati informacije koje nisu u izvoru, nagađajte ili odgovarajte na temelju svog općeg znanja. Dodajte odjeljak na koji se oslanjate na kraju svog odgovora u formatu "[Izvor: ...]". Ako odgovor nije u izvoru, napišite sljedeće: "Nemam konačne informacije o ovoj temi, prebacujem vas službenoj osobi koja može dati točan odgovor."<source>{{ policy_or_faq_text }}</source>Pitanje: {{ customer_question }}
U slučaju više izvora, upit za prikaz na kojem se dokumentu temelji:
Postoji više izvora označenih dolje. Kada odgovarate na pitanje, navedite broj izvora koji ste koristili, npr. [Izvor 2]. Ako vam više od jednog izvora proturječi, recite to jasno i navedite da trebate pitati koji je najnoviji.<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>Pitanje: {{ customer_question }}
Upit koji sigurno upravlja pitanjem koje nije izvor:
Ako se odgovor na pitanje DJELOMIČNO nalazi u izvoru: odgovorite samo na dio pokriven izvorom, a za preostali dio recite "ovog detalja nema u izvoru". Nikad ne popunjavaj dio koji nedostaje pogađanjem.
Prompt koji prevodi odgovor na jezik klijenta, ali ostaje vjeran izvoru:
Prevedite službeni/tehnički izraz u izvoru na jednostavan jezik koji kupac može razumjeti, ali NEMOJTE mijenjati značenje i numeričke vrijednosti (dan, iznos, tečaj). Na primjer, zaokruživanje "14 kalendarskih dana" na "oko dva tjedna"; zadržati punu vrijednost.
Slab upit / Jak upit
Slab upit
Snažan brz
"Recite nam nešto o našoj politici povrata"
Ugrađuje izvor + "odgovori samo ovdje" + traži ponudu
Odgovor po sjećanju modela (možda pogrešan)
Odgovor iz vašeg trenutnog dokumenta
Ako nije u izvoru, on to izmišlja
On kaže “Nemam tu informaciju” i prenosi dalje.
Može zaokružiti i iskriviti brojeve
Točno održava dan/iznos/stopu
Razlika je u tome što snažan prompt daje modelu sidro (izvorni tekst) i zabranu (odlazak s izvornog). Maneken više ne govori iz sjećanja, nego iz stvarnosti pred sobom.
Tri mini kućišta
Slučaj 1 — stara zamka politike. "Povrati se prihvaćaju unutar 30 dana", rekao je bot jedne trgovine dok je radio bez kredita; Međutim, tvrtka je skratila rok na 14 dana. Kada se ažurirani tekst pravila doda izvoru u RAG instalaciji, bot sada odgovara "14 kalendarskih dana [Izvor: Pravila povrata, članak 2]". Sporovi oko povrata novca proizašli iz lažnih obećanja poništeni su.
Slučaj 2 — Uhvatiti kontradikciju. Kupac je pitao o troškovima dostave. U sustav su kao izvori uneseni i stari i novi cjenik. Zahvaljujući upitu s više izvora, model je rekao: "Dva izvora daju različite cijene (49 TL i 59 TL); moram potvrditi trenutnu" i prenio problem čovjeku. Umjesto da je kupcu rekao netočan iznos, on je neizvjesnost priopćio iskreno.
Slučaj 3 — Djelomična disciplina odgovora. “Šaljete li proizvod u inozemstvo i tko plaća carinu?” U pitanju je izvor rekao samo da je pošiljka izvršena, a nije bilo ništa o tome tko je platio porez. Model je rekao: "Da, otprema se obavlja u inozemstvo [Izvor: Cargo FAQ]. Međutim, u ovom dokumentu nije navedeno tko plaća carinu; prebacujem vas službenoj osobi da to pojasnite." Umjesto poluistinitog, poluizmišljenog odgovora, dao je iskren i samouvjeren rezultat.
Savjet: Zadržite najnoviju verziju svoje baze znanja s jednim izvorom istine. Imati iste informacije (npr. razdoblje povrata) drugačije napisane u tri odvojena dokumenta najveći je neprijatelj RAG-a; Model različito reagira ovisno o tome na koji gleda. Prvo deduplicirajte svoje dokumente, a zatim ih automatizirajte.
Potvrda: Nemojte se opustiti samo zato što Izvor postoji
RAG uvelike smanjuje halucinacije, ali ih ne poništava. Model ponekad može pogrešno protumačiti izvor, miješajući dvije rečenice ili izvlačeći "zaključak" koji nije u izvoru. Zato je zahtjev za citiranjem kritičan: otvorite odjeljak na kojem se tvrdi da se temelji odgovor i provjerite piše li to doista. O ovoj se kontroli ne može pregovarati, posebno u odgovorima koji sadrže brojeve (dan, iznos, stopa) i uvjete (iznimka, uvjet).
Oprez: ako je sam izvor pogrešan ili zastario, RAG vjerno ponavlja tu pogrešku. Reći "model govori iz izvora" ne znači "model govori ispravno"; Vi ste odgovorni za aktualnost i točnost svog izvora.
Održavanje baze znanja spremnom za odgovor
Kvaliteta RAG-a uvelike ovisi o tome kako je izvorni tekst napisan. Model daje puno točniji odgovor od dobro strukturiranih, naslovljenih tekstova s jednom temom. Praktični savjeti: napišite svoje politike u kratkim odjeljcima s naslovom, a ne u dugim, ugniježđenim odlomcima; Neka svaki odjeljak odgovori na jedno pitanje ("Koliko dana je rok povrata?", "Koji se proizvodi ne mogu vratiti?"). Čuvanje često postavljanih pitanja (FAQ) u formatu pitanja i odgovora olakšava modelu pronalaženje pravog dijela. Jasno i na jednom mjestu unutar teksta navedite vrijednosti kao što su datum, iznos i tečaj; Različito pisanje istog broja u različitim odjeljcima zbunjuje model.
Još jedna važna navika je održavanje baze znanja na životu. Pravila, cijene i promocije se razlikuju; Ako se izvor ne ažurira, model nastavlja sigurno ponavljati staru istinu. Sa svakom promjenom pravila, ažurirajte izvor i ponovno postavite modelu nekoliko ispitnih pitanja o promijenjenoj temi kako biste potvrdili daje točan odgovor. Ovo malo, ali redovito održavanje sprječava da RAG sustav "tiho krene po zlu" tijekom vremena.
Uobičajene greške
- Reći "objasnite našu politiku" bez zakopavanja izvora i oslanjanja na pamćenje modela.
- Ne definiranje granice "samo odgovor iz izvora" i ponašanje bez izvora.
- Ne tražeći ponudu/referencu izvora i ostavljajući odgovor neprovjerljivim.
- Čuvanje proturječnih verzija istih informacija u više dokumenata u bazi znanja.
- Omogućuje modelu da zaokruži/interpretira numeričke vrijednosti.
- Zaboravljanje ažuriranja izvora, zbog čega model vjerno ponavlja stare informacije.
Ukratko
- RAG znači da model proizvodi svoj odgovor iz trenutnog izvornog dokumenta, a ne iz memorije.
- Najpraktičniji način za smanjenje halucinacija: zakopati izvor, reći "odgovori samo ovdje", zatražiti citat.
- Ako odgovor nije u izvoru, ne treba odgovarati modelu; Treba reći "nemam" i predati.
- Neka model bude svjestan proturječnih izvora; Sačuvali ste točno brojčane vrijednosti.
- RAG točnost ovisi o pravodobnosti vašeg izvora; Uvijek potvrdite ponudu.
Zadatak aplikacije
Uzmite stvarni tekst pravila (povrat, otprema ili članstvo) iz vlastite tvrtke i ugradite ga kao izvor u osnovni RAG upit iznad. Zatim postavite tri pitanja: (1) pitanje čiji je odgovor jasan u izvoru, (2) pitanje čiji odgovor uopće nije u izvoru, (3) pitanje čiji je odgovor samo nepotpun u izvoru. Provjerite daje li model točan odgovor, kaže li "Nemam" i pošteno označava djelomičan odgovor, odnosno ono što nedostaje. Ispravite devijantno ponašanje jačanjem pravila o lojalnosti i ne-resursima u upitu.
popis za provjeru
- [ ] Ugradio sam trenutni izvor na kojem će se odgovor temeljiti u upitu.
- [ ] Dodao sam pravilo "Odgovaraj samo iz izvora, nemoj prekoračiti".
- [ ] Stavio sam zahtjev za referencu izvora/navod.
- [ ] Definirao sam ponašanje delegiranja ako odgovor nije dostupan u izvoru.
- [ ] Zahtijevao sam da se numeričke vrijednosti točno sačuvaju.
- [ ] Potvrdio sam odgovor iz izvorne rečenice na kojoj se temelji.