Myslitelé

Evoluce RAG – Úvod do Agentic RAG

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

Co je RAG (Retrieval-Augmented Generation)?

Retrieval-Augmented Generation (RAG) je technika, která kombinuje silné stránky velkých jazykových modelů (LLM) s externím vyhledáváním dat za účelem zlepšení kvality a relevance generovaných odpovědí. Tradiční LLM používají své předem nastavené znalostní báze, zatímco RAG pipelines budou dotazovat externí databáze nebo dokumenty v době běhu a načítat relevantní informace pro použití při generování přesnějších a kontextově bohatších odpovědí. To je zvláště užitečné v případech, kdy je otázka složitá, specifická nebo založená na konkrétním časovém rámci, protože odpovědi modelu jsou informovány a obohaceny aktuálními doménovými informacemi.

Aktuální krajina RAG

Velké jazykové modely zcela změnily, jak přistupujeme a zpracováváme informace. Spolehlivost pouze na vnitřní předem nastavené znalosti však může omezit flexibilitu jejich odpovědí – zejména pro složitější otázky. Retrieval-Augmented Generation řeší tento problém tím, že umožňuje LLM získat a analyzovat data z jiných dostupných zdrojů za účelem produkce přesnějších a hlubších odpovědí.

Poslední vývoj v oblasti vyhledávání informací a zpracování přirozeného jazyka, zejména LLM a RAG, otevírá nové hranice efektivity a sofistikovanosti. Tyto vývojové trendy lze hodnotit na základě následujících širokých kontur:

  1. Vylepšené vyhledávání informací: Vylepšení vyhledávání informací v RAG systémech je velmi důležité pro efektivní fungování. Nedávné práce vyvinuly různé vektory, algoritmy pro opětovné řazení, hybridní vyhledávací metody pro zlepšení přesného vyhledávání.
  2. Semantické caching: To se ukázalo jako jeden z hlavních způsobů, jak snížit výpočetní náklady bez nutnosti obětovat konzistentní odpovědi. To znamená, že odpovědi na aktuální dotazy jsou uloženy spolu se svými semantickým a pragmatickým kontextem, což opět podporuje rychlejší časy odpovědí a dodává konzistentní informace.
  3. Multimodální integrace: Kromě textově založených LLM a RAG systémů tento přístup také pokrývá vizuální a další modality rámce. To umožňuje přístup k větší variabilitě zdrojového materiálu a vede k odpovědím, které jsou stále sofistikovanější a přesnější.

Výzvy tradičních RAG architektur

Zatímco RAG se vyvíjí, aby splňoval různé potřeby, stále existují výzvy, které stojí před tradičními RAG architekturami:

  • Shrnutí: Shrnutí rozsáhlých dokumentů může být obtížné. Pokud je dokument dlouhý, konvenční RAG struktura může přehlédnout důležité informace, protože získá pouze horních K položek.
  • Porovnání dokumentů: Účinné porovnání dokumentů je stále výzvou. RAG rámec často vede k neúplnému porovnání, protože vybírá horních K náhodných částí z každého dokumentu náhodně.
  • Analýza strukturovaných dat: Je obtížné zpracovat strukturované číselné dotazy, jako je určení, kdy zaměstnanec vezme svou další dovolenou v závislosti na místě bydliště. Přesné získání a analýza dat nejsou přesné u těchto modelů.
  • Zpracování dotazů s několika částmi: Odpovědi na dotazy s několika částmi jsou stále omezené. Například nalezení společných vzorců dovolených napříč všemi oblastmi velké organizace je obtížné, pokud je omezeno na K položek, což omezuje úplné výzkumy.

Pohyb směrem k Agentic RAG

Agentic RAG používá inteligentní agenty pro odpovědi na složité otázky, které vyžadují pečlivé plánování, vícekrokové uvažování a integraci externích nástrojů. Tyto agenty plní úkoly zkušeného výzkumníka, obratně procházejícího skrze množinu dokumentů, porovnávajícího data, shrnujícího výsledky a produkujícího komplexní a přesné odpovědi.

Koncept agentů je zahrnut do klasického RAG rámce za účelem zlepšení funkčnosti a schopností systému, což vede k vytvoření agentic RAG. Tyto agenty plní další úkoly a uvažování nad rámec základního vyhledávání informací a generování, stejně jako orchestrace a řízení různých součástí RAG pipeline.

Tři primární agentic strategie

Routery posílají dotazy na příslušné moduly nebo databáze v závislosti na jejich typu. Routery dynamicky činí rozhodnutí pomocí velkých jazykových modelů, na základě kontextu požadavku, aby se rozhodly, na který engine by měl být odeslán pro zlepšení přesnosti a efektivity vaší pipeline.

Transformace dotazů jsou procesy zapojené do přefrazování uživatelského dotazu, aby nejlépe odpovídal požadovaným informacím, nebo naopak, aby nejlépe odpovídal tomu, co nabízí databáze. Může se jednat o jednu z následujících možností: přefrazování, rozšíření nebo rozdělení složitých otázek na jednodušší podotázky, které jsou lépe zpracovatelné.

To také vyžaduje sub-dotazový engine, aby splnil výzvu odpovědi na komplexní dotaz pomocí několika zdrojů dat.

Nejprve je komplexní otázka rozložena na jednodušší otázky pro každý ze zdrojů dat. Poté jsou všechny mezitímní odpovědi shromážděny a syntetizován konečný výsledek.

Agentic vrstvy pro RAG pipeline

  • Směrování: Dotaz je směrován na příslušnou znalostní základnu založenou na relevanci. Příklad: Když uživatel chce získat doporučení pro určitou kategorii knih, dotaz může být směrován na znalostní základnu obsahující znalosti o těchto kategoriích knih.
  • Plánování dotazu: To zahrnuje rozložení dotazu na pod-dotazy a jejich odeslání do příslušných individuálních pipeline. Agent produkuje pod-dotazy pro všechny položky, jako je rok v tomto případě, a odesílá je do jejich příslušných znalostních základen.
  • Použití nástrojů: Jazykový model komunikuje s API nebo externím nástrojem, vědouce, co to znamená, na které platformě by se mělo komunikovat, a kdy by to bylo nezbytné. Příklad: Pokud uživatel požaduje předpověď počasí pro určitý den, LLM komunikuje s počasí API, identifikuje umístění a datum, a poté analyzuje návrat z API, aby poskytlo správné informace.
  • ReAct je iterativní proces myšlení a jednání spojený s plánováním, používáním nástrojů a pozorováním.
    Například pro návrh koncepce dovolené bude systém zohledňovat požadavky uživatele a načte podrobnosti o trase, turistických atrakcích, restauracích a ubytování voláním API. Poté systém zkontroluje výsledky ve vztahu k přesnosti a relevanci, produkuje podrobný cestovní plán relevantní pro uživatelský prompt a harmonogram.
  • Plánování dynamického dotazu: Místo toho, aby se prováděly sekvenčně, agent provede několik akcí nebo pod-dotazů současně a poté agreguje tyto výsledky.
    Například, pokud chcete porovnat finanční výsledky dvou společností a určit rozdíl v některých metrikách, agent zpracuje data pro obě společnosti paralelně, než agreguje zjištění; LLMCompiler je jeden takový rámec, který vede k takové efektivní orchestraci paralelního volání funkcí.

Agentic RAG a LLMaIndex

LLMaIndex představuje velmi efektivní implementaci RAG pipeline. Knihovna jednoduše vyplňuje chybějící kus v integraci strukturovaných organizačních dat do generativních modelů AI, poskytujících pohodlí pro nástroje při zpracování a získávání dat, stejně jako rozhraní pro různé zdroje dat. Hlavní součásti LlamaIndex jsou popsány níže.

LlamaParse analyzuje dokumenty.

Llama Cloud pro firemní služby s RAG pipeline nasazenými s minimálním množstvím manuálního úsilí.

Používáním více LLM a vektorového úložiště poskytuje LlamaIndex integrovaný způsob, jak stavět aplikace v Pythonu a TypeScript s RAG. Jeho charakteristiky činí z něj velmi žádanou páteřní síť pro společnosti, které chtějí využít AI pro vylepšené datové rozhodování.

Klíčové součásti Agentic RAG implementace s LLMaIndex

Podívejme se blíže na některé ze složek agentic RAG a na to, jak jsou implementovány v LlamaIndex.

1. Použití nástrojů a směrování

Směrovací agent vybírá, který LLM nebo nástroj je nejlepší pro danou otázku, na základě typu promptu. To vede k kontextově citlivým rozhodnutím, jako je zda uživatel chce přehled nebo podrobné shrnutí. Příklady takových přístupů jsou Router Query Engine v LlamaIndex, který dynamicky vybírá nástroje, které maximalizují odpovědi na dotazy.

2. Dlouhodobé uchování kontextu

Zatímco nejvýznamnější úloha paměti je uchovat kontext po několik interakcí, na rozdíl od toho, agenti vybavení pamětí v agentic variantě RAG zůstávají neustále vědomi interakcí, které vedou k koherentním a kontextově bohatým odpovědím.

LlamaIndex také zahrnuje chatovací engine, který má paměť pro kontextové konverzace a jednorázové dotazy. Aby se zabránilo přetečení kontextového okna LLM, taková paměť musí být pod přísnou kontrolou během dlouhých diskusí a zredukována na shrnutou formu.

3. Pod-dotazové motory pro plánování

Často je nutné rozložit složitý dotaz na menší, zvladatelné úkoly. Pod-dotazový motor je jednou z hlavních funkcí, pro kterou se LlamaIndex používá jako agent, při kterém je velký dotaz rozdělen na menší, provedeny sekvenčně a poté kombinovány, aby vytvořily koherentní odpověď. Schopnost agentů prozkoumat několik aspektů dotazu krok za krokem představuje koncept vícekrokového plánování oproti lineárnímu.

4. Reflexe a korekce chyb

Reflexivní agenty produkují výstup, ale poté kontrolují kvalitu tohoto výstupu, aby provedly korekce, pokud je to nutné. Tato dovednost je zásadní pro zajištění přesnosti a toho, aby to, co vyšlo, bylo tím, co bylo zamýšleno osobou. Díky samo-reflexivnímu workflow LlamaIndex agent přezkoumá svou výkonnost buď opakovaným pokusem nebo úpravou aktivit, které nesplňují určitou úroveň kvality. Ale protože je samo-korekční, Agentic RAG je somewhat spolehlivý pro ty firemní aplikace, ve kterých je spolehlivost zásadní.

5. Komplexní agentic myšlení:

Stromová explorace se uplatňuje, když agenty musí prozkoumat řadu možných cest, aby dosáhly něčeho. Na rozdíl od sekvenčního rozhodování umožňuje stromové uvažování agentovi zvažovat mnohé strategie najednou a vybrat nejperspektivnější na základě kritérií aktualizovaných v reálném čase.

LlamaCloud a LlamaParse

S jeho rozsáhlou řadou spravovaných služeb navržených pro firemní kontext augmentace v rámci LLM a RAG aplikací je LlamaCloud velkým skokem v prostředí LlamaIndex. Tento řešení umožňuje inženýrům AI soustředit se na vývoj klíčové obchodní logiky snížením komplexního procesu zpracování dat.

Další analytický engine dostupný je LlamaParse, který se pohodlně integruje s ingestními a vyhledávacími pipeline v LlamaIndex. To představuje jednu z nejdůležitějších součástí, které zpracovávají složité, polostrukturované dokumenty s vloženými objekty, jako jsou tabulky a obrázky. Další důležitou stavební jednotkou je spravované ingestování a vyhledávací API, které poskytuje řadu způsobů, jak snadno načíst, zpracovat a uložit data z velké množiny zdrojů, jako je centrální úložiště dat LlamaHub nebo výstupy LlamaParse. Kromě toho podporuje různé integrace úložišť dat.

Závěr

Agentic RAG představuje posun v zpracování informací tím, že zavádí více inteligence do samotných agentů. Ve mnoha situacích lze agentic RAG kombinovat s procesy nebo různými API, aby se dosáhlo přesnějšího a rafinovanějšího výsledku. Například v případě shrnutí dokumentů by agentic RAG vyhodnotil účel uživatele před vytvořením shrnutí nebo porovnáním specifik. Při poskytování zákaznické podpory může agentic RAG přesně a individuálně reagovat na stále složitější dotazy zákazníků, a to nejen na základě svého tréninkového modelu, ale také na základě dostupné paměti a externích zdrojů. Agentic RAG zdůrazňuje posun od generativních modelů k více rafinovaným systémům, které využívají jiné typy zdrojů, aby dosáhly robustního a přesného výsledku. Avšak jelikož jsou generativní a inteligentní, jak jsou nyní, tyto modely a Agentic RAG jsou na cestě k vyšší efektivitě, protože se do pipeline přidává stále více dat.

Chaitanya Pathak je zkušený technologický manažer se specializací na produktizaci Generative AI. S více než desetiletou zkušeností v podnikovém softwaru a produktovém managementu v současné době působí jako Chief Product and Technology Officer ve společnosti LEAPS by Analyttica. Chaitanya vyvinul komplexní rámec, který je v současné době patentován, a který mění technologie AI na škálovatelné, tržně připravené produkty napříč několika odvětvími, umožňující produktovým a technologickým lídrům dodávat smysluplný dopad.