Dobici:
- Razumijevanje logike generacije zasnovane na znanju (RAG) i zašto smanjuje halucinacije
- Mogućnost da model odgovori citiranjem, samo na osnovu dostavljenih izvornih dokumenata
- Sposobnost upravljanja pitanjima koja nisu u izvoru tako što ćete ih sigurno prenijeti, bez izmišljanja pitanja
Jezički model "zna" mnogo, ali ne zna današnju politiku povrata vaše kompanije, vaš trenutni cjenik ili ugovor o otpremi koji se jučer promijenio. Što je još gore, kada ne zna, često izmišlja i piše izuzetno samouvjerenim tonom. Ovo je fatalna greška u korisničkoj službi: model kaže "Povrat novca se izdaje u roku od 30 dana", dok vaša politika može biti 14 dana. Pristup koji zatvara ovu prazninu naziva se RAG: Retrieval-Augmented Generation, to jest, "proizvodnja proširena povratom".
Ideja je jednostavna: model odgovara na pitanje ne po sjećanju, već iz ispravnih izvornih dokumenata koji se nalaze ispred njega u tom trenutku. Prvo, ispravan dio dokumenta relevantan za pitanje je "povratak", zatim model "generira" odgovor samo na osnovu tog dijela. U ovoj jedinici ćete 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 promptnu stranu RAG-a. Sistemi za automatsko pronalaženje dokumenata na nivou preduzeća (vektorska baza podataka, itd.) zahtevaju tehničku instalaciju; Disciplina je ovdje osnova da taj sistem pravilno 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 da li je istina ili ne. RAG popunjava ovu prazninu: date modelu stvarni relevantni tekst zajedno s pitanjem i kažete „odgovor samo odavde“. Na ovaj način model ne "treba" da stane.
Postoje tri komponente:
- Baza znanja: Pouzdani tekstovi kao što su često postavljana pitanja, dokumenti o politici, priručnici za proizvode, cjenovnici.
- Preuzimanje: Pronalaženje dijela dokumenta koji sadrži odgovor na pitanje i davanje ga modelu.
- Ograničeno izdanje: Model odgovara citatom, samo na osnovu isporučenog dijela.
Korak po korak: Vjeran odgovor na izvor
- Pripremite izvor. Pronađite tekst na kojem će se temeljiti odgovor (politika, FAQ) u jasnom i ažurnom formatu.
- Ugradite izvor u prompt. Stavite tekst u oznaku kao što je <izvor>.
- Napišite pravilo lojalnosti. "Koristite samo informacije iz izvora; nemojte se udaljavati od izvora."
- Učinite citiranje obaveznim. Neka on/ona naznači na kojem dijelu se zasniva odgovor.
- Identifikujte ponašanje bez resursa. Ako odgovor nije u izvoru, neka kaže "nemam ovu informaciju" i prosledi je dalje.
- Verify. Potvrdite odgovor tako što ćete ga uporediti sa izvornom rečenicom na kojoj se zasniva.
Copiable Prompts
Upit za odgovor na osnovu osnovnog izvora:
Uloga: Vi ste pomoćnik korisničke podrške. Odgovorite na pitanje SAMO na osnovu informacija u <izvor>bloku ispod. Nemojte dodavati nikakve informacije koje nisu u izvoru, pogodite ili odgovor na osnovu vašeg opšteg znanja. Dodajte dio 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 na službenika koji može dati tačan odgovor."<source>{{ policy_or_faq_text }}</source>Pitanje: {{ customer_question }}
U slučaju više izvora, upit da se pokaže na kom se dokumentu zasniva:
Postoji više resursa numeriranih ispod. Kada odgovarate na pitanje, navedite broj izvora koji ste koristili, kao što je [Izvor 2]. Ako vam je više od jednog izvora u suprotnosti, recite to jasno i navedite da biste trebali pitati koji je ažurniji.<izvori>1) {{ izvor_1 }}2) {{ izvor_2 }}3) {{ izvor_3 }}</sources>Pitanje: {{ customer_question }}
Prompt koji sigurno upravlja pitanjem bez izvora:
Ako je odgovor na pitanje DJELIMIČNO pronađen u izvoru: odgovorite samo na dio koji je izvor pokriven, a za preostali dio recite "ovaj detalj nije u izvoru". Nikada ne popunjavajte 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 NE mijenjajte značenje i numeričke vrijednosti (dan, iznos, stopa). Na primjer, zaokruživanje "14 kalendarskih dana" na "oko dvije sedmice"; zadržati punu vrijednost.
Slaba prompt / jaka prompt
Slaba poruka
Snažan prompt
"Recite nam o našoj politici vraćanja"
Ugrađuje izvor + "odgovori samo ovdje" + traži citat
Odgovor po sjećanju modela (možda pogrešan)
Odgovor iz vašeg trenutnog dokumenta
Ako to nije u izvoru, on to izmišlja
On kaže "nemam ovu informaciju" i prenosi ih dalje.
Može zaokružiti i iskriviti brojeve
Tačno održava dan/iznos/nor
Razlika je u tome što jaki prompt daje modelu sidro (izvorni tekst) i zabranu (izlazak iz izvora). Model više ne govori iz sjećanja, već iz stvarnosti koja je pred njim.
Tri mini futrole
Slučaj 1 — Stara zamka politike. „Povrat se prihvata u roku od 30 dana“, rekao je bot jedne prodavnice dok je radio bez kredita; Međutim, kompanija je taj period smanjila na 14 dana. Kada se ažurirani tekst politike doda izvoru u RAG instalaciji, bot sada odgovara "14 kalendarskih dana [Izvor: Politika povrata, član 2]". Sporovi o povratu novca koji proizlaze iz lažnih obećanja su poništeni.
Slučaj 2 — Uhvatiti kontradikciju. Kupac je pitao o troškovima dostave. Kao izvori u sistem su uneseni i stari i novi cjenovnici. Zahvaljujući promptu iz više izvora, model je rekao: "Dva izvora daju različite cijene (49 TL i 59 TL); moram potvrditi trenutni" i prenio problem čovjeku. Umjesto da kupcu kaže netačan iznos, on je iskreno prenio nesigurnost.
Slučaj 3 — Disciplina djelomične reakcije. „Šaljete li proizvod u inostranstvo i ko plaća carinu?“ U pitanju je izvor samo rekao da je pošiljka izvršena, a da nema ništa o tome ko je platio porez. Model je rekao: "Da, otprema se vrši u inostranstvo [Izvor: Cargo FAQ]. Međutim, u ovom dokumentu nije navedeno ko plaća carinu; Prebacujem vas službeniku da to razjasni." Umjesto napola istinitog, napola izmišljenog odgovora, proizveo je iskren i siguran rezultat.
Savjet: Zadržite najnoviju verziju svoje baze znanja sa jednim izvorom istine. Imati iste informacije (npr. period povratka) drugačije napisane u tri odvojena dokumenta najveći je neprijatelj RAG-a; Model različito reaguje u zavisnosti od toga koji model gleda. Prvo uklonite duplikate dokumenata, a zatim ih automatizujte.
Potvrda: Nemojte se opuštati samo zato što izvor postoji
RAG uvelike smanjuje halucinacije, ali je ne resetuje. Model ponekad može pogrešno protumačiti izvor, pomiješavši dvije rečenice ili izvući “zaključak” koji nije u izvoru. Zato je uslov citiranja kritičan: otvorite odeljak na kojem se odgovor tvrdi da se zasniva i proverite da li tako piše. O ovoj kontroli se ne može pregovarati, posebno u odgovorima koji sadrže brojeve (dan, iznos, stopa) i uslove (izuzetak, uslov).
Oprez: Ako je sam izvor pogrešan ili zastario, RAG vjerno ponavlja tu grešku. Reći "model govori iz izvora" ne znači "model govori ispravno"; Vi ste odgovorni za valutu i tačnost vašeg izvora.
Održavanje baze znanja spremnom za odgovor
Kvalitet RAG-a u velikoj mjeri ovisi o tome kako je napisan izvorni tekst. Model daje mnogo precizniji odgovor od dobro strukturiranih, naslovljenih tekstova s jednom temom. Praktični savjeti: napišite svoje politike u kratkim, naslovljenim dijelovima umjesto dugih, ugniježđenih pasusa; Neka svaki odjeljak odgovori na jedno pitanje ("Koliko je dana rok za povrat?", "Koji proizvodi se ne mogu vratiti?"). Održavanje često postavljanih pitanja (FAQ) u formatu pitanja i odgovora olakšava modelu da pronađe pravi dio. Navedite vrijednosti kao što su datum, iznos i stopa jasno i na jednom mjestu unutar teksta; Različito pisanje istog broja u različitim dijelovima zbunjuje model.
Još jedna važna navika je održavanje baze znanja živom. Politika, cijene i promocije variraju; Ako se izvor ne ažurira, model nastavlja sigurno ponavljati staru istinu. Sa svakom promjenom politike, ažurirajte izvor i ponovo postavite modelu nekoliko testnih pitanja o promijenjenoj temi kako biste potvrdili da daje tačan odgovor. Ovo malo, ali redovno održavanje sprečava da RAG sistem "tiho pođe po zlu" tokom vremena.
Uobičajene greške
- Reći "objasnite našu politiku" bez zakopavanja izvora i oslanjajući se na pamćenje modela.
- Ne definiranje granice "samo odgovor iz izvora" i ponašanje koje nije izvor.
- Ne zahtijevajući citat/referencu izvora i ostavljajući odgovor neprovjerljivim.
- Čuvanje konfliktnih verzija istih informacija u više dokumenata u bazi znanja.
- Omogućavanje modelu da zaokruži/tumači numeričke vrijednosti.
- Zaboravljanje ažuriranja izvora, uzrokujući da 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 da smanjite halucinacije: zakopajte izvor, recite "samo odgovori ovdje", zatražite citat.
- Ako odgovor nije u izvoru, ne treba odgovarati modelu; Trebao bi reći "nemam" i predati.
- Učinite model svjesnim konfliktnih izvora; Točno ste sačuvali numeričke vrijednosti.
- RAG tačnost zavisi od pravovremenosti vašeg izvora; Uvijek potvrdite ponudu.
Zadatak aplikacije
Uzmite stvarni tekst politike (povratak, isporuka ili članstvo) iz vašeg poslovanja 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. Proverite da li model odgovara tačno, kaže „Nemam ga“ i iskreno označava delimičan odgovor, odnosno onaj koji nedostaje. Ispravite devijantno ponašanje jačanjem pravila lojalnosti i neresursnih pravila u promptu.
kontrolna lista
- [ ] U prompt sam ugradio trenutni izvor na kojem će se temeljiti odgovor.
- [ ] Dodao sam pravilo "Samo odgovor od izvora, ne idi dalje".
- [ ] Postavio sam referencu izvora / zahtjev za citiranje.
- [ ] Definirao sam ponašanje delegiranja ako odgovor nije dostupan u izvoru.
- [ ] Tražio sam da se numeričke vrijednosti tačno sačuvaju.
- [ ] Potvrdio sam odgovor iz izvorne rečenice na kojoj se zasniva.