Tankeledere

RAG Evolution – En introduktion til Agentic RAG

mm
Føj Unite.AI til dine foretrukne kilder på Google

Hvad er RAG (Retrieval-Augmented Generation)?

Retrieval-Augmented Generation (RAG) er en teknik, der kombinerer styrkerne fra store sprogmodeller (LLM’er) med ekstern datahenting for at forbedre kvaliteten og relevansen af genererede svar. Traditionelle LLM’er bruger deres forudindlærte videnbasers, hvorimod RAG-pipelines vil forespørge eksterne databaser eller dokumenter på kørselstidspunktet og hente relevant information for at bruge i generering af mere præcise og kontekstligt rige svar. Dette er særligt nyttigt i tilfælde, hvor spørgsmålet er komplekst, specifikt eller baseret på en given tidsramme, da svarene fra modellen er informerede og berigede med opdateret domænespecifik information.

Nuværende RAG-landskab

Store sprogmodeller har revolutioneret, hvordan vi tilgår og behandler information. Afhængighed udelukkende af interne forindlærte kundskaber kan dog begrænse fleksibiliteten af deres svar – især for komplekse spørgsmål. Retrieval-Augmented Generation løser dette problem ved at lade LLM’er erhverve og analysere data fra andre tilgængelige eksterne kilder for at producere mere præcise og indsigtsgivende svar.

Seneste udvikling i informationshenting og naturligt sprogbehandling, især LLM og RAG, åbner op for nye grænser for effektivitet og sofistikation. Disse udviklinger kan vurderes på følgende brede konturer:

  1. Forbedret informationshenting: Forbedring af informationshenting i RAG-systemer er ret vigtig for at fungere effektivt. Seneste arbejder har udviklet forskellige vektorer, omrangering af algoritmer, hybrid søgemetoder til forbedring af præcis søgning.
  2. Semantisk cachelagring: Dette viser sig at være en af de primære måder, hvorpå beregningsomkostningerne reduceres uden at give afkald på konsistente svar. Dette betyder, at svarene på aktuelle forespørgsler cachelagres sammen med deres semantiske og pragmatiske kontekst, hvilket igen fremmer hurtigere respons tid og leverer konsistent information.
  3. Multimodal integration: Ud over tekstbaserede LLM- og RAG-systemer dækker denne tilgang også visuelle og andre modaliteter i rammen. Dette giver adgang til en større variation af kilde materiale og resulterer i svar, der er stadig mere sofistikerede og mere præcise.

Udfordringer med traditionelle RAG-arkitekturer

Selvom RAG udvikler sig for at møde forskellige behov, er der stadig udfordringer, der står foran traditionelle RAG-arkitekturer:

  • Sammenfatning: Sammenfatning af store dokumenter kan være svært. Hvis dokumentet er langt, kan den konventionelle RAG-struktur overse vigtig information, da den kun får de øverste K dele.
  • Dokument sammenligning: Effektiv dokument sammenligning er stadig en udfordring. RAG-rammen resulterer ofte i en ufuldstændig sammenligning, da den vælger de øverste K tilfældige dele fra hvert dokument tilfældigt.
  • Struktureret data analyse: Det er svært at håndtere struktureret numerisk data forespørgsler, såsom at finde ud af, hvornår en medarbejder vil tage sin næste ferie afhængigt af, hvor de bor. Præcis datapunkt henting og analyse er ikke nøjagtig med disse modeller.
  • Håndtering af forespørgsler med flere dele: At besvare spørgsmål med flere dele er stadig begrænset. For eksempel er det svært at finde fælles ferie mønstre på tværs af alle områder i en stor organisation, når det er begrænset til K dele, hvilket begrænser fuldstændig forskning.

Bevægelse mod Agentic RAG

Agentic RAG bruger intelligente agenter til at besvare komplekse spørgsmål, der kræver omhyggelig planlægning, multi-trinsisk begrundelse og integration af eksterne værktøjer. Disse agenter udfører opgaverne for en dygtig forsker, der behændigt navigerer gennem en mængde dokumenter, sammenligner data, sammenfatter resultater og producerer omfattende, præcise svar.

Begrebet agenter er inkluderet i den klassiske RAG-ramme for at forbedre systemets funktionalitet og kapacitet, hvilket resulterer i skabelsen af agentic RAG. Disse agenter påtager sig ekstra opgaver og begrundelse ud over grundlæggende informationshenting og generering, samt orkestrering og kontrol af de forskellige komponenter i RAG-pipeline.

De tre primære Agentic-strategier

Rutere sender forespørgsler til de relevante moduler eller databaser afhængigt af deres type. Rutere træffer dynamiske beslutninger ved hjælp af store sprogmodeller, der bestemmer, hvilken kontekst en anmodning falder under, for at træffe et kald til den valgte motor, der skal sendes til forbedret nøjagtighed og effektivitet af pipeline.

Forespørgsel transformationer er processer, der er involveret i omformuleringen af brugerens forespørgsel for bedst at matche den ønskede information eller, omvendt, for bedst at matche, hvad databasen tilbyder. Det kan være en af følgende: omformulering, udvidelse eller opdeling af komplekse spørgsmål i enklere under-spørgsmål, der er mere lette at håndtere.

Det kræver også en under-spørgsel forespørgsel motor for at møde udfordringen med at besvare et komplekst spørgsmål ved hjælp af flere datakilder.

Først dekomponeres det komplekse spørgsmål i enklere spørgsmål for hver af datakilderne. Derefter samles alle mellem-svarene og syntetiseres til et slutresultat.

Agentic lag for RAG-pipelines

  • Rutering: Spørgsmålet ruteres til den relevante videnbaserede behandling baseret på relevans. Eksempel: Når brugeren ønsker at få anbefalinger for bestemte kategorier af bøger, kan forespørgslen ruteres til en videnbase, der indeholder viden om disse kategorier af bøger.
  • Forespørgsel planlægning: Dette involverer dekompositionen af forespørgslen i under-forespørgsler og derefter sender dem til deres respektive individuelle pipelines. Agenten producerer under-forespørgsler for alle elementer, såsom året i dette tilfælde, og sender dem til deres respektive videnbaser.
  • Værktøjsbrug: Et sprogmodel taler til en API eller et eksternt værktøj, ved at vide, hvad det ville indebære, på hvilken platform kommunikationen skal finde sted, og hvornår det ville være nødvendigt at gøre det. Eksempel: Givet en brugers anmodning om en vejrudsigt for en given dag, kommunikerer LLM’et med vejr-API’et, identificerer beliggenheden og datoen, og derefter parserer svaret fra API’et for at give den rigtige information.
  • ReAct er en iterativ proces af tænkning og handling kombineret med planlægning, brug af værktøjer og observation.
    For eksempel til at designe en slut-til-slut rejseplan, vil systemet overveje brugerens krav og hente detaljer om ruten, turistattraktioner, restauranter og overnatning ved at ringe til API’er. Derefter vil systemet kontrollere resultaterne i forhold til korrekthed og relevans, og producere en detaljeret rejseplan relevant for brugerens prompt og tidsplan.
  • Planlægning af dynamisk forespørgsel: I stedet for at udføre sekventielt, udfører agenten flere handlinger eller under-forespørgsler samtidigt og derefter aggregere disse resultater.
    For eksempel, hvis man ønsker at sammenligne de finansielle resultater af to virksomheder og bestemme forskellen i en given metrik, vil agenten så behandlere data for begge virksomheder parallelt, før findingsene aggregere; LLMCompiler er et sådant framework, der fører til en sådan effektiv orkestrering af parallelt kald af funktioner.

Agentic RAG og LLMaIndex

LLMaIndex repræsenterer en meget effektiv implementering af RAG-pipelines. Biblioteket udfylder simpelthen det manglende stykke i integration af struktureret organisationsdata i generative AI-modeller ved at give bekvemmelighed for værktøjer i behandling og henting af data, samt grænseflader til forskellige datakilder. De vigtigste komponenter af LlamaIndex beskrives nedenfor.

LlamaParse parserer dokumenter.

Llama Cloud for virksomheds service med RAG-pipelines deployeret med det mindste antal manuelt arbejde.

Med flere LLM’er og vektorlagring giver LlamaIndex en integreret måde at bygge applikationer i Python og TypeScript med RAG. Dets karakteristika gør det til en højt efterspurgt rygrad for virksomheder, der ønsker at udnytte AI til forbedret data-dreven beslutningstagning.

Nøglekomponenter af Agentic RAG implementering med LLMaIndex

Lad os gå i dybden af nogle af ingredienserne i agentic RAG og hvordan de implementeres i LlamaIndex.

1. Værktøjsbrug og rutering

Rutering agenten vælger, hvilket LLM eller værktøj der er bedst at bruge til en given forespørgsel, baseret på forespørgsels typen. Dette fører til kontekstfølsomme beslutninger, såsom om brugeren ønsker en oversigt eller en detaljeret sammenfatning. Eksempler på sådanne tilgange er Router Query Engine i LlamaIndex, der dynamisk vælger værktøjer, der vil maksimere respons på forespørgsler.

2. Langsigtede kontekstbevarelse

Mens den vigtigste opgave for hukommelse er at bevare kontekst over flere interaktioner, er det i modsætning hertil, at hukommelse udstyret agenter i den agentic variant af RAG forbliver kontinuerligt bevidste om interaktioner, der resulterer i koherente og kontekstfyldte svar.

LlamaIndex inkluderer også en chat-motor, der har hukommelse for kontekstuelle samtaler og enkelt skud forespørgsler. For at undgå overbelastning af LLM kontekst vindue, skal en sådan hukommelse være under stram kontrol under lange diskussioner og reduceres til en sammenfattet form.

3. Under-spørgsels motorer for planlægning

Ofte må man bryde ned et komplekst spørgsmål i mindre, håndterbare opgaver. Under-spørgsels motor er en af de centrale funktioner, som LlamaIndex bruges som agent til, hvor et stort spørgsmål deles op i mindre, udføres sekventielt og derefter kombineres til en koherent besvarelse. Evnen til, at agenter kan undersøge flere aspekter af et spørgsmål skridt for skridt repræsenterer begrebet multi-trinsisk planlægning i modsætning til en lineær.

4. Refleksion og fejlkorrektion

Refleksive agenter producerer output, men derefter kontrollerer kvaliteten af denne output for at korrigere, hvis nødvendigt. Denne færdighed er af største betydning for at sikre nøjagtighed og, at det, der kommer ud, er, hvad der var tiltænkt af en person. Takket være LlamaIndex’s selv-refleksive arbejdsgang vil en agent gennemgå sin præstation enten ved at gentage eller justere handlinger, der ikke opfylder visse kvalitetsniveauer. Men da det er selv-korrigerende, er Agentic RAG noget pålideligt for virksomhedsapplikationer, hvor pålidelighed er kardinal.

5. Kompleks agentic begrundelse:

Træ-baseret udforskning anvendes, når agenter skal undersøge en række mulige ruter for at opnå noget. I modsætning til sekventiel beslutningstagning giver træ-baseret begrundelse en agent mulighed for at overveje mange strategier på én gang og vælge den mest lovende baseret på vurderingskriterier, der opdateres i realtid.

LlamaCloud og LlamaParse

Med sin omfattende række af managed services designet til virksomhedsgrad af kontekstforbedring inden for LLM og RAG-applikationer er LlamaCloud et stort skridt i LlamaIndex-miljøet. Denne løsning giver AI-ingeniører mulighed for at fokusere på udvikling af nøgleforretningslogik ved at reducere den komplekse proces med data-wrangling.

En anden parse-motor tilgængelig er LlamaParse, der integrerer behageligt med indtagelse og hentings-pipelines i LlamaIndex. Dette udgør en af de vigtigste byggesten, der håndterer komplicerede, semi-strukturerede dokumenter med indlejrede objekter som tabeller og figurer. En anden vigtig byggesten er den managed indtagelse og hentings-API, der giver adgang til en række måder at lette laste, behandle og gemme data fra en stor mængde kilder, såsom LlamaHub’s centralt data-repository eller LlamaParse-outputs. Derudover understøtter det forskellige data-lagring integrationer.

Konklusion

Agentic RAG repræsenterer en skift i informationsbehandling ved at introducere mere intelligens i agenterne selv. I mange situationer kan agentic RAG kombineres med processer eller forskellige API’er for at give et mere præcist og raffineret resultat. For eksempel, i tilfælde af dokument-sammenfatning, vil agentic RAG evaluere brugerens formål, før det skaber en sammenfatning eller sammenligner specifikationer. Når det kommer til kundesupport, kan agentic RAG præcist og enkelt besvare stadig mere komplekse kunde forespørgsler, ikke kun baseret på deres træningsmodel, men også den tilgængelige hukommelse og eksterne kilder. Agentic RAG fremhæver en skift fra generative modeller til mere finjusterede systemer, der udnytter andre typer kilder for at opnå et robust og præcist resultat. Men da de er generative og intelligente, som de er nu, er disse modeller og Agentic RAG’s på en mission for at nå en højere effektivitet, efterhånden som mere og mere data tilføjes pipelines. Det er en skift fra generative modeller til mere finjusterede systemer, der udnytter andre typer kilder for at opnå et robust og præcist resultat. Men da de er generative og intelligente, som de er nu, er disse modeller og Agentic RAG på en mission for at nå en højere effektivitet, efterhånden som mere og mere data tilføjes pipelines.

Chaitanya Pathak er en erfaren teknologiuddannelsesleder, der specialiserer sig i at gøre Generative AI til et produkt. Med over et årti i enterprise software og produktledelse fungerer han nu som Chief Product og Technology Officer i LEAPS by Analyttica. Chaitanya har udviklet en omfattende ramme, der i øjeblikket er under patentansøgning, som omdanner AI-teknologier til skalerbare, markedsklare produkter på tværs af flere brancher, og giver produkt- og teknologiledere mulighed for at levere meningsfuld indvirkning.