RAG vs. LLM: Technické rozebrání (definice, rozdíly, případy použití)

RAG a LLM nejsou konkurenční volby: tento rozbor vysvětluje, jak každý z nich funguje, jak se liší a kdy samotné LLM stačí, versus kdy je potřeba vyhledávání.

Diagram comparing an LLM-only flow (input, LLM, output) with a RAG flow, where the input is exchanged with an external data source before reaching the LLM.

LLM generují odpovědi pomocí parametrů naučených ze vzorů v trénovacích datech. Protože tyto parametry nemusí odrážet nedávné nebo úplné informace, RAG, což je zkratka pro retrieval-augmented generation, doplňuje proces tím, že do vstupního kontextu LLM přidává data z externích zdrojů. Nástroj AI vyhledává externí informace, aby rozšířil proces generování LLM.

Ve skutečnosti není vaše volba mezi RAG a LLM. Je to volba mezi hybridním přístupem a přístupem, který používá pouze LLM.

RAG je nezbytný, když LLM vyžaduje přístup k firemní dokumentaci, databázím nebo rychle se měnícím informacím. Přístup pouze s LLM je vhodný pro určité administrativní úlohy, úlohy zpracování dat a tvorby obsahu, kde může být veškerý vstup dodán uživatelem.

RAG vs. LLM: Jaké jsou klíčové rozdíly?

  • RAG a LLM jsou vzájemně se doplňující systémy. Můžete použít model AI bez RAG (kde se spoléhá výhradně na své stávající parametry), ale nemůžete použít systém RAG bez modelu.
  • RAG byl zaveden, aby překonal tři klíčové problémy LLM: zastaralé informace, halucinované odpovědi a nedostatek ověření vůči zdrojům třetích stran.
  • RAG činí AI mnohem efektivnější v reálných obchodních situacích, protože propojuje LLM s ověřenou interní dokumentací, databázemi a koncovými body API.
  • Mezi hlavní případy použití RAG patří chatboti zákaznické podpory, dotazy založené na rychle se měnících datech (například zpravodajství z oboru) a specializované obory, jako je medicína a právo, kde je důležitá přesnost a ověřování faktů ze zdrojů.
  • Existují tři hlavní typy RAG: naivní RAG, modulární RAG a pokročilý RAG. Naivní RAG lze nejlépe chápat jako přímočaré vyhledávání informací, zatímco modulární a pokročilý RAG přidávají další funkcionalitu, jako je přepis dotazu a optimalizace segmentů.

Co je velký jazykový model (LLM)?

LLM neboli velký jazykový model je systém, který generuje obsah pomocí jemně vyladěných parametrů. Tyto parametry určují pravděpodobnosti přiřazené všem tokenům ve slovní zásobě LLM, což ukazuje, který token je v dané sekvenci s největší pravděpodobností na řadě.

Abychom lépe porozuměli tomu, jak RAG funguje (a v čem se liší od) LLM, je užitečné podívat se na to, jak generativní AI funguje na základní úrovni:

  1. Tokenizace: Prompt uživatele se rozdělí na tokeny, které mohou být slova, části slov nebo jednotlivé znaky.
  2. Embedding: Tokeny se převádějí na embeddingy, tedy číselné reprezentace (řetězce čísel) zvané vektory, které neuronová síť, včetně dekodéru, dokáže zpracovat.
  3. Dekódování: Vrstvy dekodéru (které tvoří velkou část neuronové sítě LLM) manipulují s těmito vektory pomocí procesu zvaného attention , aby zachytily význam. Tento proces určuje, jak silně by měl být každý token spojen s ostatními tokeny v sekvenci.
  4. Skórování: Model přiřadí každému tokenu ve své stávající slovní zásobě pravděpodobnost shody a vybere pravděpodobný další token pro sekvenci.

Důležité je, že LLM může generovat výstupy pouze na základě svých stávajících parametrů a tokenů ve svém kontextovém okně. Během trénování je LLM bilionykrát vyzván k dokončení částí neúplného textu a jeho parametry se upravují, dokud spolehlivě nepřiřazuje tokenům pravděpodobnosti (a tím text nedokončuje).

Představte si například, že se AI modelu zeptáte: „Co říká naše firemní zásady pro vrácení zboží v roce 2026?“ LLM dokáže pouze předpovídat další tokeny na základě svých stávajících parametrů, které nebyly jemně doladěny pomocí vaší dokumentace podpory. Pokud se ho na tuto otázku zeptáte bez jakéhokoli dodatečného kontextu, jednoduše nebude schopen smysluplně odpovědět, nebo si vymyslí nesprávnou odpověď.

Co je generování s retrieval-augmented generation (RAG)?

RAG (retrieval-augmented generation) je proces, při němž jsou do promptu LLM zahrnuty informace z externích systémů.

Základní proces LLM, zahrnující embedding a pravděpodobnostní porovnávání tokenů, zůstává stejný. RAG zavádí předběžný krok, při němž je uživatelský prompt rozšířen o dodatečná data.

Tady je přehled toho, jak RAG funguje:

  1. Příprava znalostí: Připraví se zdroj znalostí. Může jím být sada dokumentů, vektorová databáze, znalostní graf nebo živý index (například pro AI search).
  2. Prompování: Uživatel zadá prompt, například: „Mám se dnes vydat na procházku v Londýně?“
  3. Vyhledávání: Externí zdroj informací je dotazován retrievery nástroje AI. Může prompt vložit do embeddingu, převést ho na vektor a poté dotázat vektorovou databázi. Alternativně může použít jinou metodu, například volání API, shodu klíčových slov nebo průchod znalostním grafem.
  4. Vložení: Tyto informace se přidají do původního promptu uživatele. V příkladu s otázkou na procházku v Londýně by sem mohly patřit informace o počasí v Londýně a aktuální dostupnosti oblíbených pěších tras.
  5. Generování odpovědi: LLM generuje odpověď obvyklým způsobem pomocí rozšířeného promptu.

V zákulisí se vyhledaný text přidá do vstupního kontextu, tokenizuje se a vloží do embeddingu. Model pak tento dodatečný kontext zpracuje prostřednictvím svého dekodéru, což změní pravděpodobnosti výstupních tokenů.

RAG lze obecně rozdělit do tří podtypů. Naivní RAG následuje základní proces RAG, vyhledává informace a předává je do promptu. Pokročilý RAG přidává další funkce, jako je přepis dotazu a více průchodů dotazem. Modulární RAG označuje typ architektury, v níž lze různé pokročilé funkcionality považovat za komponenty a podle potřeby je kombinovat.

RAG vs. LLM: Přehled případů použití

RAG poskytuje uživatelům přístup k aktuálním datům. To vede k výstupům LLM, u nichž je menší pravděpodobnost halucinací a informačních mezer. Pokud potřebujete vidět zdroje informací použitých ve výstupu, je RAG také nezbytný, protože neukotvené odpovědi LLM nepřicházejí s uvedením zdrojů.

Případy použití RAG

  • Požadavky na informace citlivé na čas: Jakékoli dotazy na informace, které rychle zastarávají, což může být cokoli od jednoduché předpovědi počasí až po podrobnou analýzu vznikající zpravodajské události, musí být založeny na ověřených zdrojích třetích stran.
  • Firemní dokumentace: Interní nebo zákaznicky orientovaní AI chatboti, u nichž uživatelé kladou otázky související s dokumentací firmy nebo produktu, by měli být zapnuti s RAG, zejména pokud se dokumentace často aktualizuje.
  • Zákaznická podpora: Zákaznické chatboty potřebují přístup k aktuální, podrobné dokumentaci podpory, aby mohly poskytovat přesné odpovědi.
  • Specializované obory (medicína, právo, finance atd.): LLM, které nebyly trénovány na oborově specifických korpusech (zejména mainstreamové modely), obvykle bojují s nuancemi specializovaných promptů.

Případy použití LLM

  • Administrativní úlohy: LLM zvládnou základní úlohy s minimální latencí. RAG je pro základní psaní a administrativní úlohy, jako je kontrola pravopisu nebo shrnutí, kde nejsou potřeba externí informace, zbytečný.
  • Kreativní úlohy: Některé kreativní úlohy, jako je generování krátkého příběhu nebo obrázku, potřebují pouze informace poskytnuté v původním promptu.
  • Úlohy vyžadující uvažování a práci s daty: Analytické a uvažovací pracovní postupy, které odkazují pouze na data poskytnutá v promptu, nepotřebují schopnosti RAG.
  • Obecné programování: Ačkoli pracovní postup programování může vyžadovat přístup k privátní kódové základně nebo dokumentaci, LLM jsou velmi schopné při provádění obecných programátorských úloh, jako je oprava chyb a vytváření funkcí, bez využití externích zdrojů.

RAG vs. LLM s dlouhým kontextem, agentní AI a grounding

Existují tři související pojmy, které jsou relevantní pro rozdíl mezi RAG a LLM. Jsou to LLM s dlouhým kontextem, agentní AI a grounding.

LLM s dlouhým kontextem lze někdy použít místo systémů s RAG, zatímco agentní AI a grounding jsou s nimi synonymní nebo s nimi fungují souběžně.

LLM s dlouhým kontextem

Jde o modely s velkými kontextovými okny, přičemž některé široce dostupné komerční modely pracují až s jedním milionem tokenů.

Pokud se relevantní materiál vejde do kontextového okna modelu a je dostupný v textovém formátu, má použití přístupu pouze s LLM několik výhod. Může snížit pravděpodobnost chyb při vyhledávání, poskytnout komplexnější kontext a odstranit potřebu rozsáhlého nastavení architektury RAG.

Agentní AI

Agent je systém, který využívá více nástrojů, včetně schopností RAG, k provádění složitých úloh. RAG je jednou ze součástí agentní AI a agent často používá různé typy metod vyhledávání (např. webové vyhledávání vs. vektorové vyhledávání) podle obsahu promptu.

Uzemnění

Grounding označuje širší proces využívání důkazů nebo dat ke zlepšení přesnosti odpovědi LLM (nebo k jejímu ukotvení). RAG je jednou z forem groundingu, ale za grounding by se považovalo i přidání technického dokumentu do kontextového okna.

RAG vs. LLM: Příklady z reálného světa

Abychom lépe porozuměli tomu, jak RAG funguje ve srovnání s použitím LLM bez RAG, můžeme se podívat na jednoduchý příklad z reálného světa s použitím Perplexity a hypotetický podnikový případ, kde se konzultuje vektorová databáze.

RAG vs. LLM s jednoduchým promptem

Tady je výstup (omezený na dvě věty), když je Perplexity položena otázka „Mám se dnes vydat na procházku v Londýně?“ s vypnutým AI webovým vyhledáváním (formou RAG):

Ano — pokud je počasí přiměřeně suché a máte čas, procházka Londýnem dnes by mohla být osvěžující změnou prostředí. Vyberte si trasu podél South Bank, Regent’s Canal nebo přes Hyde Park a pro jistotu si vezměte lehkou nepromokavou vrstvu.

Porovnejte to s promptem, když může LLM kontrolovat externí zdroje:

Ano, je to dobrý den na procházku v Londýně: předpověď hlásí mírné teploty kolem 19–21 °C se slunečnými intervaly a jen velmi nízkou pravděpodobností deště. Při oblačnosti s protrháváním a mírném vánku jsou podmínky příjemné pro procházky po parcích nebo trasách podél řeky, jako je South Bank.

Mezi oběma příklady jsou podobnosti, protože LLM používá stejný základní proces skórování tokenů. Druhý příklad však obsahuje podrobné informace o počasí, což jej činí mnohem užitečnějším.

RAG vs. LLM s podnikovou vektorovou databází

Představte si, že se uživatel zeptá chatbota v aplikaci pro bankovnictví na následující otázku: „Kde si mohu stáhnout svůj nejnovější výpis?“

Banka, která aplikaci spravuje, vytvořila databázi obsahující embeddingy své aktuální produktové dokumentace a napojila ji na RAG pipeline chatbota. Dokumentace se skládá z přibližně 1 000 zdrojových dokumentů, které jsou rozděleny na menší segmenty a byly převedeny na vektory pro vyhledávání.

Uživatelský dotaz je odeslán do embeddingového modelu a aplikace odešle tento vektor do databáze, která vrátí relevantní segmenty.

Embeddingový model by obdržel požadavek, jako je tento:

json
{ "input": "Where can I download my most recent statement?" }

Embeddingový model vrací následující vektorový embedding:

json
{ "embedding": [0.12, -0.44, 0.87, 0.31] }

Vektorová databáze pak obdrží požadavek podobný následujícímu:

json
{ "vector": [0.12, -0.44, 0.87, 0.31], "top_k": 5 }

V tomto (mnohem zjednodušeném) příkladu databáze vrací pět segmentů, které jsou pro uživatelův dotaz nejrelevantnější, a ty jsou odeslány do aplikace a zahrnuty do promptu LLM.

Kdy zvolit RAG vs. LLM a kdy je kombinovat

LLM a RAG jsou vzájemně se doplňující systémy. Otázka „Kdy mám zvolit LLM a kdy RAG?“ je tedy položená nesprávně. Měli byste se spíše ptát: „Kdy bude LLM dostačující a kdy je RAG optimální?“

Kdy použít LLM bez zapnutého RAG

  • Váš zvolený model AI má velké kontextové okno: Pokud je snazší zahrnout do promptu veškeré informace nebo data potřebná pro přesnou odpověď, například nahráním dokumentu, může to snížit latenci a předejít problémům souvisejícím s vyhledáváním.
  • Pracovní postupy uvažování a analýzy dat: Analytické a uvažovací pracovní postupy, které odkazují pouze na data poskytnutá v promptu, nepotřebují schopnosti RAG.
  • Generování kódu: RAG obvykle není potřeba pro obecné programátorské práce, i když se obvykle používá pro úlohy specifické pro daný projekt, například při vyhledávání předchozích oprav nebo rozhraní a dokumentace dodavatelů.

Kdy použít LLM se zapnutým RAG

  • Vyžadujete přístup k aktuálním informacím: Pokud AI aplikace potřebuje přistupovat k externím zdrojům aktuálních informací, aby mohla generovat přesnou odpověď, vždy zajistěte, aby byly zapnuté schopnosti RAG.
  • Pracujete ve specializovaném oboru: V doménách jako medicína, právo, vzdělávání a podobně, kde je důležitá přesnost, detail a kontrola zdrojů, bude samotné použití LLM často nedostatečné.
  • Výstupy by měly odkazovat na interní firemní soubory: Pokud používáte AI, interně nebo v aplikaci určené zákazníkům, ke generování obsahu založeného na interních firemních dokumentech, ať už jde o data, značkový kit, dokumentaci nebo soubory, RAG poskytuje přístup k těmto informacím.

RAG a LLM jsou vzájemně se doplňující, vyvíjející se technologie

RAG znamenal zásadní inovaci ve vývoji AI. Řeší tři hlavní problémy: zastaralé informace, omezenou paměť modelu a informační mezery způsobené nedostatkem relevantních trénovacích dat, což často vedlo k halucinacím. LLM tyto problémy samozřejmě zcela nepřekonaly, ale jejich výskyt se s příchodem RAG výrazně snížil.

RAG není statická technologie. Očekává se, že se zlepší v celé řadě oblastí, včetně rerankingu, latence při vyhledávání a využití tokenů, bezpečnostních obran proti nebezpečným zdrojům dat, integrace vyhledaných dat z více zdrojů a dalších. S tím, jak se budou dál vyvíjet LLM a agentní AI, budou se vyvíjet i systémy RAG, které je podporují.