Enhed 3 / 12

Generering af svar fra vidensbase (introduktion til RAG)

Gevinster:

  • Forstå logikken i videnbaseret generering (RAG), og hvorfor det reducerer hallucinationer
  • Ability to have the model respond with citation, based only on the source documents provided
  • Evne til at håndtere spørgsmål, der ikke er i kilden, ved at overføre dem sikkert uden at stille spørgsmål

En sprogmodel "ved" meget, men den kender ikke din virksomheds returpolitik i dag, din nuværende prisliste eller din fragtaftale, der ændrede sig i går. Hvad værre er, når han ikke ved det, finder han ofte på det og skriver i en yderst selvsikker tone. Dette er en fatal fejl i kundeservice: Modellen siger "Refusioner udstedes inden for 30 dage", mens din police kan være på 14 dage. Den tilgang, der lukker dette hul, kaldes RAG: Retrieval-Augmented Generation, det vil sige "retrieval-augmented production".

Ideen er enkel: Modellen besvarer spørgsmålet ikke fra hukommelsen, men fra de korrekte kildedokumenter, der er placeret foran den på det tidspunkt. For det første er det korrekte stykke dokument, der er relevant for spørgsmålet, "hentning", derefter "genererer" modellen svaret udelukkende baseret på det stykke. I denne enhed vil du forstå logikken i RAG og lære, hvordan du tøjler modellen, så den kun holder sig til den verificerede kilde, du angiver.

Bemærk: Denne enhed lærer arbejdslogikken og promptsiden af ​​RAG. Automatiske dokumentsøgningssystemer (vektordatabase osv.) kræver en teknisk installation; Disciplin her er grundlaget for, at systemet kan reagere korrekt.

Hvorfor reducerer RAG hallucinationer?

Hallucination er, når modellen producerer uvirkelig information, som om den var ægte. Modellen er programmeret til at producere en respons, der virker "mulig", når den ser et hul; Ved ikke om det er sandt eller ej. RAG udfylder dette hul: du giver modellen den faktiske relevante tekst sammen med spørgsmålet og siger "svar kun herfra." På denne måde "behøver" modellen ikke at passe.

Der er tre komponenter:

  • Videnbase: Pålidelige tekster såsom ofte stillede spørgsmål, politikdokumenter, produktmanualer, prislister.
  • Hentning: At finde det stykke dokument, der indeholder svaret på spørgsmålet, og give det til modellen.
  • Begrænset oplag: Modellen svarer med et tilbud, kun baseret på den leverede del.

Trin for trin: Et trofast svar til kilden

  1. Forbered kilden. Find den tekst, som svaret vil være baseret på (politik, FAQ) i et klart og opdateret format.
  2. Integrer kilden i prompten. Sæt teksten i et tag som <kilde>.
  3. Skriv loyalitetsreglen. "Brug kun informationen fra kilden; gå ikke væk fra kilden."
  4. Gør citat påkrævet. Lad ham/hende angive, hvilket afsnit svaret er baseret på.
  5. Identificer ikke-ressourceadfærd. Hvis svaret ikke er i kilden, så lad ham sige "Jeg har ikke disse oplysninger" og videregive det.
  6. Verificere. Bekræft svaret ved at sammenligne det med kildesætningen, som det er baseret på.

Kopiérbare prompter

Svarprompt baseret på den underliggende kilde:

Rolle: Du er kundesupportassistent. Besvar KUN spørgsmålet ud fra oplysningerne i <kilde>blokken nedenfor. Tilføj ikke oplysninger, der ikke er i kilden, gæt eller svar fra din generelle viden. Tilføj det afsnit, du stoler på, i slutningen af ​​dit svar i formatet "[Kilde: ...]". Hvis svaret ikke er i kilden, skriv følgende: "Jeg har ikke endelige oplysninger om dette emne, jeg overfører dig til en embedsmand, der kan give det rigtige svar."<source>{{ policy_or_faq_text }}</source>Spørgsmål: {{ customer_question }}

I tilfælde af multi-source, prompten for at vise, hvilket dokument det er baseret på:

Der er flere ressourcer nummereret nedenfor. Når du besvarer spørgsmålet, angiv nummeret på den kilde, du brugte, såsom [Kilde 2]. Hvis mere end én kilde modsiger dig, så sig det tydeligt og angiv, at du skal spørge, hvilken der er mest opdateret.<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>Spørgsmål: {{ customer_question }}

Spørgsmål, der sikkert håndterer ikke-kildespørgsmålet:

Hvis svaret på spørgsmålet DELVIS findes i kilden: besvar kun den del, der er dækket af kilden, og sig "denne detalje er ikke i kilden" for den resterende del. Udfyld aldrig den manglende del ved at gætte.

Spørgsmål, der oversætter svaret til klientsproget, men forbliver tro mod kilden:

Oversæt det officielle/tekniske udtryk i kilden til et almindeligt sprog, som kunden kan forstå, men ændr IKKE betydningen og de numeriske værdier (dag, beløb, kurs). For eksempel at afrunde "14 kalenderdage" til "ca. to uger"; beholde fuld værdi.

Svag prompt / stærk prompt

Svag prompt

Kraftig prompt

"Fortæl os om vores returpolitik"

Indlejrer kilde + "svar kun her" + anmoder om tilbud

Svar fra modellens hukommelse (måske forkert)

Svar fra dit nuværende dokument

Hvis det ikke er i kilden, finder han på det

Han siger "Jeg har ikke disse oplysninger" og giver dem videre.

Kan afrunde og forvrænge tal

Vedligeholder dag/beløb/takst nøjagtigt

Forskellen er, at den stærke prompt giver modellen et anker (kildetekst) og et forbud (going off source). Modellen taler ikke længere fra hukommelsen, men fra virkeligheden foran ham.

Tre mini etuier

Case 1 — Den gamle politiske fælde. "Returnering accepteres inden for 30 dage," sagde en butiks bot, mens han kørte uden kredit; Selskabet nedsatte dog perioden til 14 dage. Når den opdaterede politiktekst tilføjes til kilden i RAG-installationen, svarer botten nu "14 kalenderdage [Kilde: Returpolitik, artikel 2]". Refusionstvister, der opstår som følge af falske løfter, er blevet nulstillet.

Sag 2 — At fange modsigelsen. En kunde spurgte om forsendelsesomkostninger. Både den gamle og den nye prisliste blev lagt ind i systemet som kilder. Takket være prompten med flere kilder sagde modellen: "To kilder giver forskellige priser (49 TL og 59 TL); jeg er nødt til at bekræfte den nuværende" og formidlet problemet til mennesket. I stedet for at fortælle kunden et forkert beløb, kommunikerede han ærligt usikkerheden.

Case 3 — Delvis responsdisciplin. "Sender du produktet til udlandet, og hvem betaler tolden?" I spørgsmålet sagde kilden kun, at forsendelsen var foretaget, der stod intet om, hvem der betalte afgiften. Modellen sagde, "Ja, forsendelse sker til udlandet [Kilde: Cargo FAQ]. Det er dog ikke angivet i dette dokument, hvem der betaler tolden; jeg overfører dig til embedsmanden for at afklare dette." I stedet for et halvt sandt, halvt opdigtet svar, producerede det et ærligt og selvsikkert output.

Tip: Behold den mest aktuelle og enkeltstående version af sandheden af ​​din videnbase. At have den samme information (f.eks. returperiode) skrevet forskelligt i tre separate dokumenter er RAG's største fjende; Modellen reagerer forskelligt alt efter hvilken den ser på. Først dedupliker dine dokumenter, og automatiser dem derefter.

Bekræftelse: Slap ikke af, bare fordi kilden eksisterer

RAG reducerer hallucinationen markant, men nulstiller den ikke. Modellen kan nogle gange misfortolke kilden, blande to sætninger sammen eller drage en "konklusion", som ikke er i kilden. Derfor er citationskravet kritisk: Åbn det afsnit, som svaret hævder at være baseret på, og tjek, om det rent faktisk siger det. Denne kontrol er ikke til forhandling, især i svar, der indeholder tal (dag, beløb, sats) og betingelser (undtagelse, betingelse).

Forsigtig: Hvis selve kilden er forkert eller forældet, gentager RAG trofast denne fejl. At sige "modellen taler fra kilden" betyder ikke "modellen taler korrekt"; Du er ansvarlig for din kildes valuta og nøjagtighed.

Holde videnbasen klar til svar

Kvaliteten af ​​RAG afhænger i høj grad af, hvordan kildeteksten er skrevet. Modellen returnerer et meget mere præcist svar end velstrukturerede, titlede enkeltemnetekster. Praktiske råd: skriv dine politikker i korte, titlede afsnit i stedet for lange, indlejrede afsnit; Lad hvert afsnit besvare et enkelt spørgsmål ("Hvor mange dage er returperioden?", "Hvilke produkter kan ikke returneres?"). At opbevare ofte stillede spørgsmål (FAQs) i et spørgsmål-og-svar-format gør det nemmere for modellen at finde den rigtige del. Angiv værdier som dato, beløb og pris tydeligt og på ét sted i teksten; At skrive det samme nummer forskelligt i forskellige sektioner forvirrer modellen.

En anden vigtig vane er at holde videnbasen i live. Politikker, priser og kampagner varierer; Hvis kilden ikke er opdateret, fortsætter modellen med at gentage den gamle sandhed sikkert. Med hver politikændring skal du opdatere kilden og stille modellen igen et par testspørgsmål om det ændrede emne for at bekræfte, at det giver det rigtige svar. Denne lille, men regelmæssige vedligeholdelse forhindrer RAG-systemet i at "stille at gå galt" over tid.

Almindelige fejl

  • At sige "forklar vores politik" uden at begrave kilden og stole på modellens memorering.
  • Ikke at definere "svar kun fra kilde"-grænsen og ikke-kildeadfærd.
  • Anmoder ikke om et citat/kildehenvisning og lader svaret ikke verificerbart.
  • Opbevar modstridende versioner af de samme oplysninger i flere dokumenter i videnbasen.
  • Giver modellen mulighed for at afrunde/fortolke numeriske værdier.
  • Glemmer at opdatere kilden, hvilket får modellen til at gentage gammel information trofast.

Sammenfattende

  • RAG betyder, at modellen producerer sit svar fra det aktuelle kildedokument, snarere end fra hukommelsen.
  • Den mest praktiske måde at reducere hallucinationer på: begrav kilden, sig "svar kun her", spørg om citat.
  • Hvis svaret ikke er i kilden, bør man ikke passe en model; Han skulle sige "det har jeg ikke" og aflevere det.
  • Gør modellen opmærksom på modstridende kilder; Du bevarede de numeriske værdier nøjagtigt.
  • RAG-nøjagtighed afhænger af din kildes aktualitet; Bekræft altid citatet.

Ansøgningsopgave

Tag en egentlig politiktekst (retur, forsendelse eller medlemskab) fra din egen virksomhed og indlejr den som en kilde i den grundlæggende RAG-prompt ovenfor. Stil derefter tre spørgsmål: (1) et spørgsmål, hvis svar er klart i kilden, (2) et spørgsmål, hvis svar slet ikke er i kilden, (3) et spørgsmål, hvis svar kun er ufuldstændigt i kilden. Bekræft, at modellen svarer rigtigt, siger "det har jeg ikke" og ærligt markerer det delvise svar og det manglende. Ret afvigende adfærd ved at styrke loyalitets- og ikke-ressourcereglerne i prompten.

tjekliste

  • [ ] Jeg indlejrede den aktuelle kilde, som svaret vil være baseret på, i prompten.
  • [ ] Jeg tilføjede reglen "Kun svar fra kilden, gå ikke ud over".
  • [ ] Jeg har sat en kildehenvisning/citatkrav.
  • [ ] Jeg definerede delegationsadfærd, hvis svaret ikke er tilgængeligt i kilden.
  • [ ] Jeg krævede, at numeriske værdier blev bevaret nøjagtigt.
  • [ ] Jeg bekræftede svaret fra kildesætningen, som det er baseret på.