Tankeledere

RAG-Evolusjon – En Innføring i Agentic RAG

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Hva er RAG (Retrieval-Augmented Generation)?

Retrieval-Augmented Generation (RAG) er en teknikk som kombinerer styrkene til store språkmodeller (LLM) med eksterne datahenting for å forbedre kvaliteten og relevansen av genererte svar. Tradisjonelle LLMer bruker deres forhåndstrainede kunnskapsbasert, mens RAG-pipelines vil spørre eksterne databaser eller dokumenter på kjøretid og hente relevant informasjon for å bruke i generering av mer nøyaktige og kontekstuell rike svar. Dette er spesielt nyttig i tilfeller der spørsmålet er komplekst, spesifikt eller basert på en gitt tidsramme, ettersom svarene fra modellen er informert og beriket med oppdatert domenespesifikk informasjon.

Dagens RAG-Landskap

Store språkmodeller har fullstendig revolusjonert hvordan vi aksesserer og prosesserer informasjon. Avhengighet kun av intern forhåndskunnskap, kan imidlertid begrense fleksibiliteten til deres svarene – spesielt for komplekse spørsmål. Retrieval-Augmented Generation løser dette problemet ved å la LLMer tilegne og analysere data fra andre tilgjengelige eksterne kilder for å produsere mer nøyaktige og innsiktsfulle svar.

Nyutvikling i informasjonsøking og naturlig språkbehandling, spesielt LLM og RAG, åpner opp nye grenser for effisiens og sofistikasjon. Disse utviklingene kan vurderes på følgende brede konturer:

  1. Forbedret informasjonsøking: Forbedring av informasjonsøking i RAG-systemer er ganske viktig for å fungere effektivt. Nyere arbeid har utviklet forskjellige vektorer, reranking-algoritmer, hybrid søke-metoder for å forbedre nøyaktig søk.
  2. Semantisk caching: Dette viser seg å være en av de viktigste måtene å kutte ned komputasjonskostnader uten å gi opp på konsistente svar. Dette betyr at svarene på nåværende spørsmål er cachet sammen med deres semantiske og pragmatiske kontekst, som igjen fremmer raskere respons-tider og leverer konsistent informasjon.
  3. Multimodal integrasjon: Foruten tekstbaserte LLM- og RAG-systemer, dekker denne tilnærmingen også visuelle og andre modaliteter i rammen. Dette tillater tilgang til en større variasjon av kilde-materiale og resulterer i svar som er stadig mer sofistikerte og mer nøyaktige.

Utfordringer med Tradisjonelle RAG-Arkitekturer

Mens RAG utvikler seg for å møte de forskjellige behovene. Det finnes fortsatt utfordringer som står foran de tradisjonelle RAG-arkitekturer:

  • Sammentrekning: Å sammentrekke store dokumenter kan være vanskelig. Hvis dokumentet er langt, kan den konvensjonelle RAG-strukturen overse viktig informasjon fordi den bare henter de øverste K-delene.
  • Dokument-sammenligning: Effektiv dokument-sammenligning er fortsatt en utfordring. RAG-rammen resulterer ofte i en ufullstendig sammenligning siden den velger de øverste K-tilfeldige delene fra hvert dokument tilfeldig.
  • Strukturert data-analyse: Det er vanskelig å håndtere strukturerte numeriske data-spørsmål, som å finne ut når en ansatt tar sin neste ferie avhengig av hvor de bor. Nøyaktig datapunkt-henting og -analyse er ikke nøyaktig med disse modellene.
  • Håndtering av spørsmål med flere deler: Å svare på spørsmål med flere deler er fortsatt begrenset. For eksempel å finne felles ferie-mønster over alle områder i en stor organisasjon er vanskelig når begrenset til K-deler, og begrenser fullstendig forskning.

Bevegelse mot Agentic RAG

Agentic RAG bruker intelligente agenter til å svare på komplekse spørsmål som krever omhyggelig planlegging, fler-trinns resonnering og integrasjon av eksterne verktøy. Disse agentene utfører oppgavene til en dyktig forsker, som behendig navigerer gjennom en mengde dokumenter, sammenligner data, summerer funn og produserer omfattende, nøyaktige svar.

Konseptet med agenter er inkludert i den klassiske RAG-rammen for å forbedre systemets funksjonalitet og evner, noe som resulterer i skapingen av agentic RAG. Disse agentene tar på seg ekstra oppgaver og resonnering utover grunnleggende informasjonsøking og skapelse, samt orkestrering og kontroll av de forskjellige komponentene i RAG-pipeline.

De tre primære Agentic Strategier

Rutere sender spørsmål til de relevante modulene eller databasene avhengig av deres type. Rutere tar dynamiske beslutninger ved hjelp av store språkmodeller på hvilken kontekst en forespørsel faller, for å bestemme hvilken motor den skal sendes til for å forbedre nøyaktigheten og effektiviteten til pipeline.

Spørsmåls-transformasjoner er prosesser involvert i omformulering av brukerens spørsmål for å beste matche informasjonen i etterspørsel eller, omvendt, for å beste matche hva databasen tilbyr. Dette kan være en av følgende: omformulering, utvidelse eller nedbryting av komplekse spørsmål i enklere under-spørsmål som er mer lett å håndtere.

Det krever også en under-spørsmåls-motor for å møte utfordringen med å svare på et komplekst spørsmål ved hjelp av flere data-kilder.

Først blir det komplekse spørsmålet dekomponert i enklere spørsmål for hver av data-kildene. Deretter samles alle mellomliggende svarene inn og en slutresultat syntetiseres.

Agentic Lag for RAG-Pipelines

  • Rutering: Spørsmålet blir sendt til den relevante kunnskapsbasert prosessering basert på relevans. Eksempel: Når brukeren ønsker å få anbefalinger for bestemte kategorier av bøker, kan spørsmålet sendes til en kunnskapsbase som inneholder kunnskap om disse kategoriene av bøker.
  • Spørsmåls-planlegging: Dette involverer dekomponering av spørsmålet i under-spørsmål og deretter sende dem til deres respektive individuelle pipelines. Agenten produserer under-spørsmål for alle elementer, som året i dette tilfellet, og sender dem til deres respektive kunnskapsbaser.
  • Verktøy-bruk: En språkmodell kommuniserer med en API eller ekstern verktøy, ved å vite hva dette ville innebære, på hvilken plattform kommunikasjonen skal finne sted, og når det ville være nødvendig å gjøre det. Eksempel: Gitt en brukers forespørsel om en vær-forecast for en bestemt dag, kommuniserer LLM med vær-API, identifiserer lokasjon og dato, og parserer retur-verdien fra API for å gi riktig informasjon.
  • ReAct er en iterativ prosess av tenkning og handling koblet med planlegging, ved å bruke verktøy og observere.
    For eksempel, for å designe en end-to-end reiseplan, vil systemet vurdere brukerens krav og hente detaljer om ruten, turist-attraksjoner, restauranter og overnatting ved å ringe API. Deretter vil systemet sjekke resultater med hensyn til korrekthet og relevans, og produsere en detaljert reiseplan relevant for brukerens prompt og timeplan.
  • Planlegging av dynamisk spørsmål: I stedet for å utføre sekvensielt, utfører agenten flere handlinger eller under-spørsmål samtidig og deretter aggregere disse resultater.
    For eksempel, hvis en ønsker å sammenligne de finansielle resultater fra to selskaper og bestemme forskjellen i noen målinger, vil agenten prosessere data for begge selskaper parallelt før aggregere funn; LLMCompiler er et slikt rammeverk som fører til en slik effektiv orkestrering av parallell kalling av funksjoner.

Agentic RAG og LLMaIndex

LLMaIndex representerer en svært effektiv implementering av RAG-pipelines. Biblioteket fyller bare inn det manglende puzzle-stykket i å integrere strukturert organisatorisk data i generative AI-modeller ved å gi bekvemmelighet for verktøy i prosessering og henting av data, samt grensesnitt til forskjellige data-kilder. De viktigste komponentene i LlamaIndex beskrives nedenfor.

LlamaParse parserer dokumenter.

Llama Cloud for bedriftstjenester med RAG-pipelines deployert med minst mulig manuell arbeid.

Ved å bruke flere LLMer og vektor-lagring, tilbyr LlamaIndex en integrert måte å bygge applikasjoner i Python og TypeScript med RAG. Egenskapene gjør det til en svært etterspurt ryggrad for bedrifter som ønsker å utnytte AI for å forbedre data-drevne beslutninger.

Nøkkelkomponenter av Agentic RAG-Implementering med LLMaIndex

La oss gå i dybden på noen av ingrediensene i agentic RAG og hvordan de implementeres i LlamaIndex.

1. Verktøy-bruk og Rutering

Rutering-agenten velger hvilken LLM eller verktøy som er best å bruke for et gitt spørsmål, basert på spørsmål-type. Dette fører til kontekstuell følsomme beslutninger, som om brukeren ønsker en oversikt eller en detaljert sammenfatting. Eksempler på slike tilnærminger er Router Query Engine i LlamaIndex, som dynamisk velger verktøy som ville maksimere svarene på spørsmål.

2. Langtids Kontekst-bevaring

Mens den viktigste jobben til minne er å bevare kontekst over flere interaksjoner, i motsetning til det, er minne-utstyrt agenter i den agentiske varianten av RAG kontinuerlig klar over interaksjoner som resulterer i kohesive og kontekst-ladde svar.

LlamaIndex inkluderer også en chat-motor som har minne for kontekstuell samtale og enkelt-skudd-spørsmål. For å unngå overflod av LLM-kontekst-vindu, må en slik minne være i tett kontroll under lange diskusjoner og redusert til en sammenfattnings-form.

3. Under-spørsmåls-motorer for Planlegging

Ofte må en bryte ned et komplekst spørsmål i mindre, håndterbare jobber. Under-spørsmåls-motor er en av de grunnleggende funksjonene for hvilken LlamaIndex brukes som en agent, hvor et stort spørsmål brytes ned i mindre, utføres sekvensielt og deretter kombineres for å danne et kohesivt svar. Evnen til agenter til å undersøke flere aspekter av et spørsmål trinnvis representerer konseptet med fler-trinns planlegging i motsetning til en lineær.

4. Refleksjon og Feil-korreksjon

Refleksive agenter produserer utgang, men deretter sjekker kvaliteten på denne utgangen for å korrigere hvis nødvendig. Denne ferdigheten er av største betydning for å sikre nøyaktighet og at det som kommer ut er det som var ment av en person. Takket være LlamaIndex’ selv-refleksive arbeidsflyt, vil en agent gjennomgå sin ytelse enten ved å prøve igjen eller justere aktiviteter som ikke møter bestemte kvalitetsnivåer. Men fordi det er selv-korrigerende, er Agentic RAG noenlunde pålitelig for de bedrifts-applikasjonene hvor pålitelighet er kardinal.

5. Kompleks agentic resonnering:

Tre-basert utforskning brukes når agenter må undersøke en mengde mulige ruter for å oppnå noe. I motsetning til sekvensiell beslutning, tillater tre-basert resonnering en agent å vurdere mange strategier samtidig og velge den mest lovende basert på vurderings-kriterier oppdatert i sanntid.

LlamaCloud og LlamaParse

Med sin omfattende rekke av managed-tjenester designet for bedrifts-gradert kontekst-forbedring innen LLM- og RAG-applikasjoner, er LlamaCloud et stort skritt i LlamaIndex-miljøet. Denne løsningen gjør det mulig for AI-ingeniører å fokusere på å utvikle nøkkel-forretnings-logikk ved å redusere den komplekse prosessen med data-wrangling.

En annen parsing-motor som er tilgjengelig er LlamaParse, som integrerer behagelig med inn-tak og henting-pipelines i LlamaIndex. Dette utgjør en av de viktigste byggesteinene som håndterer komplekse, semi-strukturerte dokumenter med innebygde objekter som tabeller og figurer. En annen viktig byggestein er den managed inn-tak og henting-API, som tilbyr en rekke måter å enkelt laste, prosessere og lagre data fra en stor mengde kilder, som LlamaHub’s sentrale data-repository eller LlamaParse-utdata. I tillegg støtter det forskjellige data-lagring-integreringer.

Konklusjon

Agentic RAG representerer en skiftning i informasjons-behandling ved å introdusere mer intelligens i agentene selv. I mange situasjoner kan agentic RAG kombineres med prosesser eller forskjellige API-er for å gi et mer nøyaktig og raffinert resultat. For eksempel, i tilfelle dokument-sammenfatning, vil agentic RAG vurdere brukerens formål før det lager en sammenfatting eller sammenligner detaljer. Når det gjelder kunde-støtte, kan agentic RAG nøyaktig og individuelt svare på stadig mer komplekse kunde-spørsmål, ikke bare basert på deres trenings-modell, men også på tilgjengelig minne og eksterne kilder. Agentic RAG fremhever en skiftning fra generative modeller til mer fin-justerte systemer som utnytter andre typer kilder for å oppnå et robust og nøyaktig resultat. Imidlertid, da de er generative og intelligente som de er nå, er disse modellene og Agentic RAG på en ferd mot en høyere effisiens når mer og mer data legges til pipelines. Dette er en skiftning fra generative modeller til mer fin-justerte systemer som utnytter andre typer kilder for å oppnå et robust og nøyaktig resultat. Imidlertid, da de er generative og intelligente som de er nå, er disse modellene og Agentic RAG på en ferd mot en høyere effisiens når mer og mer data legges til pipelines.

Chaitanya Pathak er en erfaren teknologisjef som spesialiserer seg på produktisering av Generative AI. Med over ett tiår i bedriftsprogramvare og produktledelse, tjenestegjør han for tiden som Chief Product and Technology Officer i LEAPS ved Analyttica. Chaitanya har utviklet et omfattende rammeverk, som for tiden er under patent, som gjør AI-teknologier til skalerbare, markedsklare produkter over flere bransjer, og gir produkt- og teknologiledere mulighet til å levere meningsfull innvirkning.