Thought leaders

RAG-evolutie – Een inleiding tot Agentic RAG

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google

Wat is RAG (Retrieval-Augmented Generation)?

Retrieval-Augmented Generation (RAG) is een techniek die de sterke punten van grote taalmodellen (LLM’s) combineert met externe gegevensopname om de kwaliteit en relevantie van gegenereerde antwoorden te verbeteren. Traditionele LLM’s gebruiken hun vooraf getrainde kennisbases, terwijl RAG-pijplijnen externe databases of documenten in runtime opvragen en relevante informatie op halen om te gebruiken bij het genereren van nauwkeurigere en contextueel rijkere antwoorden. Dit is vooral handig in gevallen waarin de vraag complex, specifiek of gebaseerd is op een bepaalde tijdspanne, aangezien de antwoorden van het model geïnformeerd en verrijkt zijn met actuele domeinspecifieke informatie.

Huidige RAG-landschap

Grote taalmodellen hebben de manier waarop we toegang hebben tot en informatie verwerken volledig veranderd. Het enkel vertrouwen op interne vooraf ingevoerde kennis kan de flexibiliteit van hun antwoorden beperken, vooral voor complexe vragen. Retrieval-Augmented Generation lost dit probleem op door LLM’s in staat te stellen gegevens te verkrijgen en te analyseren uit andere beschikbare externe bronnen om nauwkeurigere en inzichtelijke antwoorden te produceren.

Recente ontwikkelingen in informatieopname en natuurlijke taalverwerking, met name LLM en RAG, openen nieuwe frontiers van efficiëntie en sofisticatie. Deze ontwikkelingen kunnen worden beoordeeld op de volgende brede contouren:

  1. Verbeterde informatieopname: Verbetering van informatieopname in RAG-systemen is erg belangrijk voor efficiënte werking. Recent onderzoek heeft verschillende vectoren, reranking-algoritmes, hybride zoekmethoden ontwikkeld voor de verbetering van nauwkeurige zoekopdrachten.
  2. Semantische caching: Dit blijkt een van de belangrijkste manieren te zijn waarop de computationele kosten worden verlaagd zonder in te boeten aan consistente antwoorden. Dit betekent dat de antwoorden op huidige vragen worden opgeslagen samen met hun semantische en pragmatische context, wat opnieuw leidt tot snelere responstijden en consistente informatie.
  3. Multimodale integratie: Naast tekstgebaseerde LLM- en RAG-systemen omvat deze aanpak ook visuele en andere modaliteiten van het kader. Dit biedt toegang tot een grotere variëteit aan bronmateriaal en resulteert in antwoorden die steeds geavanceerder en nauwkeuriger worden.

Uitdagingen met traditionele RAG-architecturen

Terwijl RAG evolueert om aan verschillende behoeften te voldoen, zijn er nog steeds uitdagingen die voor traditionele RAG-architecturen staan:

  • Samenvatting: Het samenvatten van grote documenten kan moeilijk zijn. Als het document lang is, kan de conventionele RAG-structuur belangrijke informatie missen omdat het alleen de top K-stukken haalt.
  • Documentvergelijking: Effectieve documentvergelijking is nog steeds een uitdaging. Het RAG-kader resulteert vaak in een onvolledige vergelijking omdat het de top K-willekeurige stukken uit elk document willekeurig selecteert.
  • Geordende gegevensanalyse: Het is moeilijk om te gaan met gestructureerde numerieke gegevensvragen, zoals het bepalen wanneer een werknemer zijn volgende vakantie zal nemen op basis van waar hij woont. Precieze datapunt-opname en -analyse zijn niet nauwkeurig met deze modellen.
  • Omgaan met vragen met meerdere onderdelen: Het beantwoorden van vragen met meerdere onderdelen is nog steeds beperkt. Bijvoorbeeld het vinden van gemeenschappelijke verlofpatronen in alle gebieden van een grote organisatie is moeilijk wanneer beperkt tot K-stukken, waardoor volledig onderzoek wordt beperkt.

Bewegen naar Agentic RAG

Agentic RAG gebruikt intelligente agenten om complexe vragen te beantwoorden die zorgvuldige planning, meerdere stappen redenering en integratie van externe tools vereisen. Deze agenten voeren de taken van een ervaren onderzoeker uit, behendig navigerend door een groot aantal documenten, vergelijking van gegevens, samenvatting van bevindingen en produceren van uitgebreide, nauwkeurige antwoorden.

Het concept van agenten wordt opgenomen in het klassieke RAG-kader om de functionaliteit en capaciteiten van het systeem te verbeteren, wat resulteert in de creatie van agentic RAG. Deze agenten nemen extra taken en redenering op zich, naast basisinformatieopname en -aanmaak, evenals het orkestreren en controleren van de verschillende componenten van de RAG-pijplijn.

Drie primaire Agentic-strategieën

Routers sturen vragen naar de juiste modules of databases, afhankelijk van hun type. De routers nemen dynamisch beslissingen met behulp van grote taalmodellen, afhankelijk van de context van een verzoek, om te beslissen welke motor het beste kan worden gebruikt voor verbeterde nauwkeurigheid en efficiëntie van de pijplijn.

Querytransformaties zijn processen die betrokken zijn bij het herschrijven van de vraag van de gebruiker om de beste overeenkomst te vinden met de gevraagde informatie of, omgekeerd, om de beste overeenkomst te vinden met wat de database aanbiedt. Het kan een van de volgende zijn: herschrijven, uitbreiden of het opbreken van complexe vragen in eenvoudigere subvragen die gemakkelijker te behandelen zijn.

Het vereist ook een sub-vraagquery-engine om de uitdaging aan te gaan van het beantwoorden van een complexe vraag met behulp van meerdere gegevensbronnen.

Agentic-lagen voor RAG-pijplijnen

  • Routering: De vraag wordt gerouteerd naar de relevante kennisgebaseerde verwerking op basis van relevantie. Voorbeeld: Wanneer de gebruiker aanbevelingen wil krijgen voor bepaalde categorieën boeken, kan de vraag worden gerouteerd naar een kennisbasis die kennis over die categorieën boeken bevat.
  • Queryplanning: Dit omvat de decompositie van de vraag in sub-vragen en vervolgens het verzenden van deze sub-vragen naar hun respectievelijke individuele pijplijnen. De agent produceert sub-vragen voor alle items, zoals het jaar in dit geval, en verzendt deze naar hun respectievelijke kennisbases.
  • Toolgebruik: Een taalmodel communiceert met een API of externe tool, wetend wat dit zou inhouden, op welk platform de communicatie zou moeten plaatsvinden en wanneer het nodig zou zijn om dit te doen. Voorbeeld: Gegeven een verzoek van de gebruiker voor een weersvoorspelling voor een bepaalde dag, communiceert het LLM met de weers-API, identificeert de locatie en datum en parseert het antwoord dat van de API komt om de juiste informatie te verstrekken.
  • ReAct is een iteratief proces van denken en handelen, gekoppeld aan planning, het gebruik van tools en observeren.
    Bijvoorbeeld om een eind-tot-eind-vakantieplan te ontwerpen, zal het systeem rekening houden met de eisen van de gebruiker en details ophalen over de route, toeristische attracties, restaurants en accommodatie door API’s aan te roepen. Vervolgens zal het systeem de resultaten controleren op juistheid en relevantie en een gedetailleerd reisplan produceren dat relevant is voor de prompt en het schema van de gebruiker.
  • Planningsdynamische query: In plaats van sequentieel uit te voeren, voert de agent meerdere acties of sub-vragen gelijktijdig uit en agreggeert vervolgens deze resultaten.
    Bijvoorbeeld, als men de financiële resultaten van twee bedrijven wil vergelijken en het verschil in een bepaalde metric wil bepalen, zal de agent de gegevens voor beide bedrijven parallel verwerken voordat de bevindingen worden geaggregeerd; LLMCompiler is een dergelijk kader dat leidt tot een efficiënte orkestratie van parallelle oproepen van functies.

Agentic RAG en LLMaIndex

LLMaIndex vertegenwoordigt een zeer efficiënte implementatie van RAG-pijplijnen. De bibliotheek vult eenvoudigweg het ontbrekende stuk in bij het integreren van gestructureerde organisatiegegevens in generatieve AI-modellen door gemak te bieden voor tools bij het verwerken en opvragen van gegevens, evenals interfaces naar verschillende gegevensbronnen. De belangrijkste componenten van LlamaIndex worden hieronder beschreven.

LlamaParse parseert documenten.

De Llama Cloud voor enterprise-service met RAG-pijplijnen die zijn geïmplementeerd met minimaal handmatig werk.

Met behulp van meerdere LLM’s en vectoropslag biedt LlamaIndex een geïntegreerde manier om toepassingen te bouwen in Python en TypeScript met RAG. De kenmerken ervan maken het een zeer gewild fundament voor bedrijven die AI willen gebruiken voor verbeterde, op gegevens gebaseerde besluitvorming.

Sleutelcomponenten van Agentic RAG-implementatie met LLMaIndex

Laten we dieper ingaan op enkele van de ingrediënten van agentic RAG en hoe ze worden geïmplementeerd in LlamaIndex.

1. Toolgebruik en routering

De routeringsagent kiest welk LLM of tool het beste kan worden gebruikt voor een bepaalde vraag, op basis van het type vraag. Dit leidt tot contextueel gevoelige beslissingen, zoals of de gebruiker een overzicht of een gedetailleerde samenvatting wil. Voorbeelden van dergelijke benaderingen zijn de Router Query Engine in LlamaIndex, die dynamisch tools kiest die de antwoorden op vragen zouden maximaliseren.

2. Langetermijncontextbehoud

Terwijl het meest belangrijke werk van het geheugen is om context te behouden over meerdere interacties, zijn de geheugenequipped agenten in de agentic variant van RAG voortdurend zich bewust van interacties die resulteren in coherente en contextuele antwoorden.

LlamaIndex bevat ook een chat-engine die geheugen heeft voor contextuele conversaties en enkele schoten vragen. Om te voorkomen dat de LLM-contextwindow overloopt, moet een dergelijk geheugen strikt worden gecontroleerd tijdens lange discussies en worden gereduceerd tot een samengevatte vorm.

3. Sub-vraagmotoren voor planning

Soms moet een complexe vraag worden opgesplitst in kleinere, beheersbare taken. De sub-vraagquery-engine is een van de kernfunctionaliteiten waarvoor LlamaIndex wordt gebruikt als agent, waarbij een grote vraag wordt opgesplitst in kleinere vragen, uitgevoerd in sequentie en vervolgens samengevoegd om een coherent antwoord te vormen. De mogelijkheid van agenten om meerdere facetten van een vraag stap voor stap te onderzoeken, vertegenwoordigt het concept van meerdere stappenplanning in tegenstelling tot lineaire planning.

4. Reflectie en foutcorrectie

Reflecterende agenten produceren output, maar controleren vervolgens de kwaliteit van die output om correcties aan te brengen als dat nodig is. Deze vaardigheid is van het grootste belang om ervoor te zorgen dat de output nauwkeurig is en overeenkomt met de bedoeling van een persoon. Dankzij de zelfreflecterende workflow van LlamaIndex zal een agent zijn prestaties controleren door het opnieuw proberen of aanpassen van activiteiten die niet voldoen aan bepaalde kwaliteitsniveaus. Maar omdat het zelfcorrigerend is, is Agentic RAG enigszins betrouwbaar voor die enterprise-toepassingen waarin betrouwbaarheid van het grootste belang is.

5. Complex agentic redenering:

Boomgebaseerde exploratie wordt toegepast wanneer agenten een aantal mogelijke routes moeten onderzoeken om iets te bereiken. In tegenstelling tot sequentiële besluitvorming, stelt boomgebaseerde redenering een agent in staat om meerdere strategieën tegelijk te overwegen en de meest veelbelovende te kiezen op basis van beoordelingscriteria die in real-time worden bijgewerkt.

LlamaCloud en LlamaParse

Met zijn uitgebreide reeks beheerde services die zijn ontworpen voor enterprise-grade contextuele verrijking in LLM- en RAG-toepassingen, is LlamaCloud een belangrijke stap in de LlamaIndex-omgeving. Deze oplossing stelt AI-ingenieurs in staat om zich te concentreren op het ontwikkelen van essentiële bedrijfslogica door het complexe proces van data-wrangling te verminderen.

Een andere parser-engine die beschikbaar is, is LlamaParse, die gemakkelijk te integreren is met ingestion- en retrieval-pijplijnen in LlamaIndex. Dit vormt een van de belangrijkste elementen die ingewikkelde, semi-geordende documenten met ingebedde objecten zoals tabellen en figuren afhandelt. Een ander belangrijk bouwsteen is de beheerde ingestion- en retrieval-API, die een aantal manieren biedt om gemakkelijk gegevens te laden, te verwerken en op te slaan van een grote set bronnen, zoals de centrale gegevensrepository van LlamaHub of LlamaParse-uitvoer. Bovendien ondersteunt het verschillende gegevensopslagintegraties.

Conclusie

Agentic RAG vertegenwoordigt een verschuiving in informatieverwerking door meer intelligentie in de agenten zelf in te voeren. In veel situaties kan Agentic RAG worden gecombineerd met processen of verschillende API’s om een nauwkeuriger en verfijnder resultaat te produceren. Bijvoorbeeld, in het geval van documentensamenvatting, zou Agentic RAG de doelstelling van de gebruiker beoordelen voordat een samenvatting wordt gemaakt of specifieke details worden vergeleken. Wanneer het gaat om klantenservice, kan Agentic RAG nauwkeurig en individueel antwoorden op steeds complexere klantvragen, niet alleen op basis van hun trainingsmodel, maar ook op basis van de beschikbare geheugen en externe bronnen. Agentic RAG benadrukt een verschuiving van generatieve modellen naar meer fijn afgestemde systemen die andere soorten bronnen gebruiken om een robuust en nauwkeurig resultaat te bereiken. Echter, aangezien ze nu generatief en intelligent zijn, zijn deze modellen en Agentic RAG’s op een zoektocht naar een hogere efficiëntie, naarmate er meer en meer gegevens aan de pijplijnen worden toegevoegd.

Chaitanya Pathak is een ervaren technisch directeur die zich specialiseert in het productiseren van Generative AI. Met meer dan een decennium ervaring in enterprise software en productmanagement, werkt hij momenteel als Chief Product en Technology Officer bij LEAPS by Analyttica. Chaitanya heeft een uitgebreid kader ontwikkeld, dat momenteel wordt gepatenteerd, waarmee AI-technologieën worden omgezet in schaalbare, marktklare producten in meerdere industrieën, waardoor product- en technologieleiders betekenisvolle impact kunnen leveren.