Jednotka 3 / 12

Generovanie odpovedí z databázy znalostí (Úvod do RAG)

zisky:

  • Pochopenie logiky generovania vedomostí (RAG) a prečo znižuje halucinácie
  • Schopnosť nechať model reagovať citáciou len na základe poskytnutých zdrojových dokumentov
  • Schopnosť spravovať otázky, ktoré nie sú v zdroji, ich bezpečným prenosom bez vymýšľania otázok

Jazykový model „vie“ veľa, ale nepozná dnešnú politiku vrátenia vašej spoločnosti, váš aktuálny cenník ani vašu prepravnú zmluvu, ktorá sa včera zmenila. Horšie je, že keď to nevie, často si vymýšľa a píše mimoriadne sebavedomým tónom. Toto je fatálna chyba v zákazníckom servise: model hovorí: „Vrátenie peňazí sa uskutoční do 30 dní“, zatiaľ čo vaša politika môže byť 14 dní. Prístup, ktorý túto medzeru uzatvára, sa nazýva RAG: Retrieval-Augmented Generation, teda „výroba rozšírená o vyhľadávanie“.

Myšlienka je jednoduchá: Model odpovedá na otázku nie spamäti, ale zo správnych zdrojových dokumentov, ktoré sú v danom momente umiestnené pred ním. Po prvé, správna časť dokumentu relevantná pre danú otázku je „vyhľadávanie“, potom model „vygeneruje“ odpoveď len na základe tejto časti. V tejto jednotke pochopíte logiku RAG a naučíte sa, ako ovládať model tak, aby sa držal iba overeného zdroja, ktorý poskytnete.

Poznámka: Táto jednotka učí pracovnú logiku a promptnú stranu RAG. Systémy automatického získavania dokumentov na úrovni podniku (vektorová databáza atď.) vyžadujú technickú inštaláciu; Disciplína je tu základom toho, aby systém správne reagoval.

Prečo RAG znižuje halucinácie?

Halucinácia je, keď model produkuje neskutočné informácie, ako keby boli skutočné. Model je naprogramovaný tak, aby vytvoril odpoveď, ktorá sa zdá byť „možná“, keď vidí medzeru; Nevie, či je to pravda alebo nie. RAG vypĺňa túto medzeru: dáte modelu skutočný relevantný text spolu s otázkou a poviete „odpoveď iba odtiaľto“. Model tak „nemusí“ sedieť.

Existujú tri zložky:

  • Znalostná báza: Spoľahlivé texty, ako sú často kladené otázky, dokumenty o zásadách, produktové manuály, cenníky.
  • Získanie: Nájdenie časti dokumentu obsahujúceho odpoveď na otázku a jej odovzdanie modelu.
  • Limitovaná edícia: Model odpovedá cenovou ponukou, založenou iba na dodávanom diele.

Krok za krokom: Verná odpoveď Zdroju

  1. Pripravte zdroj. Nájdite text, na ktorom bude odpoveď založená (zásady, často kladené otázky) v jasnom a aktuálnom formáte.
  2. Vložte zdroj do výzvy. Vložte text do značky ako <source>.
  3. Napíšte pravidlo lojality. "Používajte iba informácie zo zdroja, neodbočujte od zdroja."
  4. Uveďte citáciu ako požadovanú. Nechajte ho uviesť, z ktorej časti je odpoveď založená.
  5. Identifikujte správanie bez zdrojov. Ak odpoveď nie je v zdroji, nech povie „Túto informáciu nemám“ a pošli ju ďalej.
  6. Overiť. Potvrďte odpoveď porovnaním so zdrojovou vetou, na ktorej je založená.

Kopírovateľné výzvy

Výzva na odpoveď na základe základného zdroja:

Úloha: Ste asistentom zákazníckej podpory. Odpovedzte na otázku LEN na základe informácií v <zdrojovom>bloku nižšie. Nepridávajte žiadne informácie, ktoré nie sú v zdroji, hádajte alebo odpovedajte z vašich všeobecných znalostí. Sekciu, na ktorú sa spoliehate, pridajte na koniec svojej odpovede vo formáte „[Zdroj: ...]“. Ak odpoveď nie je v zdroji, napíšte nasledovné: „Nemám k tejto téme definitívne informácie, posielam vás úradníkovi, ktorý vám môže dať správnu odpoveď.“<source>{{ policy_or_faq_text }}</source>Otázka: {{ customer_question }}

V prípade viacerých zdrojov sa zobrazí výzva na zobrazenie dokumentu, na ktorom je založený:

Existuje viacero zdrojov očíslovaných nižšie. Pri odpovedi na otázku uveďte číslo zdroja, ktorý ste použili, napríklad [Zdroj 2]. Ak vám viac ako jeden zdroj odporuje, povedzte to jasne a uveďte, že by ste sa mali opýtať, ktorý z nich je aktuálnejší.<zdroje>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>Otázka: {{ customer_question }}

Výzva, ktorá bezpečne spravuje otázku bez zdroja:

Ak sa odpoveď na otázku ČIASTOČNE nachádza v zdroji: odpovedzte len na časť, na ktorú sa vzťahuje zdroj, a na zvyšnú časť povedzte „tento detail nie je v zdroji“. Chýbajúcu časť nikdy nedopĺňajte hádaním.

Výzva, ktorá preloží odpoveď do jazyka klienta, ale zostane verná zdroju:

Preložte úradný/technický výraz v zdroji do zrozumiteľného jazyka, ktorému zákazník rozumie, ale NEMEŇTE význam a číselné hodnoty (deň, množstvo, sadzba). Napríklad zaokrúhlenie „14 kalendárnych dní“ na „približne dva týždne“; zachovať plnú hodnotu.

Slabá výzva / silná výzva

Slabá výzva

Výkonná výzva

"Povedzte nám o našej politike vrátenia tovaru"

Vloží zdroj + „odpovedať len tu“ + vyžiada cenovú ponuku

Odpoveď z pamäte modelu (možno nesprávna)

Odpoveď z aktuálneho dokumentu

Ak to nie je v zdroji, vymýšľa si

Povie „Túto informáciu nemám“ a odovzdá ju ďalej.

Dokáže zaokrúhliť a skresliť čísla

Presne zachováva deň/množstvo/sadzbu

Rozdiel je v tom, že silná výzva dáva modelu kotvu (zdrojový text) a zákaz (vypnutie zdroja). Modelka už nehovorí spamäti, ale z reality pred sebou.

Tri mini puzdrá

Prípad 1 – Stará pasca na politiku. "Vrátenie je akceptované do 30 dní," povedal robot jedného obchodu, keď bežal bez kreditu; Spoločnosť však lehotu skrátila na 14 dní. Keď sa aktualizovaný text zásad pridá do zdroja v inštalácii RAG, robot teraz odpovie „14 kalendárnych dní [Zdroj: Zásady vrátenia, článok 2]“. Spory o vrátenie peňazí vyplývajúce z falošných sľubov boli vynulované.

Prípad 2 – Zachytenie rozporu. Zákazník sa pýtal na náklady na dopravu. Ako zdroje boli do systému zadané staré aj nové cenníky. Vďaka výzve z viacerých zdrojov model povedal: "Dva zdroje uvádzajú rôzne ceny (49 TL a 59 TL); potrebujem potvrdiť aktuálnu" a sprostredkoval problém človeku. Namiesto toho, aby zákazníkovi povedal nesprávnu sumu, neistotu čestne odkomunikoval.

Prípad 3 – Disciplína čiastočnej odozvy. "Posielate produkt do zahraničia a kto platí clo?" V otázke zdroj uviedol len to, že zásielka bola vykonaná, nebolo tam nič o tom, kto zaplatil daň. Model povedal: "Áno, preprava sa vykonáva do zahraničia [Zdroj: FAQ o náklade]. V tomto dokumente však nie je uvedené, kto platí clo, posielam vás úradníkovi, aby to vysvetlil." Namiesto polopravdivej, polovymyslenej odpovede vyprodukoval úprimný a sebavedomý výstup.

Tip: Udržujte si najaktuálnejšiu verziu svojej databázy znalostí z jediného zdroja pravdy. Najväčším nepriateľom RAG je mať rozdielne napísané rovnaké informácie (napr. lehota na vrátenie) v troch samostatných dokumentoch; Model reaguje rôzne podľa toho, na ktorý sa pozerá. Najprv deduplikujte svoje dokumenty a potom ich zautomatizujte.

Overenie: Neuvoľňujte sa len preto, že zdroj existuje

RAG výrazne znižuje halucinácie, ale neresetuje ich. Model môže niekedy nesprávne interpretovať zdroj, pomiešať dve vety alebo urobiť „záver“, ktorý nie je v zdroji. Preto je požiadavka na citáciu kritická: otvorte časť, na ktorej sa odpoveď údajne zakladá, a skontrolujte, či je to skutočne tak. Táto kontrola je nemenná, najmä v odpovediach obsahujúcich čísla (deň, množstvo, sadzba) a podmienky (výnimka, podmienka).

Upozornenie: Ak je samotný zdroj nesprávny alebo zastaraný, RAG verne zopakuje túto chybu. Povedať „modelka hovorí od zdroja“ neznamená „modelka hovorí správne“; Zodpovedáte za menu a presnosť svojho zdroja.

Udržiavanie vedomostnej databázy pripravenej na odozvu

Kvalita RAG závisí vo veľkej miere od toho, ako je napísaný zdrojový text. Model vracia oveľa presnejšiu odpoveď ako dobre štruktúrované, nazvané texty s jednou témou. Praktická rada: píšte svoje zásady radšej do krátkych sekcií s nadpismi než do dlhých vnorených odsekov; Nechajte každú sekciu odpovedať na jednu otázku („Koľko dní je lehota na vrátenie?“, „Ktoré produkty nemožno vrátiť?“). Udržiavanie často kladených otázok (FAQ) vo formáte otázok a odpovedí uľahčuje modelu nájdenie správnej časti. Jasne a na jednom mieste v texte uveďte hodnoty, ako je dátum, množstvo a sadzba; Rozdielne písanie toho istého čísla v rôznych častiach model mätie.

Ďalším dôležitým zvykom je udržiavať vedomostnú základňu pri živote. Zásady, ceny a propagačné akcie sa líšia; Ak sa zdroj neaktualizuje, model naďalej bezpečne opakuje starú pravdu. Pri každej zmene pravidiel aktualizujte zdroj a znova položte modelu niekoľko testovacích otázok o zmenenej téme, aby ste sa uistili, že dáva správnu odpoveď. Táto malá, ale pravidelná údržba zabraňuje tomu, aby sa systém RAG v priebehu času „potichu pokazil“.

Časté chyby

  • Povedať „vysvetlite našu politiku“ bez pochovania zdroja a spoliehať sa na zapamätanie modelky.
  • Nedefinovanie hranice „odpoveď iba zo zdroja“ a správanie bez zdroja.
  • Nežiadanie o cenovú ponuku/odkaz na zdroj a ponechanie odpovede neoveriteľné.
  • Uchovávanie konfliktných verzií rovnakých informácií vo viacerých dokumentoch v databáze znalostí.
  • Umožnenie modelu zaokrúhľovať/interpretovať číselné hodnoty.
  • Zabudnutie aktualizovať zdroj, čo spôsobí, že model verne opakuje staré informácie.

V súhrne

  • RAG znamená, že model vytvára svoju odpoveď z aktuálneho zdrojového dokumentu, a nie z pamäte.
  • Najpraktickejší spôsob, ako znížiť halucinácie: pochovajte zdroj, povedzte „odpovedzte iba tu“, požiadajte o citáciu.
  • Ak odpoveď nie je v zdroji, nemal by sa hodiť model; Mal by povedať „nemám“ a odovzdať.
  • Upozornite model na konfliktné zdroje; Číselné hodnoty ste zachovali presne.
  • Presnosť RAG závisí od aktuálnosti vášho zdroja; Cenovú ponuku vždy potvrďte.

Aplikačná úloha

Vezmite skutočný text zásad (vrátenie, odoslanie alebo členstvo) z vašej vlastnej firmy a vložte ho ako zdroj do základnej výzvy RAG vyššie. Potom položte tri otázky: (1) otázku, ktorej odpoveď je v zdroji jasná, (2) otázku, na ktorú sa v zdroji vôbec nenachádza, (3) otázku, ktorej odpoveď je v zdroji iba neúplná. Overte si, či model odpovie správne, povie „Nemám to“ a poctivo označí čiastočnú odpoveď a chýbajúcu odpoveď. Opravte deviantné správanie posilnením pravidiel lojality a nezdrojov vo výzve.

kontrolný zoznam

  • [ ] Do výzvy som vložil aktuálny zdroj, na ktorom bude odpoveď založená.
  • [ ] Pridal som pravidlo „Odpovedzte len zo zdroja, neprekračujte“.
  • [ ] Uviedol som odkaz na zdroj / požiadavku na citáciu.
  • [ ] Definoval som správanie delegovania, ak odpoveď nie je dostupná v zdroji.
  • [ ] Požadoval som, aby boli číselné hodnoty presne zachované.
  • [ ] Potvrdil som odpoveď zo zdrojovej vety, na ktorej je založená.