Vinster:
- Förstå logiken i kunskapsbaserad generation (RAG) och varför det minskar hallucinationer
- Möjlighet att få modellen att svara med citat, endast baserat på källdokumenten som tillhandahålls
- Förmåga att hantera frågor som inte finns i källan genom att överföra dem på ett säkert sätt, utan att hitta på frågor
En språkmodell "vet" mycket, men den känner inte till ditt företags returpolicy idag, din nuvarande prislista eller ditt fraktavtal som ändrades igår. Vad värre är, när han inte vet, hittar han ofta på det och skriver i en extremt självsäker ton. Detta är ett fatalt fel i kundservice: modellen säger "Återbetalningar utfärdas inom 30 dagar" medan din försäkring kan vara 14 dagar. Tillvägagångssättet som täpper till detta gap kallas RAG: Retrieval-Augmented Generation, det vill säga "retrieval-augmented production".
Idén är enkel: Modellen svarar inte på frågan från minnet, utan från de korrekta källdokument som placerats framför den i det ögonblicket. Först är det korrekta dokumentet som är relevant för frågan "hämtning", sedan "genererar" modellen svaret endast baserat på den biten. I den här enheten kommer du att förstå logiken i RAG och lära dig hur du tyglar modellen så att den bara håller sig till den verifierade källan du tillhandahåller.
Obs: Denna enhet lär ut arbetslogiken och snabbsidan av RAG. System för automatisk dokumenthämtning i företagsskala (vektordatabas, etc.) kräver en teknisk installation; Disciplin här är grunden för att systemet ska kunna reagera korrekt.
Varför minskar RAG hallucinationer?
Hallucination är när modellen producerar overklig information som om den vore verklig. Modellen är programmerad att producera ett svar som verkar "möjligt" när den ser en lucka; Vet inte om det är sant eller inte. RAG fyller denna lucka: du ger modellen den faktiska relevanta texten tillsammans med frågan och säger "svar bara härifrån." På så sätt "behöver" modellen inte passa.
Det finns tre komponenter:
- Kunskapsbas: Pålitliga texter som FAQs, policydokument, produktmanualer, prislistor.
- Hämtning: Hitta dokumentet som innehåller svaret på frågan och ge det till modellen.
- Begränsad upplaga: Modellen svarar med offert, endast baserat på den del som medföljer.
Steg för steg: Ett troget svar på källan
- Förbered källan. Hitta texten som svaret kommer att baseras på (policy, FAQ) i ett tydligt och uppdaterat format.
- Bädda in källan i prompten. Lägg texten i en tagg som <källa>.
- Skriv lojalitetsregeln. "Använd bara informationen från källan, avvik inte från källan."
- Gör citat obligatoriskt. Låt honom/henne ange vilket avsnitt svaret bygger på.
- Identifiera icke-resursbeteende. Om svaret inte finns i källan, låt honom säga "Jag har inte den här informationen" och skicka den vidare.
- Kontrollera. Bekräfta svaret genom att jämföra det med källsatsen som det bygger på.
Kopieringsbara uppmaningar
Svarsmeddelande baserat på den underliggande källan:
Roll: Du är kundsupportassistent. Svara ENDAST på frågan baserat på informationen i <källa>blocket nedan. Lägg inte till någon information som inte finns i källan, gissningen eller svaret från din allmänna kunskap. Lägg till avsnittet du förlitar dig på i slutet av ditt svar i formatet "[Källa: ...]". Om svaret inte finns i källan, skriv följande: "Jag har ingen definitiv information om detta ämne, jag överför dig till en tjänsteman som kan ge rätt svar."<källa>{{ policy_or_faq_text }}</source>Fråga: {{ customer_question }}
I händelse av flera källor, uppmaningen att visa vilket dokument det är baserat på:
Det finns flera resurser numrerade nedan. När du svarar på frågan, ange numret på den källa du använde, till exempel [Källa 2]. Om mer än en källa motsäger dig, säg det tydligt och ange att du bör fråga vilken som är mest aktuell.<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>Fråga: {{ customer_question }}
Uppmaning som säkert hanterar icke-källfrågan:
Om svaret på frågan återfinns DELVIS i källan: svara endast på den del som källan täcker, och säg "den här detaljen finns inte i källan" för den återstående delen. Fyll aldrig i den saknade delen genom att gissa.
Uppmaning som översätter svaret till klientens språk, men förblir trogen källan:
Översätt det officiella/tekniska uttrycket i källan till ett enkelt språk som kunden kan förstå, men ÄNDRA INTE innebörden och numeriska värden (dag, belopp, kurs). Till exempel, avrundning av "14 kalenderdagar" till "ungefär två veckor"; behålla fullt värde.
Svag prompt / Stark prompt
Svag uppmaning
Kraftfull uppmaning
"Berätta om vår returpolicy"
Bäddar in källa + "svar endast här" + begär offert
Svar från modellens minne (kanske fel)
Svar från ditt nuvarande dokument
Om det inte finns i källan så hittar han på det
Han säger "jag har inte den här informationen" och skickar den vidare.
Kan avrunda och förvränga siffror
Upprätthåller dag/belopp/kurs exakt
Skillnaden är att den starka prompten ger modellen ett ankare (källtext) och ett förbud (går från källan). Modellen talar inte längre ur minnet, utan från verkligheten framför honom.
Tre minifodral
Fall 1 — Den gamla policyfällan. "Retur accepteras inom 30 dagar," sa en butiks bot medan han körde utan kredit; Bolaget minskade dock perioden till 14 dagar. När den uppdaterade policytexten läggs till källan i RAG-installationen svarar boten nu "14 kalenderdagar [Källa: Returpolicy, artikel 2]". Återbetalningstvister som härrör från falska löften har återställts.
Fall 2 – Att fånga motsägelsen. En kund frågade om fraktkostnader. Både gamla och nya prislistor lades in i systemet som källor. Tack vare uppmaningen med flera källor sa modellen, "Två källor ger olika priser (49 TL och 59 TL); Jag måste bekräfta den nuvarande" och förmedlade frågan till människan. Istället för att säga till kunden ett felaktigt belopp, kommunicerade han osäkerheten ärligt.
Fall 3 — Partiell responsdisciplin. "Sänder du produkten utomlands och vem betalar tullen?" I frågan sa källan bara att försändelsen var gjord, det stod ingenting om vem som betalade skatten. Modellen sa: "Ja, frakt sker utomlands [Källa: Cargo FAQ]. Det står dock inte i detta dokument vem som betalar tullen; jag överför dig till tjänstemannen för att klargöra detta." Istället för ett halvt sant, halvt påhittat svar, gav det en ärlig och säker produktion.
Tips: Behåll den mest aktuella och enda versionen av sanningskällan av din kunskapsbas. Att ha samma information (t.ex. returperiod) skriven på olika sätt i tre separata dokument är RAGs största fiende; Modellen svarar olika beroende på vilken den tittar på. Deduplicera först dina dokument och automatisera dem sedan.
Verifiering: Slappna inte av bara för att källan finns
RAG minskar hallucinationen avsevärt men återställer den inte. Modellen kan ibland misstolka källan, blanda ihop två meningar eller dra en "slutsats" som inte finns i källan. Det är därför kravet på hänvisning är kritiskt: öppna avsnittet som svaret påstår sig vara baserat på och kontrollera om det faktiskt står så. Denna kontroll är icke förhandlingsbar, särskilt i svar som innehåller siffror (dag, belopp, kurs) och villkor (undantag, villkor).
Varning: Om själva källan är felaktig eller föråldrad, upprepar RAG troget det misstaget. Att säga "modellen talar från källan" betyder inte "modellen talar korrekt"; Du är ansvarig för din källas valuta och riktighet.
Hålla kunskapsbasen redo för svar
Kvaliteten på RAG beror till stor del på hur källtexten är skriven. Modellen ger ett mycket mer exakt svar än välstrukturerade, rubrikade texter med ett ämne. Praktiska råd: skriv dina policyer i korta rubriker istället för långa, kapslade stycken; Låt varje avsnitt svara på en enda fråga ("Hur många dagar är returperioden?", "Vilka produkter kan inte returneras?"). Att förvara vanliga frågor (FAQs) i ett fråge-och-svar-format gör det lättare för modellen att hitta rätt del. Ange värden som datum, belopp och betyg tydligt och på ett ställe i texten; Att skriva samma nummer olika i olika avsnitt förvirrar modellen.
En annan viktig vana är att hålla kunskapsbasen vid liv. Policyer, priser och kampanjer varierar; Om källan inte uppdateras fortsätter modellen att säkert upprepa den gamla sanningen. Med varje policyändring uppdaterar du källan och ställer modellen igen några testfrågor om det ändrade ämnet för att bekräfta att det ger rätt svar. Detta lilla men regelbundna underhåll förhindrar att RAG-systemet "tyst går fel" över tid.
Vanliga misstag
- Att säga "förklara vår policy" utan att begrava källan och förlita sig på modellens memorering.
- Definierar inte gränsen för "svar endast från källa" och beteende utanför källan.
- Att inte begära ett citat/källreferens och lämna svaret omöjligt.
- Bevara motstridiga versioner av samma information i flera dokument i kunskapsbasen.
- Tillåter modellen att avrunda/tolka numeriska värden.
- Att glömma att uppdatera källan, vilket får modellen att troget upprepa gammal information.
Sammanfattningsvis
- RAG innebär att modellen producerar sitt svar från det aktuella källdokumentet, snarare än från minnet.
- Det mest praktiska sättet att minska hallucinationer: begrav källan, säg "svara bara här", be om citat.
- Om svaret inte finns i källan ska man inte passa en modell; Han borde säga "jag har det inte" och lämna över det.
- Gör modellen medveten om motstridiga källor; Du bevarade de numeriska värdena exakt.
- RAG-noggrannheten beror på din källas aktualitet; Bekräfta alltid offerten.
Applikationsuppgift
Ta en faktisk policytext (retur, frakt eller medlemskap) från ditt eget företag och bädda in den som en källa i den grundläggande RAG-uppmaningen ovan. Ställ sedan tre frågor: (1) en fråga vars svar är tydligt i källan, (2) en fråga vars svar inte alls finns i källan, (3) en fråga vars svar bara är ofullständigt i källan. Verifiera att modellen svarar korrekt, säger "Jag har det inte" och markerar ärligt delsvaret respektive det saknade. Korrigera avvikande beteende genom att stärka lojalitets- och icke-resursreglerna i prompten.
checklista
- [ ] Jag bäddade in den aktuella källan som svaret kommer att baseras på i prompten.
- [ ] Jag lade till regeln "Bara svar från källan, gå inte längre än".
- [ ] Jag har satt en källhänvisning/citatkrav.
- [ ] Jag definierade delegeringsbeteende om svaret inte finns tillgängligt i källan.
- [ ] Jag krävde att numeriska värden skulle bevaras exakt.
- [ ] Jag bekräftade svaret från källsatsen som det bygger på.