Câștiguri:
- Înțelegerea logicii generării bazate pe cunoaștere (RAG) și de ce reduce halucinațiile
- Capacitatea de a avea modelul să răspundă cu citare, pe baza documentelor sursă furnizate
- Abilitatea de a gestiona întrebările care nu se află în sursă prin transferul lor în siguranță, fără a inventa întrebări
Un model de limbă „știe” multe, dar nu cunoaște politica de returnare a companiei dvs. de astăzi, lista de prețuri actuală sau contractul de transport care sa schimbat ieri. Mai rău, când nu știe, de multe ori se inventează și scrie pe un ton extrem de încrezător. Acesta este un defect fatal în serviciul pentru clienți: modelul spune „Rambursările sunt emise în 30 de zile”, în timp ce politica dvs. poate fi de 14 zile. Abordarea care închide acest decalaj se numește RAG: Retrieval-Augmented Generation, adică „producție retrieval-augmented”.
Ideea este simplă: modelul răspunde la întrebare nu din memorie, ci din documentele sursă corecte plasate în fața lui în acel moment. În primul rând, documentul corect relevant pentru întrebare este „recuperarea”, apoi modelul „generează” răspunsul doar pe baza acelei piese. În această unitate, veți înțelege logica RAG și veți învăța cum să controlați modelul, astfel încât să se lipească doar de sursa verificată pe care o furnizați.
Notă: Această unitate învață logica de lucru și partea promptă a RAG. Sistemele de recuperare automată a documentelor la scară întreprindere (bază de date vectorială etc.) necesită o instalare tehnică; Disciplina aici este baza pentru ca acel sistem să răspundă corect.
De ce RAG reduce halucinațiile?
Halucinația este atunci când modelul produce informații ireale ca și cum ar fi reale. Modelul este programat să producă un răspuns care pare „posibil” atunci când vede un decalaj; Nu stie daca este adevarat sau nu. RAG umple acest gol: oferiți modelului textul relevant real împreună cu întrebarea și spuneți „răspundeți doar de aici”. Astfel modelul nu „trebuie” să se potrivească.
Există trei componente:
- Baza de cunoștințe: texte de încredere, cum ar fi întrebări frecvente, documente de politică, manuale de produse, liste de prețuri.
- Recuperare: Găsirea piesei de document care conține răspunsul la întrebare și oferirea acesteia modelului.
- Ediție limitată: Modelul răspunde cu o ofertă, pe baza doar a piesei furnizate.
Pas cu pas: un răspuns fidel la sursă
- Pregătiți sursa. Găsiți textul pe care se va baza răspunsul (politică, Întrebări frecvente) într-un format clar și actualizat.
- Încorporați sursa în prompt. Pune textul într-o etichetă ca <sursă>.
- Scrieți regula loialității. „Folosiți doar informațiile de la sursă; nu vă îndepărtați de sursă”.
- Faceți citarea necesară. Lasă-l să indice pe ce secțiune se bazează răspunsul.
- Identificați comportamentul non-resurse. Dacă răspunsul nu este în sursă, lăsați-l să spună „Nu am această informație” și să o transmită mai departe.
- Verifica. Confirmați răspunsul comparându-l cu propoziția sursă pe care se bazează.
Solicitări copiabile
Prompt de răspuns bazat pe sursa de bază:
Rol: Sunteți asistent de asistență pentru clienți. Răspundeți la întrebare NUMAI pe baza informațiilor din blocul <sursă> de mai jos. Nu adăugați informații care nu se află în sursă, ghiciți sau răspundeți din cunoștințele dumneavoastră generale. Adăugați secțiunea pe care vă bazați la sfârșitul răspunsului dvs. în formatul „[Sursa: ...]”. Dacă răspunsul nu este în sursă, scrieți următoarele: „Nu am informații definitive despre acest subiect, vă transfer la un oficial care poate da răspunsul corect.”<source>{{ policy_or_faq_text }}</source>Întrebare: {{ customer_question }}
În cazul surselor multiple, solicitarea de a arăta pe ce document se bazează:
Există mai multe resurse numerotate mai jos. Când răspundeți la întrebare, indicați numărul sursei pe care ați folosit-o, cum ar fi [Sursa 2]. Dacă mai multe surse vă contrazic, spuneți clar și spuneți că ar trebui să întrebați care dintre ele este mai actualizată.<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>Întrebare: {{ customer_question }}
Prompt care gestionează în siguranță întrebarea care nu este sursă:
Dacă răspunsul la întrebare se găsește PARȚIAL în sursă: răspundeți numai la partea acoperită de sursă și spuneți „acest detaliu nu este în sursă” pentru partea rămasă. Nu completați niciodată partea lipsă ghicind.
Prompt care traduce răspunsul în limba clientului, dar rămâne fidel sursei:
Traduceți expresia oficială/tehnică din sursă într-un limbaj simplu pe care clientul îl poate înțelege, dar NU modificați semnificația și valorile numerice (zi, sumă, tarif). De exemplu, rotunjirea „14 zile calendaristice” la „aproximativ două săptămâni”; păstrează valoarea deplină.
Solicitare slabă / Solicitare puternică
Prompt slab
Solicitare puternică
„Spuneți-ne despre politica noastră de returnare”
Încorporează sursa + „răspunde doar aici” + solicită citat
Răspuns din memoria modelului (poate greșit)
Răspuns din documentul curent
Dacă nu este în sursă, el inventează
El spune „Nu am această informație” și le transmite.
Poate rotunji și distorsiona numerele
Mentine exact ziua/suma/rata
Diferența este că promptul puternic oferă modelului o ancoră (text sursă) și o interdicție (ieșirea din sursă). Modelul nu mai vorbește din memorie, ci din realitatea din fața lui.
Trei mini carcase
Cazul 1 — Vechea capcană a politicii. „Retururile sunt acceptate în 30 de zile”, a spus botul unui magazin în timp ce rula fără credit; Cu toate acestea, compania a redus perioada la 14 zile. Când textul de politică actualizat este adăugat la sursă în instalarea RAG, botul răspunde acum „14 zile calendaristice [Sursa: Politica de returnare, articolul 2]”. Litigiile privind rambursările care decurg din promisiuni false au fost resetate.
Cazul 2 — Prinderea contradicției. Un client a întrebat despre costurile de transport. Atât listele de prețuri vechi, cât și cele noi au fost introduse în sistem ca surse. Datorită promptului cu mai multe surse, modelul a spus: „Două surse oferă prețuri diferite (49 TL și 59 TL); trebuie să confirm pe cea actuală” și a transmis problema omului. În loc să spună clientului o sumă incorectă, el a comunicat incertitudinea cu sinceritate.
Cazul 3 – Disciplina răspunsului parțial. „Expediați produsul în străinătate și cine plătește taxele vamale?” În întrebare, sursa a spus doar că transportul a fost făcut, nu a fost nimic despre cine a plătit taxa. Modelul spunea: „Da, transportul se face în străinătate [Sursa: Cargo FAQ]. Cu toate acestea, nu este menționat în acest document cine plătește taxa vamală; vă transfer la oficial pentru a clarifica acest lucru”. În loc de un răspuns pe jumătate adevărat, pe jumătate fabricat, a produs un rezultat onest și încrezător.
Sfat: păstrați cea mai actuală și unică versiune de adevăr a bazei dvs. de cunoștințe. A avea aceleași informații (de exemplu, perioada de întoarcere) scrise diferit în trei documente separate este cel mai mare inamic al RAG; Modelul răspunde diferit în funcție de care se uită. Mai întâi deduplicați-vă documentele, apoi automatizați-le.
Verificare: Nu vă relaxați doar pentru că sursa există
RAG reduce foarte mult halucinația, dar nu o reseta. Modelul poate uneori să interpreteze greșit sursa, amestecând două propoziții sau trăgând o „concluzie” care nu se află în sursă. De aceea, cerința de citare este critică: deschideți secțiunea pe care susține că se bazează răspunsul și verificați dacă de fapt spune așa. Acest control este nenegociabil, mai ales în răspunsurile care conțin numere (zi, sumă, tarif) și condiții (excepție, condiție).
Atenție: Dacă sursa în sine este greșită sau depășită, RAG repetă cu fidelitate acea greșeală. A spune „modelul vorbește de la sursă” nu înseamnă „modelul vorbește corect”; Sunteți responsabil pentru moneda și acuratețea sursei dvs.
Menținerea bazei de cunoștințe pregătită pentru răspuns
Calitatea RAG depinde în mare măsură de modul în care este scris textul sursă. Modelul returnează un răspuns mult mai precis decât textele bine structurate, cu titluri, cu un singur subiect. Sfaturi practice: scrieți-vă politicile în secțiuni scurte, cu titluri, mai degrabă decât în paragrafe lungi, imbricate; Fiecare secțiune să răspundă la o singură întrebare („Câte zile este perioada de returnare?”, „Ce produse nu pot fi returnate?”). Păstrarea întrebărilor frecvente (FAQs) într-un format de întrebări și răspunsuri face ca modelul să găsească mai ușor piesa potrivită. Indicați valorile, cum ar fi data, suma și rata în mod clar și într-un singur loc în text; Scrierea diferită a aceluiași număr în secțiuni diferite încurcă modelul.
Un alt obicei important este de a menține în viață baza de cunoștințe. Politicile, prețurile și promoțiile variază; Dacă sursa nu este actualizată, modelul continuă să repete în siguranță vechiul adevăr. La fiecare modificare a politicii, actualizați sursa și adresați din nou modelului câteva întrebări de testare despre subiectul modificat pentru a confirma că acesta oferă răspunsul corect. Această întreținere mică, dar regulată, împiedică sistemul RAG să „greșească în tăcere” în timp.
Greșeli comune
- Spunând „explicați-ne politica” fără a îngropa sursa și bazându-ne pe memorarea modelului.
- Nedefinirea limitei „răspuns doar de la sursă” și comportamentul non-sursă.
- Nesolicitarea unui citat/referință la sursă și lăsarea răspunsului neverificabil.
- Păstrarea versiunilor conflictuale ale aceleiași informații în mai multe documente în baza de cunoștințe.
- Permite modelului să rotunjească/interpreta valori numerice.
- Uitarea de a actualiza sursa, determinând modelul să repete cu fidelitate informațiile vechi.
Pe scurt
- RAG înseamnă că modelul își produce răspunsul din documentul sursă curent, mai degrabă decât din memorie.
- Cea mai practică modalitate de a reduce halucinația: îngropați sursa, spuneți „răspundeți doar aici”, cereți citarea.
- Dacă răspunsul nu este în sursă, nu ar trebui să se potrivească un model; Ar trebui să spună „nu-l am” și să-l predea.
- Faceți modelul conștient de surse conflictuale; Ați păstrat valorile numerice exact.
- Precizia RAG depinde de actualitatea sursei dvs.; Confirmați întotdeauna oferta.
Sarcina de aplicare
Luați un text de politică real (retur, expediere sau calitate de membru) de la propria afacere și încorporați-l ca sursă în promptul de bază RAG de mai sus. Apoi pune trei întrebări: (1) o întrebare al cărei răspuns este clar în sursă, (2) o întrebare al cărei răspuns nu este deloc în sursă, (3) o întrebare al cărei răspuns este doar incomplet în sursă. Verificați dacă modelul răspunde corect, spune „Nu îl am” și marchează sincer răspunsul parțial și, respectiv, lipsa. Corectați comportamentul deviant prin întărirea regulilor de loialitate și non-resurse în prompt.
lista de verificare
- [ ] Am încorporat sursa curentă pe care se va baza răspunsul în prompt.
- [ ] Am adăugat regula „Răspundeți doar de la sursă, nu treceți dincolo”.
- [ ] Am pus o cerință de referință la sursă / citare.
- [ ] Am definit comportamentul de delegare dacă răspunsul nu este disponibil în sursă.
- [ ] Am cerut ca valorile numerice să fie păstrate exact.
- [ ] Am confirmat răspunsul din propoziția sursă pe care se bazează.