Connect with us

Tankeledare

RAG Evolution – En introduktion till Agentic RAG

mm

Vad är RAG (Retrieval-Augmented Generation)?

Retrieval-Augmented Generation (RAG) är en teknik som kombinerar styrkorna hos stora språkmodeller (LLM) med extern dataåtervinning för att förbättra kvaliteten och relevansen hos genererade svar. Traditionella LLM använder sina förtränade kunskapsbaser, medan RAG-pipeliner kommer att fråga externa databaser eller dokument i realtid och hämta relevant information för att använda i generering av mer exakta och kontextuellt rika svar. Detta är särskilt användbart i fall där frågan är antingen komplex, specifik eller baserad på en given tidsram, med tanke på att svaren från modellen är informerade och berikade med uppdaterad domänspecifik information.

Nuvarande RAG-landskap

Stora språkmodeller har revolutionerat hur vi kommer åt och bearbetar information. Beroende enbart av intern förtränad kunskap kan dock begränsa flexibiliteten i deras svar – särskilt för komplexa frågor. Retrieval-Augmented Generation löser detta problem genom att låta LLM förvärva och analysera data från andra tillgängliga källor för att producera mer exakta och insiktsfulla svar.

Den senaste utvecklingen inom informationsåtervinning och naturligt språkbehandling, särskilt LLM och RAG, öppnar upp nya gränser för effektivitet och sofistikering. Dessa utvecklingar kan bedömas utifrån följande breda konturer:

  1. Förbättrad informationsåtervinning: Förbättring av informationsåtervinning i RAG-system är ganska viktigt för att fungera effektivt. Senaste arbeten har utvecklat olika vektorer, omrangordningsalgoritmer, hybrid sökmetoder för förbättring av exakt sökning.
  2. Semantisk cachelagring: Detta visar sig vara en av de främsta sätten att minska beräkningskostnaden utan att ge upp på konsekventa svar. Det betyder att svaren på nuvarande frågor cachelagras tillsammans med deras semantiska och pragmatiska kontext, vilket igen främjar snabbare svarstider och levererar konsekvent information.
  3. Multimodal integration: Utöver textbaserade LLM- och RAG-system täcker denna approach också visuella och andra modaliteter i ramverket. Detta möjliggör tillgång till en större variation av källmaterial och resulterar i svar som är alltmer sofistikerade och progressivt mer exakta.

Utmaningar med traditionella RAG-arkitekturer

Medan RAG utvecklas för att möta olika behov, finns det fortfarande utmaningar som står inför traditionella RAG-arkitekturer:

  • Sammansättning: Att sammanfatta stora dokument kan vara svårt. Om dokumentet är långt kan den traditionella RAG-strukturen missa viktig information eftersom den bara hämtar de översta K-bitarna.
  • Dokumentjämförelse: Effektiv dokumentjämförelse är fortfarande en utmaning. RAG-ramverket resulterar ofta i en ofullständig jämförelse eftersom det väljer de översta K slumpmässiga bitarna från varje dokument slumpmässigt.
  • Strukturerad dataanalys: Det är svårt att hantera strukturerade numeriska datafrågor, såsom att ta reda på när en anställd kommer att ta sin nästa semester beroende på var de bor. Exakt datapunktsåtervinning och analys är inte exakta med dessa modeller.
  • Hantering av frågor med flera delar: Att besvara frågor med flera delar är fortfarande begränsat. Till exempel att hitta gemensamma ledighetsmönster över alla områden i ett stort företag är svårt när det är begränsat till K-bitar, vilket begränsar fullständig forskning.

 Övergång till Agentic RAG

Agentic RAG använder intelligenta agenter för att besvara komplicerade frågor som kräver noggrann planering, flerstegsresonemang och integration av externa verktyg. Dessa agenter utför uppgifterna för en skicklig forskare, smidigt navigerar genom en mängd dokument, jämför data, sammanfattar resultat och producerar omfattande, exakta svar.

Begreppet agenter införs i den klassiska RAG-ramen för att förbättra systemets funktioner och förmågor, vilket resulterar i skapandet av agentic RAG. Dessa agenter utför extra uppgifter och resonemang utöver grundläggande informationsåtervinning och generering, samt orkestrerar och kontrollerar de olika komponenterna i RAG-pipelinen.

Tre primära agenterstrategier

Routern skickar frågor till lämpliga moduler eller databaser beroende på deras typ. Routern fattar dynamiska beslut med hjälp av stora språkmodeller på vilken kontext en begäran faller, för att fatta ett beslut om vilken motor som ska skickas till för förbättrad noggrannhet och effektivitet i er pipeline.

Frågetransformationer är processer som ingår i omformuleringen av användarens fråga för att bäst matcha den information som efterfrågas eller, vice versa, för att bäst matcha vad databasen erbjuder. Det kan vara en av följande: omformulering, utvidgning eller nedbrytning av komplexa frågor i enklare underfrågor som är mer lättbearbetade.

Det kräver också en underfråge-motor för att möta utmaningen att besvara en komplex fråga med hjälp av flera datakällor.

Först bryts den komplexa frågan ner i enklare frågor för varje datakälla. Sedan samlas alla mellanliggande svar in och ett slutresultat syntetiseras.

Agenterlager för RAG-pipeliner

  • Routning: Frågan dirigeras till relevant kunskapsbaserad bearbetning baserat på relevans. Exempel: När användaren vill hämta rekommendationer för vissa kategorier av böcker, kan frågan dirigeras till en kunskapsbas som innehåller kunskap om dessa kategorier av böcker.
  • Frågeplanering: Detta innefattar nedbrytning av frågan i underfrågor och sedan skicka dem till deras respektive individuella pipeliner. Agenten producerar underfrågor för alla objekt, såsom året i detta fall, och skickar dem till deras respektive kunskapsbaser.
  • Verktygsanvändning: Ett språkmodell talar till en API eller extern verktyg, veta vad det skulle innebära, på vilken plattform kommunikationen ska ske, och när det skulle vara nödvändigt att göra så. Exempel: Givet en användares begäran om en väderprognos för en given dag, kommunicerar LLM med väder-API, identifierar platsen och datumet, och sedan parsar returen från API för att ge rätt information.
  • ReAct är en iterativ process av tänkande och agerande kopplat med planering, användning av verktyg och observation.Till exempel för att designa en slut-till-slut-resplan, kommer systemet att överväga användarens krav och hämta information om rutten, turistiska attraktioner, restauranger och boende genom att anropa API. Sedan kommer systemet att kontrollera resultaten med avseende på korrekthet och relevans, och producera en detaljerad reseplan relevant för användarens prompt och schema.
  • Planering av dynamiska frågor: Istället för att utföra sekventiellt, utför agenten flera åtgärder eller underfrågor samtidigt och sedan aggregerar dessa resultat.Till exempel, om man vill jämföra de finansiella resultaten av två företag och bestämma skillnaden i någon mått, då skulle agenten bearbeta data för båda företagen parallellt innan aggregering av resultat; LLMCompiler är ett sådant ramverk som leder till en sådan effektiv orkestrering av parallell anrop av funktioner.

Agentic RAG och LLMaIndex

 LLMaIndex representerar en mycket effektiv implementering av RAG-pipeliner. Biblioteket fyller i den saknade biten i integrering av strukturerad organisationsdata i generativa AI-modeller genom att ge bekvämlighet för verktyg i bearbetning och återvinning av data, samt gränssnitt till olika datakällor. De viktigaste komponenterna i LlamaIndex beskrivs nedan.

 LlamaParse parsar dokument.

Llama Cloud för företagstjänst med RAG-pipeliner distribuerade med minsta möjliga manuellt arbete.

Med hjälp av flera LLM och vektorlagring, tillhandahåller LlamaIndex en integrerad väg att bygga applikationer i Python och TypeScript med RAG. Dess egenskaper gör det till en mycket eftertraktad ryggrad för företag som vill utnyttja AI för förbättrad datadriven beslutsfattning.

Viktiga komponenter i Agentic RAG-implementering med LLMaIndex

Låt oss gå in på djupet om några av ingredienserna i agentic RAG och hur de implementeras i LlamaIndex.

1. Verktygsanvändning och routning

Routningsagenten väljer vilken LLM eller verktyg som är bäst att använda för en given fråga, baserat på frågetypen. Detta leder till kontextuellt känsliga beslut, såsom om användaren vill ha en översikt eller en detaljerad sammanfattning. Exempel på sådana tillvägagångssätt är Router Query Engine i LlamaIndex, som dynamiskt väljer verktyg som skulle maximera svar på frågor. 

2. Långsiktig kontextretention

Medan det viktigaste jobbet för minnet är att behålla kontext över flera interaktioner, i kontrast, förblir minnesutrustade agenter i den agenteriska varianten av RAG ständigt medvetna om interaktioner som resulterar i sammanhängande och kontextfyllda svar.

LlamaIndex innehåller också en chattmotor som har minne för kontextuella samtal och enstaka frågor. För att undvika översvämning av LLM-kontextfönstret måste ett sådant minne vara i tight kontroll under långa diskussioner och reduceras till en sammanfattad form.

3. Underfrågemotorer för planering

Ofta måste man bryta ner en komplicerad fråga i mindre, hanterbara jobb. Underfrågemotor är en av de centrala funktionerna för vilken LlamaIndex används som en agent, där en stor fråga bryts ner i mindre, utförs sekventiellt och sedan kombineras för att bilda ett sammanhängande svar. Förmågan hos agenter att undersöka flera aspekter av en fråga steg för steg representerar begreppet flerstegsplanering jämfört med en linjär.

4. Reflektion och felkorrigering

Reflekterande agenter producerar utdata men sedan kontrollerar kvaliteten på den utdatan för att göra korrigeringar om nödvändigt. Denna färdighet är av yttersta vikt för att säkerställa noggrannhet och att vad som kommer ut är vad som avsågs av en person. Tack vare LlamaIndex självreflekterande arbetsflöde kommer en agent att granska sin prestation antingen genom att försöka igen eller justera aktiviteter som inte uppfyller vissa kvalitetsnivåer. Men eftersom det är självkorrigering, är Agentic RAG ganska tillförlitlig för de företagsapplikationer där tillförlitlighet är kardinal. 

5. Komplex agenteresonemang:

Träd-baserad utforskning tillämpas när agenter måste undersöka ett antal möjliga rutter för att uppnå något. I kontrast till sekventiellt beslutsfattande, möjliggör träd-baserat resonemang att en agent kan överväga flera strategier samtidigt och välja den mest lovande baserat på utvärderingskriterier som uppdateras i realtid.

LlamaCloud och LlamaParse

Med sin omfattande uppsättning hanterade tjänster utformade för företagsklassig kontextförstärkning inom LLM- och RAG-applikationer, är LlamaCloud ett stort steg i LlamaIndex-miljön. Denna lösning möjliggör att AI-ingenjörer kan fokusera på att utveckla nyckelaffärslogik genom att minska den komplexa processen med datahantering.En annan parsningsmotor som finns tillgänglig är LlamaParse, som integrerar bekvämt med inmatning och återvinning av pipeliner i LlamaIndex. Detta utgör en av de viktigaste komponenterna som hanterar komplicerade, semi-strukturerade dokument med inbäddade objekt som tabeller och figurer. En annan viktig byggsten är den hanterade inmatnings- och återvinnings-API, som tillhandahåller ett antal sätt att enkelt ladda, bearbeta och lagra data från en stor uppsättning källor, såsom LlamaHubs centrala datarepository eller LlamaParse-utdata. Dessutom stöder det olika data lagringsintegrationer.

Slutsats

Agentic RAG representerar en förändring i informationsbehandling genom att introducera mer intelligens i agenterna själva. I många situationer kan agentic RAG kombineras med processer eller olika API för att ge ett mer exakt och raffinerat resultat. Till exempel, i fallet med dokument sammanfattning, skulle agentic RAG utvärdera användarens syfte innan de skapar en sammanfattning eller jämför specifika detaljer. När det gäller att erbjuda kundsupport, kan agentic RAG exakt och individuellt svara på alltmer komplexa kundförfrågningar, inte bara baserat på deras träningsmodell utan också den tillgängliga minnet och externa källor. Agentic RAG betonar en förändring från generativa modeller till mer finjusterade system som utnyttjar andra typer av källor för att uppnå ett robust och exakt resultat. Men eftersom de är generativa och intelligenta som de är nu, är dessa modeller och Agentic RAG på en resa mot högre effektivitet allteftersom mer och mer data läggs till i pipelinen.

Chaitanya Pathak är en erfaren teknisk chef som specialiserat sig på produktifiering av Generative AI. Med över ett decennium inom företagsprogramvara och produktledning tjänstgör han för närvarande som Chief Product and Technology Officer på LEAPS by Analyttica. Chaitanya har utvecklat ett omfattande ramverk, som för närvarande patenteras, som omvandlar AI-teknologier till skalbara, marknadsfärdiga produkter över flera branscher, och ger produkt- och teknikledare möjlighet att leverera meningsfull påverkan.