Ajatusjohtajat

RAG:n evoluutio – Opas agenteerattuun RAG:hen

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Mikä on RAG (Retrieval-Augmented Generation)?

Retrieval-Augmented Generation (RAG) on tekniikka, joka yhdistää suurten kielen mallien (LLM) vahvuudet ulkoisen tietojen hakujen kanssa parantaakseen generoitujen vastausten laatua ja asiaankuuluvuutta. Perinteiset LLM:t käyttävät ennalta opittuja tietokantojaan, kun taas RAG-pipeline hakee tietoja ulkoisista tietokannoista tai asiakirjoista suoritusaikana ja noutaa asiaankuuluvia tietoja käyttääkseen niitä luodakseen tarkemmin ja asiayhteydessä rikkaammin vastauksia. Tämä on erityisen hyödyllistä tapauksissa, joissa kysymys on joko monimutkainen, tarkka tai tietyn aikajanan perusteella, koska mallin vastaukset ovat perustuvia ja rikastettuja ajantasaisilla alakohtaisilla tiedoilla.

Nykyinen RAG-maailma

Suuret kielen mallit ovat muuttaneet täysin tapamme päästä ja prosessoida tietoa. Riippuvuus ainoastaan sisäisestä ennalta opitusta tiedosta voi kuitenkin rajoittaa vastausten joustavuutta – erityisesti monimutkaisiin kysymyksiin. Retrieval-Augmented Generation ratkaisee tämän ongelman sallimalla LLM:ien hankkia ja analysoida tietoja muista saatavilla olevista lähteistä tuottaakseen tarkemmin ja syvemmän vastauksia.

Viimeaikaiset kehityssuunnat tiedonhaussa ja luonnollisen kielen prosessoinnissa, erityisesti LLM ja RAG, avaavat uusia tehokkuuden ja monimutkaisuuden rajoja. Nämä kehityssuunnat voidaan arvioida seuraavilla laajoilla piirustuksilla:

  1. Parannettu tietojen haku: Tietojen haun parantaminen RAG-järjestelmissä on erittäin tärkeää tehokkaan toiminnan kannalta. Viimeaikaiset työt ovat kehittäneet erilaisia vektoreita, uudelleenjärjestämisen algoritmeja, hybridihakumenetelmiä tarkemman haun parantamiseksi.
  2. Semanttinen välimuisti: Tämä osoittautuu yhdeksi pääkeinoksi, jolla laskennalliset kustannukset voidaan leikata ilman, että on luovuttava johdonmukaisista vastauksista. Tämä tarkoittaa, että nykyisten kysymysten vastaukset välimuistitaan niiden semanttisen ja pragmaattisen asiayhteyden kanssa, mikä edelleen edistää nopeampia vastausaikoja ja toimittaa johdonmukaisia tietoja.
  3. Monimodaalinen integrointi: Tämä lähestymistapa kattaa myös visuaaliset ja muut kehyksen modaalisuudet. Tämä mahdollistaa pääsyn laajempaan valikoimaan lähteitä ja johtaa vastauksiin, jotka ovat yhä monimutkaisempia ja tarkempia.

Haasteet perinteisissä RAG-arkkitehtuureissa

Vaikka RAG kehittyy täyttämään erilaisia tarpeita, on edelleen haasteita, jotka ovat perinteisten RAG-arkkitehtuurien edessä:

  • Yhteenveto: Yhteenvetoa laajoista asiakirjoista voi olla vaikea. Jos asiakirja on pitkä, perinteinen RAG-rakenne voi jättää tärkeitä tietoja huomioimatta, koska se hakee vain parhaat K kappaleet.
  • Asiakirjojen vertailu: Tehokas asiakirjojen vertailu on edelleen haaste. RAG-kehyksessä johtaa usein epätäydelliseen vertailuun, koska se valitsee parhaat K satunnaiset palat kustakin asiakirjasta satunnaisesti.
  • Rakenteisten tietojen analyysi: On vaikea käsitellä rakenteisia numeerisia tietojen kyselyjä, kuten määrittäminen, milloin työntekijä ottaa seuraavan loman, riippuen siitä, missä hän asuu. Tarkkaa tietopisteen noutamista ja analyysiä ei voida tehdä näillä malleilla.
  • Moniosaiset kysymykset: Vastaus moniosaisiin kysymyksiin on edelleen rajoitettu. Esimerkiksi yleisten lomailmoitusten löytäminen kaikissa alueissa suuressa organisaatiossa on haasteellista, kun on rajoitettu K kappaleisiin, mikä rajoittaa täydellistä tutkimusta.

Siirtyminen agenteerattuun RAG:hen

Agenteerattu RAG käyttää älykkäitä agenteja vastaamaan monimutkaisiin kysymyksiin, jotka vaativat huolellista suunnittelua, monivaiheista päättelyä ja ulkoisten työkalujen integrointia. Nämä agentit suorittavat taitavan tutkijan tehtäviä, taitavasti navigoiden useiden asiakirjojen läpi, vertailemalla tietoja, yhteenvetoa löytämistä ja tuottamalla kattavia, tarkkoja vastauksia.

Agenteerattuun RAG:hen sisällytetään klassiseen RAG-kehykseen agenttien käsite parantamaan järjestelmän toimintaa ja kykyjä, mikä johtaa agenteeratun RAG:n luomiseen. Nämä agentit suorittavat lisätehtäviä ja päättelyä perustason tietojen hakua ja luomista, sekä orkesteroivat ja ohjaavat RAG-pipelineen liittyviä osia.

Kolme pääasiallista agenteerattua strategiaa

Reitittimet lähettävät kyselyt asianmukaisiin moduuleihin tai tietokantoihin kyselyn tyypin perusteella. Reitittimet tekevät dynaamisia päätöksiä suurten kielen mallien avulla, joiden kontekstissa pyyntö kuuluu, päättääkseen, mihin moottoriin se tulisi lähettää parantamaan tarkkuutta ja tehokkuutta pipelineen.

Kyselyn muunnokset ovat prosesseja, jotka ovat mukana käyttäjän kyselyn uudelleenmuotoilussa parhaan vastaavan tiedon tarpeisiin tai päinvastoin, parhaan vastaavan sen, mitä tietokanta tarjoaa. Se voi olla yksi seuraavista: uudelleenmuotoilu, laajennus tai monimutkaisten kysymysten jakaminen yksinkertaisempiin alakysymyksiin, jotka ovat helpommin käsiteltävissä.

Se vaatii myös alakysymien kyselymoottoria vastaamaan monimutkaiseen kysymykseen useiden tietolähteiden avulla.

Ensinnäkin monimutkainen kysymys puretaan yksinkertaisempiin kysymyksiin kullekin tietolähteelle. Sitten kaikki välimuistitiedot kerätään ja lopullinen tulos syntetisoidaan.

Agenteeratut kerrokset RAG-pipelineen

  • Reititys: Kysymys reititetään asiaankuuluvaan tietopohjaiseen prosessointiin sen merkityksen perusteella. Esimerkki: Kun käyttäjä haluaa saada suosituksia tietyn kirjaluokan kirjoista, kysely voidaan reitittää tietopohjaan, joka sisältää tietoa noista kirjaluokista.
  • Kyselyn suunnittelu: Tämä sisältää kyselyn hajottamisen alakysymyksiin ja lähettämisen niiden yksilöllisiin putkiin. Agentti tuottaa alakysymyksiä kaikille kohteille, kuten vuosi tässä tapauksessa, ja lähettää ne niiden tietopohjiin.
  • Työkalujen käyttö: Kielen malli kommunikoi API:en tai ulkoisen työkalun kanssa, tietäen, mitä se edellyttää, missä alustalla viestintä on tarkoitus tapahtua, ja milloin on tarpeen tehdä niin. Esimerkki: Kun käyttäjä pyytää sään ennustetta tiettynä päivänä, LLM kommunikoi sään API:n kanssa, tunnistaa sijainnin ja päivämäärän, ja sitten parsii paluun tuloksesta oikean tiedon.
  • ReAct on iteratiivinen prosessi ajattelua ja toimintaa, johon liittyy suunnittelu, työkalujen käyttö ja havainnointi.
    Esimerkiksi lomareissusuunnitelman suunnittelussa järjestelmä ottaa huomioon käyttäjän vaatimukset ja noutaa tietoja reitistä, turistikohdeista, ravintoloista ja majoituksesta kutsumalla API:itä. Sitten järjestelmä tarkistaa tulokset oikeellisuuden ja asiaankuuluvuuden suhteen, tuottaen yksityiskohtaisen matkasuunnitelman, joka on relevantti käyttäjän pyynnölle ja aikataululle.
  • Dynamiikan kyselyn suunnittelu: Sen sijaan, että suorittaisi toimintoja peräkkäin, agentti suorittaa useita toimintoja tai alakysymyksiä rinnakkain ja sitten yhdistää nämä tulokset.
    Esimerkiksi, jos halutaan vertailla kahden yrityksen taloudellisia tuloksia ja määrittää ero joissakin mittareissa, agentti prosessoi tietoja molemmista yrityksistä rinnakkain ennen tulosten yhdistämistä; LLMCompiler on yksi tällainen kehys, joka johtaa tällaisen rinnakkaisen funktioiden kutsumisen tehokkaaseen orkesterointiin.

Agenteerattu RAG ja LLMaIndex

LLMaIndex edustaa erittäin tehokasta RAG-pipelineen toteutusta. Kirjasto täyttää yksinkertaisesti puuttuvan palan integroimalla strukturoituja organisaatiotietoja generatiivisiin älymalliin tarjoamalla työkaluille helppoutta tietojen prosessoinnissa ja haussa sekä rajapintoja eri tietolähteisiin. LlamaIndexin pääkomponentit on kuvattu alla.

LlamaParse parsii asiakirjoja.

Llama Cloud on yritysten palvelu, jossa on vähiten mahdollista manuaalista työtä RAG-pipelineen käyttöönotossa.

Käyttäen useita LLM:itä ja vektortallennusta, LlamaIndex tarjoaa integroidun tavan rakentaa sovelluksia Pythonissa ja TypeScriptissä RAG:llä. Sen ominaisuudet tekevät siitä erittäin suositun rungon yrityksille, jotka haluavat hyödyntää älyä parantaakseen tietopohjaisia päätöksiä.

Agenteeratun RAG:n toteutuksen avainkomponentit LLMaIndexillä

Menkäämme syvemmälle agenteeratun RAG:n aineksiin ja niiden toteutukseen LlamaIndexissä.

1. Työkalujen käyttö ja reititys

Reititysagentti valitsee, mikä LLM tai työkalu on paras käytettäväksi tietyn kysymyksen osalta, kyselyn tyypin perusteella. Tämä johtaa asiayhteydessä herkkään päätöksentekoon, kuten siihen, haluaako käyttäjä yleiskatsauksen vai yksityiskohtaisen yhteenvedon. Esimerkkejä tällaisista lähestymistavoista on Router Query Engine LlamaIndexissä, joka valitsee dynaamisesti työkalut, jotka maksimoivat vastauksia kyselyihin.

2. Pitkäaikainen asiayhteyden säilyttäminen

Vaikka muistin tärkein tehtävä on säilyttää asiayhteys useiden vuorovaikutusten ajan, agenteeratun RAG:n muistin varustetut agentit ovat jatkuvasti tietoisia vuorovaikutuksista, jotka johtavat yhtenäisiin ja asiayhteydessä oleviin vastauksiin.

LlamaIndex sisältää myös chat-kehyksen, jossa on muisti asiayhteydessä oleviin keskusteluihin ja yksittäisiin kyselyihin. Tällainen muisti on oltava tiukassa kontrollissa pitkien keskustelujen aikana ja tiivistettävä yhteenvedon muotoon.

3. Alakysymien moottorit suunnittelussa

Usein on tarpeen jakaa monimutkainen kysymys hallitavampiin tehtäviin. Alakysymien kyselymoottori on yksi LlamaIndexin keskeisistä toiminnoista, jossa suuri kysymys jaetaan pienempiin, suoritetaan peräkkäin ja sitten yhdistetään koherentti vastaus. Agenttien kyky tutkia useita kysymyksen puolia askel kerrallaan edustaa monivaiheisen suunnittelun käsitettä lineaarisen sijaan.

4. Heijastus ja virheenkorjaus

Heijastavat agentit tuottavat tulokset, mutta tarkistavat myös tulosten laadun tehdäkseen korjauksia, jos tarpeen. Tämä taito on erittäin tärkeää varmistamaan tarkkuuden ja sen, että se, mitä tuotetaan, on se, mitä henkilö on tarkoittanut. LlamaIndexin itseheijastavan työnkulkun ansiosta agentti tarkistaa suorituksensa joko uudelleenyrityksellä tai toimintojen säätelyllä, jotka eivät täytä tiettyjä laadun tasoja. Koska se on itsekorjaava, agenteerattu RAG on jonkin verran luotettavaa niille yritysohjelmistoille, joissa luotettavuus on keskeistä.

5. Monimutkainen agenteerattu päättely:

Puun hakeminen soveltuu, kun agenteilla on tutkittava useita mahdollisia reittejä saavuttaakseen jotain. Toisin kuin peräkkäinen päätöksenteko, puun perusta päättely sallii agentin tarkastella useita strategioita yhtä aikaa ja valita lupaavin arviointikriteerejä, jotka päivitetään reaaliajassa.

LlamaCloud ja LlamaParse

LlamaCloud on merkittävä askel LlamaIndex-ympäristössä, jossa on laaja valikoima hallittuja palveluita, jotka on suunniteltu yritysten kontekstin vahvistamiseksi LLM- ja RAG-sovelluksissa. Tämä ratkaisu mahdollistaa AI-insinöörien keskittymisen liiketoimintalogiikan kehittämiseen vähentämällä tietojen käsittelyyn liittyvien monimutkaisten prosessien määrää.

Toinen saatavilla oleva parsintamoottori on LlamaParse, joka integroituu kätevästi LlamaIndexin syötön ja haun putkiin. Tämä muodostaa yhden tärkeimmistä osista, joka käsittelee monimutkaisia, puolistrukturoituja asiakirjoja, joissa on upotettuja objekteja, kuten taulukoita ja kaavioita. Toinen tärkeä rakennuspalikka on hallittu syötön ja haun API, joka tarjoaa useita tapoja ladata, prosessoida ja tallentaa tietoja laajasta joukosta lähteitä, kuten LlamaHubin keskitetyistä tietovarastoista tai LlamaParse-tulosteista. Lisäksi se tukee erilaisia tietovarastojen integraatioita.

Johtopäätös

Agenteerattu RAG edustaa informaatioprosessoinnin muutosta älykkäiden agenttien käyttöönottamisella. Monissa tilanteissa agenteerattu RAG voidaan yhdistää prosesseihin tai eri API:hin saadakseen tarkemman ja hienostuneemman tuloksen. Esimerkiksi asiakirjojen yhteenvedon kohdalla agenteerattu RAG arvioi käyttäjän tarkoituksen ennen yhteenvedon laatimista tai yksityiskohtien vertaamista. Asiakastukea tarjottaessa agenteerattu RAG voi tarkasti ja yksilöllisesti vastata yhä monimutkaisempiin asiakaskysymyksiin, ei ainoastaan sen koulutusmallin perusteella, vaan myös saatavilla olevan muistin ja ulkoisten lähteiden perusteella. Agenteerattu RAG korostaa siirtymistä generatiivisista malleista tarkemmin sääteltyihin järjestelmiin, jotka hyödyntävät muita lähteitä saadakseen robustin ja tarkan tuloksen. Kuitenkin, ollessaan generatiivisia ja älykkäitä, nämä mallit ja agenteerattu RAG ovat matkalla kohti suurempaa tehokkuutta, kun yhä enemmän tietoja lisätään putkiin.

Chaitanya Pathak on kokenut teknologiajohtaja, joka on erikoistunut generatiivisen älytekniikan tuotteistamiseen. Yli kymmenen vuoden kokemuksella yrityssovelluksista ja tuotekehityksestä hän toimii tällä hetkellä LEAPS by Analyttican tuote- ja teknologiapäällikkönä. Chaitanya on kehittänyt kattavan kehysrakenteen, joka on parhaillaan patentoitumassa, ja joka muuttaa älytekniikkaa skaalattaviksi, markkinoille valmiiksi tuotteiksi useilla aloilla, mahdollistaen tuote- ja teknologiajohtajien toimittaa merkityksellistä vaikutusta.