Vienetas 3 / 12

Atsakymų generavimas iš žinių bazės (įvadas į RAG)

Pelnas:

  • Suprasti žiniomis pagrįstos kartos (RAG) logiką ir kodėl ji mažina haliucinacijas
  • Galimybė, kad modelis atsakytų su citata, remiantis tik pateiktais pirminiais dokumentais
  • Gebėjimas valdyti klausimus, kurių nėra šaltinyje, juos saugiai perduodant, negalvojant klausimų

Kalbos modelis „žino“ daug, bet nežino jūsų įmonės šiandienos grąžinimo politikos, dabartinio kainoraščio ar vakar pasikeitusios siuntimo sutarties. Dar blogiau, kai nežino, dažnai sugalvoja ir rašo itin pasitikinčiu tonu. Tai yra lemtingas klientų aptarnavimo trūkumas: modelyje rašoma: „Lėšos grąžinamos per 30 dienų“, o jūsų politika gali būti 14 dienų. Metodas, panaikinantis šią spragą, vadinamas RAG: Retrieval-Augmented Generation, tai yra „papildyta gamyba“.

Idėja paprasta: modelis atsako į klausimą ne iš atminties, o iš teisingų šaltinio dokumentų, tuo metu patalpintų prieš jį. Pirma, teisingas dokumentas, susijęs su klausimu, yra „ieškojimas“, tada modelis „sugeneruoja“ atsakymą tik pagal tą dokumentą. Šiame skyriuje jūs suprasite RAG logiką ir išmoksite suvaldyti modelį, kad jis laikytųsi tik jūsų pateikto patvirtinto šaltinio.

Pastaba: Šis įrenginys moko darbo logikos ir greitosios RAG pusės. Įmonės masto automatinės dokumentų paieškos sistemos (vektorinė duomenų bazė ir kt.) reikalauja techninio įrengimo; Čia disciplina yra pagrindas, kad ta sistema tinkamai reaguotų.

Kodėl RAG sumažina haliucinacijas?

Haliucinacijos yra tada, kai modelis pateikia nerealią informaciją, tarsi ji būtų tikra. Modelis yra užprogramuotas pateikti atsakymą, kuris atrodo „įmanomas“, kai mato spragą; Nežino, tiesa ar ne. RAG užpildo šią spragą: pateikiate modeliui tikrąjį atitinkamą tekstą kartu su klausimu ir sakote „tik atsakymas iš čia“. Taip modeliui „nereikia“ tikti.

Yra trys komponentai:

  • Žinių bazė: patikimi tekstai, tokie kaip DUK, politikos dokumentai, produktų vadovai, kainoraščiai.
  • Išieškojimas: dokumento, kuriame yra atsakymas į klausimą, suradimas ir jo pateikimas modeliui.
  • Ribotas leidimas: modelis atsako pateikdamas citatą, remiantis tik pateikta dalimi.

Žingsnis po žingsnio: ištikimas atsakas į šaltinį

  1. Paruoškite šaltinį. Aiškiu ir naujausiu formatu raskite tekstą, kuriuo bus grindžiamas atsakymas (politika, DUK).
  2. Į raginimą įterpti šaltinį. Įdėkite tekstą į žymą, pvz., <source>.
  3. Parašykite lojalumo taisyklę. „Naudokite informaciją tik iš šaltinio; nenukrypkite nuo šaltinio“.
  4. Padaryti citatą būtiną. Leiskite jam/jai nurodyti, kuriuo skyriumi pagrįstas atsakymas.
  5. Nustatykite elgseną be išteklių. Jei atsakymo šaltinyje nėra, leiskite jam pasakyti „Aš neturiu šios informacijos“ ir perduokite ją.
  6. Patvirtinti. Patvirtinkite atsakymą, palygindami jį su šaltinio sakiniu, kuriuo jis grindžiamas.

Kopijuojami raginimai

Atsakymo raginimas pagal pagrindinį šaltinį:

Vaidmuo: esate klientų aptarnavimo padėjėjas. Atsakykite į klausimą TIK remdamiesi informacija toliau pateiktame <source>bloke. Nepridėkite jokios informacijos, kurios nėra šaltinyje, atspėkite ar neatsakykite iš savo bendrų žinių. Atsakymo pabaigoje pridėkite skyrių, kuriuo remiatės, formatu „[Šaltinis: ...]“. Jei atsakymo šaltinyje nėra, parašykite: „Neturiu galutinės informacijos šia tema, perduodu jus pas pareigūną, kuris gali pateikti teisingą atsakymą.“<source>{{ policy_or_faq_text }}</source>Klausimas: {{ customer_question }}

Kelių šaltinių atveju raginimas parodyti, kuriuo dokumentu jis pagrįstas:

Yra keli toliau sunumeruoti šaltiniai. Atsakydami į klausimą nurodykite naudojamo šaltinio numerį, pvz., [2 šaltinis]. Jei daugiau nei vienas šaltinis jums prieštarauja, pasakykite tai aiškiai ir nurodykite, kad turėtumėte paklausti, kuris iš jų yra naujesnis.<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>Klausimas: {{ customer_question }}

Raginimas, kuris saugiai tvarko ne šaltinio klausimą:

Jei atsakymas į klausimą yra DALIS rastas šaltinyje: atsakykite tik į šaltinio dalį, o likusiai daliai pasakykite „šios detalės šaltinyje nėra“. Niekada neužpildykite trūkstamos dalies spėliodami.

Raginimas, kuris išverčia atsakymą į kliento kalbą, tačiau išlieka ištikimas šaltiniui:

Išverskite oficialią/techninę išraišką šaltinyje į paprastą, klientui suprantamą kalbą, bet NEKEISKITE reikšmės ir skaitinių reikšmių (diena, suma, kursas). Pavyzdžiui, „14 kalendorinių dienų“ apvalinimas iki „apie dvi savaites“; išlaikyti visą vertę.

Silpnas raginimas / stiprus raginimas

Silpnas raginimas

Galingas raginimas

„Papasakokite apie mūsų grąžinimo politiką“

Įterpiamas šaltinis + „atsakyti tik čia“ + prašoma citatos

Atsakymas iš modelio atminties (galbūt neteisingas)

Atsakymas iš dabartinio dokumento

Jei to nėra šaltinyje, jis tai sugalvoja

Jis sako „neturiu šios informacijos“ ir perduoda.

Gali suapvalinti ir iškraipyti skaičius

Tiksliai išlaiko dieną/sumą/kursą

Skirtumas tas, kad stiprus raginimas suteikia modeliui prieraišą (šaltinio tekstas) ir draudimą (išjungti šaltinį). Modelis kalba jau ne iš atminties, o iš tikrovės prieš jį.

Trys mini dėklai

1 atvejis – senieji politikos spąstai. „Grąžinimas priimamas per 30 dienų“, – sakė vienos parduotuvės robotas, bėgdamas be kredito; Tačiau bendrovė sutrumpino laikotarpį iki 14 dienų. Kai atnaujintas politikos tekstas pridedamas prie šaltinio RAG diegime, robotas dabar atsako „14 kalendorinių dienų [Šaltinis: grąžinimo politika, 2 straipsnis]“. Ginčai dėl pinigų grąžinimo, kylantys dėl melagingų pažadų, buvo nustatyti iš naujo.

2 atvejis – prieštaravimo suvokimas. Klientas paklausė apie siuntimo išlaidas. Tiek senasis, tiek naujasis kainoraščiai buvo įvesti į sistemą kaip šaltiniai. Dėl kelių šaltinių raginimo modelis pasakė: „Dvi šaltiniai pateikia skirtingas kainas (49 TL ir 59 TL); turiu patvirtinti dabartinę“ ir perdavė problemą žmogui. Užuot pasakęs klientui neteisingą sumą, jis sąžiningai pranešė apie netikrumą.

3 atvejis. Dalinio reagavimo drausmė. „Ar siunčiate prekę į užsienį ir kas moka muitą? Klausime šaltinis tik pasakė, kad pervežta, nieko nebuvo, kas sumokėjo mokestį. Modelis pasakė: "Taip, siuntimas vykdomas į užsienį [Šaltinis: Krovinių DUK]. Tačiau šiame dokumente nenurodyta, kas moka muitą, perduodu Jus pareigūnui, kad tai išsiaiškintų." Vietoj pusiau tikro, pusiau išgalvoto atsakymo, jis davė sąžiningą ir pasitikintį rezultatą.

Patarimas: išlaikykite naujausią ir vienintelį tiesos šaltinį savo žinių bazėje. Ta pati informacija (pvz., grąžinimo laikotarpis) skirtingai surašyta trijuose atskiruose dokumentuose – didžiausias RAG priešas; Modelis reaguoja skirtingai, priklausomai nuo to, į kurį iš jų žiūri. Pirmiausia panaikinkite dokumentų dublikatus, tada automatizuokite juos.

Patvirtinimas: neatsipalaiduokite vien dėl to, kad šaltinis egzistuoja

RAG labai sumažina haliucinacijas, bet jų neatkuria. Modelis kartais gali neteisingai interpretuoti šaltinį, sumaišydamas du sakinius arba padarydamas „išvadą“, kurios nėra šaltinyje. Štai kodėl citavimo reikalavimas yra labai svarbus: atidarykite skiltį, kuria remiasi atsakymas, ir patikrinkite, ar iš tikrųjų taip rašoma. Šis valdymas yra nediskutuotinas, ypač atsakymuose, kuriuose yra skaičiai (diena, suma, norma) ir sąlygos (išimtis, sąlyga).

Atsargiai: jei pats šaltinis yra neteisingas arba pasenęs, RAG ištikimai pakartoja tą klaidą. Sakymas „modelis kalba iš šaltinio“ nereiškia „modelis kalba teisingai“; Jūs esate atsakingi už savo šaltinio valiutą ir tikslumą.

Žinių bazės paruošimas reaguoti

RAG kokybė labai priklauso nuo to, kaip parašytas šaltinio tekstas. Modelis pateikia daug tikslesnį atsakymą nei gerai struktūrizuoti, pavadinti, vienos temos tekstai. Praktinis patarimas: rašykite savo politiką trumpomis pavadinimais, o ne ilgomis įdėtomis pastraipomis; Tegul kiekvienas skyrius atsako į vieną klausimą ("Kiek dienų yra grąžinimo laikotarpis?", "Kokių produktų negalima grąžinti?"). Laikydami dažnai užduodamus klausimus (DUK) klausimų ir atsakymų formatu, modeliui lengviau rasti reikiamą dalį. Aiškiai ir vienoje teksto vietoje nurodykite reikšmes, tokias kaip data, suma ir kursas; Skirtinguose skyriuose tą patį skaičių rašydami skirtingai, modelis klaidina.

Kitas svarbus įprotis – išlaikyti žinių bazę gyvą. Politika, kainos ir akcijos skiriasi; Jei šaltinis neatnaujinamas, modelis ir toliau saugiai kartoja seną tiesą. Su kiekvienu politikos pakeitimu atnaujinkite šaltinį ir dar kartą užduokite modeliui kelis bandomuosius klausimus apie pakeistą temą, kad įsitikintumėte, jog joje pateiktas teisingas atsakymas. Ši nedidelė, bet reguliari priežiūra neleidžia RAG sistemai laikui bėgant „tyliai suklysti“.

Dažnos klaidos

  • Sakydami „paaiškink mūsų politiką“ neužkasant šaltinio ir pasikliaujant modelio įsiminimu.
  • Neapibrėžiama „atsakymo tik iš šaltinio“ ribos ir elgsenos be šaltinio.
  • Neprašoma citatos/šaltinio nuorodos ir atsakymas paliekamas nepatikrintas.
  • Prieštaringų tos pačios informacijos versijų laikymas keliuose žinių bazės dokumentuose.
  • Leidžiama modeliui apvalinti / interpretuoti skaitines reikšmes.
  • Pamirštas atnaujinti šaltinį, todėl modelis tiksliai kartoja seną informaciją.

Apibendrinant

  • RAG reiškia, kad modelis atsako iš dabartinio šaltinio dokumento, o ne iš atminties.
  • Praktiškiausias būdas sumažinti haliucinacijas: užkasti šaltinį, pasakyti „atsakyk tik čia“, paprašyti cituoti.
  • Jei atsakymo nėra šaltinyje, modelis neturėtų būti tinkamas; Jis turėtų pasakyti „neturiu“ ir atiduoti.
  • Supažindinkite modelį su prieštaringais šaltiniais; Tiksliai išsaugojote skaitines reikšmes.
  • RAG tikslumas priklauso nuo jūsų šaltinio savalaikiškumo; Visada patvirtinkite citatą.

Taikymo užduotis

Paimkite tikrą politikos tekstą (grąžinimas, pristatymas arba narystė) iš savo įmonės ir įterpkite jį kaip šaltinį į anksčiau pateiktą pagrindinį RAG raginimą. Tada užduokite tris klausimus: (1) klausimą, kurio atsakymas yra aiškus šaltinyje, (2) klausimą, kurio atsakymo šaltinyje visai nėra, (3) klausimą, kurio atsakymas šaltinyje yra tik neišsamus. Patikrinkite, ar modelis atsako teisingai, sako „neturiu“ ir sąžiningai pažymi atitinkamai dalinį atsakymą ir trūkstamą atsakymą. Ištaisykite deviantinį elgesį, stiprindami lojalumo ir ne išteklių taisykles raginime.

kontrolinis sąrašas

  • [ ] Į raginimą įterpiau dabartinį šaltinį, kuriuo bus grindžiamas atsakymas.
  • [ ] Pridėjau taisyklę „Atsakyti tik iš šaltinio, neperžengti“.
  • [ ] Įdėjau šaltinio nuorodos / citatos reikalavimą.
  • [ ] Apibrėžiau delegavimo elgesį, jei atsakymo šaltinyje nėra.
  • [ ] Reikalavau, kad skaitinės reikšmės būtų tiksliai išsaugotos.
  • [ ] Atsakymą patvirtinau iš šaltinio sakinio, kuriuo jis grindžiamas.