9 RAG pavyzdžiai, pagrįsti realaus pasaulio naudojimo atvejais ir architektūromis

Naršykite devynis realaus pasaulio RAG pavyzdžius – nuo saityno paieškos ir klientų aptarnavimo iki agentinės prekybos ir duomenų analizės – bei už jų slypinčias architektūras.

Diagram of how RAG works: a user prompt goes through a grounding check, a retrieval request to an external source, context augmentation, and LLM answer generation.

RAG plačiai naudojamas tiek vartotojų, tiek verslo aplinkoje. Realiame pasaulyje kasdieniai RAG pavyzdžiai yra saityno paieška, klientų aptarnavimas ir dirbtiniu intelektu pagrįstas apsipirkimas. Prieigos prie vidaus žinių ir pagalba programuojant yra vieni ryškiausių verslo pavyzdžių.

RAG architektūra taip pat gali skirtis priklausomai nuo naudojimo atvejo. Dvi dažniausios realizacijos yra hibridinis RAG, kuris sujungia tradicinį raktažodžių atitikimą su vektorine arba žinių grafo paieška, ir agentinis RAG, kai LLM vadovauja paieškos procesui.

Kas yra atgavimu papildytas generavimas (RAG)?

RAG arba atgavimu papildytas generavimas leidžia dirbtinio intelekto programoms pasiekti išorinėse sistemose saugomą informaciją, kad būtų papildyti LLM sugeneruoti atsakymai.

Tai galinga technologija, nes ji sprendžia tris pagrindines generuojančiojo dirbtinio intelekto problemas: haliucinacijas, pasenusią informaciją ir prieigos prie duomenų, neįtrauktų į įvesties kontekstą, trūkumą.

Štai kaip atrodo pagrindinis RAG procesas:

  1. Naudotojas įveda užklausą natūralia kalba.
  2. Dirbtinio intelekto programa nustato, ar reikalingas pagrindimas, kartais įtraukiant LLM.
  3. Užklausa išsiunčiama į išorinį informacijos šaltinį, pavyzdžiui, duomenų bazę.
  4. Gauta informacija pridedama prie LLM konteksto įvesties.
  5. LLM sugeneruoja atsakymą pagal papildytą užklausą.

Nors specifinis įgyvendinimas gali skirtis, šie veiksmai atspindi tipinę RAG darbo eiga. Skirtingų architektūros tipų skirtumai dažniausiai priklauso nuo to, kaip kliento programa apdoroja užklausas, ir nuo gaunamos informacijos pobūdžio.

RAG architektūros apžvalga

Terminas „atgavimu papildytas generavimas“ pirmą kartą pasirodė 2020 m. tyrime pavadinimu Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, kurį paskelbė „Meta AI“ (tuomet „Facebook AI Research“) tyrėjai kartu su bendraautoriais iš Londono universiteto koledžo ir Niujorko universiteto.

Ankstyvieji metodai „gauti, tada generuoti“, laisvai vadinami „paprastuoju RAG“, nuo to laiko išsivystė į įvairius architektūros tipus, kurių daugelis persipina.

Paprastasis RAG

Paprastasis RAG naudoja paprastą gavimo ir generavimo konvejerį, kuris vis dar tinka daugeliui pagrindinių užklausų. Dažniausias paprastojo RAG pavyzdys yra užklausos konvertavimas į tvarkingą skaičių sąrašą, vadinamą vektorine įterptimi arba tiesiog vektoriumi. Tada užklausos įterptis suderinama su kitais vektoriais, kurie atvaizduoja fragmentus, turinio dalis duomenų bazėje arba rodyklėje (vadinamoje semantine rodykle).

Pažangusis RAG

Pažangusis RAG optimizuoja etapus prieš gavimą ir po jo. Metodai apima užklausų išplėtimą, metaduomenų filtravimą ir konteksto glaudinimą. Tai iš esmės pagerina gaunamos informacijos svarbą ir tai, kaip ji modifikuojama prieš įtraukiant į LLM įvesties kontekstą.

Agentinis RAG

Agentinis RAG yra RAG konvejerių vykdymas naudojant LLM pagrįstą agentą. Agentas „nusprendžia“, kurie įrankiai geriausiai tinka duotai užklausai, ir vadovauja paieškai (kartais cikle), kad sugeneruotų tinkamą atsakymą.

Grafų RAG

Grafų RAG gauna informaciją iš žinių grafo, kuriame vaizduojami subjektai (pavyzdžiui, objektai, sąvokos ir įvykiai) bei ryšiai tarp jų. Tai naudinga, kai atsakymui į užklausą reikalaujama, kad LLM sujungtų informaciją apie skirtingus subjektus.

Multimodalus RAG

Multimodalus RAG išplečia paiešką į tokį turinį kaip vaizdai ir garsas tiek užklausos, tiek gavimo metu. Šiuose RAG konvejeriuose naudojami specialūs koduoduvai tekstui, vaizdams ar garsui paversti įterptimis.

Hibridinis RAG

Hibridinis RAG sujungia raktažodžių paiešką (arba leksinę paiešką) su vektorine paieška arba žinių grafais ir sujungia rezultatus. Tai naudinga, nes raktažodžių atitiktis tam tikruose kontekstuose gali būti itin tiksli (labiau nei kiti metodai).

Korekcinis RAG

Korekcinis RAG įvertina sugrąžintos informacijos arba duomenų atitiktį užklausai. Jis gali patobulinti arba papildyti gautas ištraukas arba jas visiškai pakeisti vykdydamas kitą užklausą.

RAG pavyzdžiai pagal naudojimo atvejį ir pramonės šaką

Yra daugybė RAG pavyzdžių tiek vartotojų, tiek verslo srityse. Taip yra iš dalies todėl, kad RAG konvejeriai buvo integruoti į daugumą pagrindinių įrankių. Be to, daugelis teikėjų siūlo paruoštas integracijas, pavyzdžiui, klientų aptarnavimo pokalbių robotams, o tai paskatino pritaikymą.

1. Saityno paieška

Saityno paieška yra vienas labiausiai paplitusių RAG pavyzdžių. Kiekvieną dieną milioniams žmonių naudoja dirbtinio intelekto įrankius, kad sugeneruotų atsakymus, pagrįstus iš saityno gauta informacija.

Kaip tai veikia: Dirbtinio intelekto programa ieško saityno rodyklėje, pavyzdžiui, „Google Search“ rodyklėje, naudodama raktažodžiais pagrįstą ir semantinę paiešką. Atitinkamas puslapio turinys įtraukiamas kartu su naudotojo klausimu į LLM įvestį. Tada LLM sugeneruoja atsakymą, paprastai su šaltinių nuorodomis.

Realaus pasaulio pavyzdys: Jei naudotojas įveda paprastą užklausą į „Perplexity“ pokalbis sąsają, pavyzdžiui, „Kokie orai Čikagoje?“, LLM atliks saityno paiešką, kad rastų naujausią informaciją. „Perplexity“ naudoja nuosavą saityno rodyklę kartu su partnerių paieškos API.

2. Klientų aptarnavimas

Programėlėse ir svetainėse esantys pokalbių robotai tapo pagrindiniu verslo RAG naudojimo atveju. Šios sistemos dažniausiai sujungiamos su tradiciniais nukreipimo keliais, todėl sumažėja klientų aptarnavimo atstovų įsitraukimo poreikis.

Kaip tai veikia: Kai klientas užduoda klausimą, programa ieško įmonės žinių bazėje, dažnai naudodama hibridinį konvejerį. Gautos ištraukos pateikiamos LLM, kuris sugeneruoja atsakymą. Taip pat paprastai yra įtraukti korekciniai ir perdavimo procesai, kuriais patvirtinamas atsakymas ir, jei reikia, nukreipiama pas atstovą.

Realaus pasaulio pavyzdys: Įvairios klientų aptarnavimo platformos, įskaitant „Zendesk“ ( parodyta žemiau) ir „Intercom“, siūlo paruoštus naudoti klientų aptarnavimo pokalbių robotus, kurie integruojasi su esamais dokumentais ir klientų aptarnavimo bazėmis.

3. Asmeniniai padėjėjai

Asmeniniai padėjėjai naudoja agentinį RAG, kad pasiektų naudotojo el. laiškus, failus ir kalendorių. Šie padėjėjai paprastai gali vykdyti kelis RAG konvejerius.

Kaip tai veikia: Kadangi asmeniniams padėjėjams dažnai reikia prieigos prie kelių informacijos šaltinių, jie naudoja API, raktažodžių paieškos, vektorinės paieškos ir žinių grafų derinį. Programa siunčia skirtingų įrankių aprašymus į LLM, kuris tada pasirenka tinkamiausius.

Realaus pasaulio pavyzdys: „Google Gemini“ yra puikus programos, galinčios veikti kaip bendrosios paskirties ir asmeninis dirbtinio intelekto padėjėjas (kaip yra daugumos padėjėjų atveju šiais laikais), pavyzdys. Ji integruojasi su įrankių ekosistema, tokia kaip „Gmail“, „Docs“, „Photos“ ir „Calendar“.

4. Enterprise žinių valdymas

Enterprise žinių valdymas leidžia darbuotojams užduoti klausimus visoje įmonės informacijos bazėje, įskaitant politiką, ataskaitas, projektas dokumentus, teisinius tekstus ir netgi vidines diskusijas.

Kaip tai veikia: Programa gauna atitinkamą turinį naudodama vektorinę rodyklę, kuri atnaujinama keičiantis šaltinio dokumentams. Rodyklėje yra įterpimai, vaizduojantys dokumentų fragmentus, su nuorodomis į jų tekstą ir susijusius metaduomenis.

Realaus pasaulio pavyzdys: Microsoft 365 Copilot pasiekia organizacinę informaciją per „Microsoft Graph“, kuris atskleidžia įvairias API duomenų šaltiniams, ir naudoja leksines bei semantines rodykles atitinkamam turiniui gauti.

5. Programavimo padėjėjai

Programavimo padėjėjai pritaiko RAG programinei bazei. Nors pagrindinis RAG procesas yra toks pat (paprastai agentinis RAG), skirtumas tas, kad jie konkrečiai dirba su kodo kontekstu.

Kaip tai veikia: Programavimo padėjėjai indeksuoja vietinius projektas failus ir atlieka kelių paieškų etapus, kad gavus raginimą rastų atitinkamus kodo fragmentus. Šie padėjėjai taip pat paprastai turi specialias jungtis prieigai išplėsti, pavyzdžiui, prie įmonės žinių bazių.

Realaus pasaulio pavyzdys: „GitHub Copilot“ yra gerai žinomas programavimo padėjėjo pavyzdys, kuris tiesiogiai integruojasi su kūrimo projektas. Jis taip pat gali nurodyti viešas „GitHub“ saugyklas, kad padidintų atsakymo tikslumą.

6. Techninis trikčių šalinimas

Techninis trikčių šalinimas sujungia žinių valdymo RAG konvejerį su diagnostikos ciklu. Agentas gali įvertinti rezultatus, kad prireikus dar labiau patobulintų trikčių šalinimo rekomendacijas.

Kaip tai veikia: Programa surenka techninės problemos simptomus iš naudotojo arba gauna automatizuotus stebėjimo įspėjimus. Ji inicijuoja klaidų pranešimų, techninių žurnalų ir našumo metrikų paiešką, kad kryžmiškai patikrintų simptomus. Tada ji gauna susijusią informaciją iš vidinės žinių bazės, kad perduotų ją LLM. Diagnostikos ciklui įvyksta, kai bandymo ištaisyti rezultatai grįžta į LLM iš naudotojo arba diagnostikos įrankio.

Realaus pasaulio pavyzdys: Stebėjimo platforma „Datadog“ ( parodyta žemiau) renka duomenis iš visų sistemos sluoksnių, pažymėdama visas kilusias problemas. Tada jie perduodami specializuotam AI agentas, vadinamam Bits AI, kad būtų galima šalinti galimas problemas.

7. Agentinė prekyba

Agentinė prekyba yra platesnis naudojimo atvejis, kuris paprastai apima RAG. Apsipirkimo agentas gauna tokią informaciją kaip prekės specifikacijos, atsiliepimai, kainos ir prieinamumas, kad palygintų parinktis ir paaiškintų rekomendacijas. Tada jis gali automatiškai atlikti pirkimą naudotojui neišeinant iš sąsajos.

Kaip tai veikia: Agentinė prekyba yra tikras agentinis RAG, nes tam tikroms užklausoms dažnai reikia įvairių formų paieškos, kuriai vadovauja modelis. Agentas gali gauti tik tekstinius prekės duomenis per mažmenininko API arba naudoti multimodalų RAG, kad pagal naudotojo nuotrauką priderintų prekes semantinėje rodyklėje.

Realaus pasaulio pavyzdys: Bendrosios paskirties agentas, pvz., „Perplexity“, pagal užklausą gali gauti kelis vaizdus ir išsamias prekės specifikacijas. Momentinio pirkimo atsiskaitymo funkcija leidžia naudotojui užbaigti pirkimą pasirinkus prekę.

8. Specializuotos žinių sritys

Dirbtinio intelekto įrankiai, gaunantys specializuotų sričių žinias, turi apdoroti sudėtingus turinio formatus. Be to, haliucinacijų ir informacijos spragų sumažinimas dažnai yra prioritetas.

Kaip tai veikia: Pagrindinis skirtumas tarp bendrosios paskirties ir specializuotų RAG architektūrų susijęs su šaltinio medžiaga ir paieškos konfigūracija. Paprastai bus ieškoma tik labai patikimos rodyklės, o užklausa bus sukonfigūruota taip, kad apimtų konkrečią terminologiją paieškoms susiaurinti.

Realaus pasaulio pavyzdys: Akademinių tyrimų įrankis „Scite“ pasiekia didelę akademinių straipsnių ir citavimo duomenų rodyklę, kuri buvo sukurta per leidėjų susitarimus ir atviros prieigos šaltinius. Prieš generuodamas išsamų atsakymą, jis taip pat atlieka patikrinimus po paieškos, pavyzdžiui, šaltinio tikrinimą.

9. Duomenų analizė

RAG duomenų analizei tapo ypač galingu verslo naudojimo atveju, nes jis leidžia įvairiapusiškiems specialistams, ypač tiems, kurie neturi duomenų mokslo mokymų, užklausia duomenų rinkinius naudojant natūralią kalbą. Tai palengvina ataskaitų rengimą ir labai specifinių klausimų užduodavimą.

Kaip tai veikia: Tokiam klausimui kaip „Kodėl praėjusį ketvirtį sumažėjo pardavimai?“, programa gali pateikti užklausą pardavimo įrašams ir gauti pastabas apie atsargų trūkumą arba kainų pokyčius. LLM pasirinkai tinkamą skaičiavimą (kuris dažniausiai perduodamas skaičiavimo įrankiui) gautiems duomenims prieš generuodama analizę.

Realaus pasaulio pavyzdys: „Google Analytics“ siūlo AI „Ask Advisor“ pokalbių robotą, kuris gali pasiekti saityno analizės duomenis ir atsakyti į labai specifinius, niuansuotus naudotojų klausimus. Tai vienas geriausių realaus pasaulio verslo lygio, uždaros sistemos RAG pavyzdžių.

Kas jo laukia RAG evoliucijoje?

RAG buvo reikšmingas pasiekimas, kai jis buvo pirmą kartą pristatytas. Tai padėjo išspręsti daugelį problemų, būdingų savarankiškiems LLM.

Tačiau tai tolygu statinei technologijai. Dabartinis tyrimas yra sutelktas į gilesnę multimodalinę paiešką ir kruopštesnį gauto konteksto apdorojimą siekiant tikslumo ir teisingumo. Be to, tikriausiai matysime didesnę RAG integraciją į kelių įrankių agentus.

Net ir turint itin didelius konteksto langus, yra svarbių RAG naudojimo atvejų tiek asmeninėje, tiek profesionalioje aplinkoje, ir dar laukia daug naujovių.