Tankeledare

RAG Evolution – En primer till Agentic RAG

mm
Lägg till Unite.AI bland dina föredragna källor på Google

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 genereringen av mer precisa och kontextuellt rika svar. Detta är särskilt användbart i fall där frågan är komplex, specifik eller baserad på en given tidsram, eftersom svaren från modellen är informerade och berikade med uppdaterad domänspecifik information.

Nuvarande RAG-landskap

Stora språkmodeller har revolutionerat hur vi åtkommer 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 precisa och insiktsfulla svar.

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, omrangering av algoritmer, hybrid sökningsmetoder för förbättring av exakt sökning.
  2. Semantisk cachelagring: Detta visar sig vara en av de viktigaste 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 främjar snabbare svarstider och levererar konsekvent information.
  3. Multimodal integration: Förutom textbaserade LLM- och RAG-system omfattar denna metod 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 precisa.

Utmaningar med traditionella RAG-arkitekturer

Medan RAG utvecklas för att möta olika behov, finns det fortfarande utmaningar som står i vägen fö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-delarna.
  • 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 delarna från varje dokument slumpmässigt.
  • Strukturerad dataanalys: Det är svårt att hantera strukturerad numerisk data, såsom att fastställa när en anställd kommer att ta sin nästa semester beroende på var de bor. Exakt datapunktshantering och analys är inte precisa med dessa modeller.
  • Hantering av frågor med flera delar: Att besvara frågor med flera delar är fortfarande begränsat. Till exempel är det svårt att upptäcka gemensamma ledighetsmönster över hela organisationen när man är begränsad till K-delar, vilket begränsar fullständig forskning.

 Flytt mot Agentic RAG

Agentic RAG använder intelligenta agenter för att besvara komplicerade frågor som kräver noggrann planering, flerstegs resonemang och integration av externa verktyg. Dessa agenter utför uppgifterna hos en skicklig forskare, smidigt navigerar genom en mängd dokument, jämför data, sammanfattar resultat och producerar omfattande, precisa 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 Agentic-strategier

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

Frågetransformationer är processer som innebär omformulering 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 lättare att hantera.

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 ned i enklare frågor för varje datakälla. Sedan samlas alla mellanliggande svar in och ett slutligt resultat syntetiseras.

Agentic-lager för RAG-pipeliner

  • Routning: Frågan dirigeras till relevant kunskapsbaserad bearbetning baserat på relevans. Exempel: När användaren vill få 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 innebär att frågan bryts ned i underfrågor och sedan skickas till sina respektive individuella pipeliner. Agenten producerar underfrågor för alla objekt, såsom året i det här fallet, och skickar dem till deras respektive kunskapsbaser.
  • Verktygsanvändning: En språkmodell kommunicerar med en API eller externt verktyg, med vetskap om vad det skulle innebära, på vilken plattform kommunikationen ska ske och när det skulle vara nödvändigt att göra det. Exempel: Givet en användares begäran om en väderprognos för en given dag, kommunicerar LLM med väder-API:t, identifierar platsen och datumet och tolkar sedan returen från API:t för att tillhandahålla rätt information.
  • ReAct är en iterativ process av tänkande och agerande kopplat till planering, användning av verktyg och observation.
    Till exempel, för att designa en komplett reseplan, kommer systemet att överväga användarens krav och hämta information om rutten, turistiska sevärdheter, restauranger och boende genom att ringa API:er. 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 dynamisk fråga: Istället för att utföra sekventiellt, utför agenten flera åtgärder eller underfrågor samtidigt och sedan sammanfogar resultaten.
    Till exempel, om man vill jämföra de finansiella resultaten för två företag och fastställa skillnaden i någon mått, då kommer agenten att bearbeta data för båda företagen parallellt och sedan sammanfoga resultaten; 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 luckan i integreringen av strukturerad organisationsdata i generativa AI-modeller genom att tillhandahålla bekvämlighet för verktyg i bearbetning och hämtning 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 metod för 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.

Nyckelkomponenter 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 kontextbevarande

Medan det viktigaste jobbet för minnet är att bevara kontext över flera interaktioner, i kontrast, förblir minnesutrustade agenter i den agentiska 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 under tight kontroll under långa diskussioner och reduceras till en sammanfattad form.

3. Underfrågemotorer för planering

Ofta måste man bryta ned en komplicerad fråga i mindre, hanterbara uppgifter. Underfrågemotorn är en av de centrala funktionerna för vilka LlamaIndex används som agent, varigenom en stor fråga bryts ned i mindre delar, 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 kontrollerar sedan 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 det 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älvkorrigerande är Agentic RAG ganska tillförlitligt för de företagsapplikationer där tillförlitlighet är kardinal. 

5. Komplex agentic resonemang:

Trädstrukturerad utforskning tillämpas när agenter måste undersöka ett antal möjliga vägar för att uppnå något. I kontrast till sekventiellt beslutsfattande möjliggör trädstrukturerat 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öretagsklassad kontextförstärkning inom LLM- och RAG-applikationer är LlamaCloud ett stort steg i LlamaIndex-miljön. Denna lösning möjliggör för AI-utvecklare att fokusera på att utveckla viktig affärslogik genom att minska den komplexa processen med datahantering.

En annan parsningsmotor som är tillgänglig är LlamaParse, som integreras bekvämt med ingestions- och återvinningpipeliner i LlamaIndex. Detta utgör en av de viktigaste byggstenarna som hanterar komplicerade, semistrukturerade dokument med inbäddade objekt som tabeller och figurer. En annan viktig byggsten är den hanterade ingestions- och återvinnings-API:n, 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 införa mer intelligens i agenterna själva. I många situationer kan agentic RAG kombineras med processer eller olika API:er för att tillhandahålla 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 svara exakt och individuellt 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å att göra Generative AI till produkter. Med över ett decennium av erfarenhet inom företagsprogramvara och produktledning tjänstgör han för närvarande som Chief Product och 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, vilket ger produkt- och teknologiledare möjlighet att leverera meningsfull påverkan.