9 příkladů RAG založených na reálných případech použití a architekturách

Prozkoumejte devět reálných příkladů RAG, od webového vyhledávání a zákaznické podpory až po agentský obchod a analýzu dat, včetně architektur, které za nimi stojí.

Diagram of how RAG works: a user prompt goes through a grounding check, a retrieval request to an external source, context augmentation, and LLM answer generation.

RAG se široce používá v konsumentském i firemním prostředí. Mezi reálné, každodenní příklady RAG patří vyhledávání na webu, zákaznická podpora a nakupování s podporou AI. Přístup k interním znalostem a asistence při kódování patří mezi nejvýznamnější firemní příklady.

Architektura RAG se může lišit také napříč jednotlivými případy použití. Dvěma nejčastějšími implementacemi jsou hybridní RAG, který kombinuje tradiční porovnávání klíčových slov s vyhledáváním pomocí vektorů nebo znalostních grafů, a agentský RAG, u kterého proces načítání řídí LLM.

Co je generování rozšířené o vyhledávání (RAG)?

RAG neboli generování rozšířené o vyhledávání umožňuje aplikacím AI přistupovat k informacím uloženým v externích systémech a doplňovat tak odpovědi generované modely LLM.

Jedná se o výkonnou technologii, protože řeší tři hlavní problémy generativní AI: halucinace, zastaralé informace a nedostatek přístupu k datům, která nejsou součástí vstupního kontextu.

Základní proces RAG vypadá následovně:

  1. Uživatel zadá prompt v přirozeném jazyce.
  2. Aplikace AI určuje, zda je vyžadováno ověření, někdy za účasti LLM.
  3. Na externí zdroj informací, například databázi, je odeslán požadavek.
  4. Načtené informace jsou přidány do vstupního kontextu modelu LLM.
  5. LLM vygeneruje odpověď na základě obohaceného promptu.

Ačkoli se mohou konkrétní implementací lišit, tyto kroky představují typický pracovní postup RAG. Rozdíly mezi jednotlivými typy architektury obvykle spočívají v tom, jak klientská aplikace zpracovává požadavky, a v povaze načítaných informací.

Přehled architektury RAG

Pojem „generování rozšířené o vyhledávání“ se poprvé objevil v roce 2020 v dokumentu s názvem Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, který publikovali výzkumníci z Meta AI (tehdy Facebook AI Research) spolu s kolegy z University College London a New York University.

Rané přístupy typu „nejprve načti a pak vygeneruj“, volně označované jako „naivní RAG“, se od té doby vyvinuly v řadu různých typů architektur, z nichž mnohé se překrývají.

Naivní RAG

Naivní RAG využívá jednoduchou pipeline načítání a generování, která je stále vhodná pro mnoho základních požadavků. Nejčastějším příkladem naivního RAG je převod dotazu na seřazený seznam čísel zvaný vektorový vodorovný zápis (vektorový embedding) neboli jednoduše vektor. Vektor dotazu je následně porovnáván s jinými vektory, které představují bloky, tedy části obsahu v databázi nebo indexu (zvané sémantický index).

Pokročilý RAG

Pokročilý RAG optimalizuje fáze před a po načtení. Mezi tyto techniky patří rozšiřování dotazů, filtrování metadat a komprese kontextu. Tyto postupy v podstatě zvyšují relevanci načítaných informací a upravují způsob jejich modifikace před přidáním do vstupního kontextu LLM.

Agentský RAG

Agentský RAG představuje provádění pipeline RAG agentem založeným na LLM. Agent „rozhoduje“, které nástroje jsou pro daný prompt nejlepší, a řídí načítání – někdy i ve smyčce –, aby vygeneroval relevantní odpověď.

Grafový RAG

Grafový RAG načítá informace ze znalostního grafu, který reprezentuje entity (jako jsou objekty, koncepty a události) a vztahy mezi nimi. To se hodí v případech, kdy odpověď na prompt vyžaduje, aby LLM kombinuje informace o různých entitách.

Multimodální RAG

Multimodální RAG rozšiřuje načítání na obsah, jako jsou obrázky a zvuk, a to jak během dotazu, tak při vyhledávání. Tyto pipeline RAG využívají speciální kodéry k převodu textu, obrázků nebo zvuku na embeddingy.

Hybridní RAG

Hybridní RAG kombinuje vyhledávání podle klíčových slov (lexikální načítání) s vektorovým vyhledáváním nebo znalostními grafy a slučuje výsledky. To je užitečné, protože porovnávání klíčových slov může být v určitých kontextech vysoce přesné (více než jiné metody).

Korektivní RAG

Korektivní RAG vyhodnocuje vrácené informace nebo data z hlediska jejich relevance pro dotaz. Může zpřesnit či doplnit načtené pasáže nebo je zcela nahradit spuštěním dalšího požadavku.

Příklady RAG podle případu použití a oborové aplikace

Existuje mnoho příkladů RAG jak v oblasti spotřební, tak firemní. Je to do značné míry způsobeno tím, že pipeline RAG byly integrovány do většiny běžných nástrojů. Mnoho prodejců navíc nabízí okamžitě použitelné integrace, například pro chatbity zákaznického servisu, což usnadnilo přijetí.

1. Vyhledávání na webu

Vyhledávání na webu je jedním z nejrozšířenějších příkladů RAG. Miliony lidí denně používají nástroje AI k vytváření odpovědí založených na informacích získaných z webu.

Jak to funguje: Aplikace AI prohledává webový index, jako je index Google Search, pomocí vyhledávání založeného na klíčových slovech a sémantického načítání. Relevantní obsah stránky je zahrnut spolu s otázkou uživatele do vstupu LLM. LLM pak vygeneruje odpověď, obvykle s citacemi zdrojů.

Reálný příklad: Pokud uživatel do chatového rozhraní Perplexity zadá jednoduchý dotaz, například „Jaké je počasí v Chicagu?“, LLM provede vyhledávání na webu, aby našel aktuální informace. Perplexity využívá vlastní webový index ve spojení s partnerskými API pro vyhledávání.

2. Zákaznická podpora

Chatbity v aplikacích a na webech se objevily jako hlavní firemní případ použití RAG. Tyto systémy se obvykle propojují s tradičními cestami směrování, což snižuje potřebu zapojení zástupců zákaznické podpory.

Jak to funguje: Když se zákazník na něco zeptá, aplikace prohledá znalostní bázi společnosti, často pomocí hybridní pipeline. Načtené pasáže jsou předány do LLM, který vygeneruje odpověď. Obvykle jsou do procesu zapojeny také korektivní kroky a předání člověku (hand-off) za účelem ověření odpovědi a v případě potřeby jejího směrování na zástupce.

Reálný příklad: Různé platformy zákaznického servisu, včetně Zendesk (na obrázku níže) a Intercom, nabízejí předpřipravené chatbity zákaznické podpory, které se integrují s existující dokumentací a bázemi zákaznické podpory.

3. Osobní asistenti

Osobní asistenti využívají agentský RAG pro přístup k e-mailům, souborům a kalendáři uživatele. Tito asistenti obvykle dokážou provádět více pipeline RAG současně.

Jak to funguje: Protože osobní asistenti často vyžadují přístup k mnoha zdrojům informací, využívají kombinaci API, vyhledávání podle klíčových slov, vektorového vyhledávání a znalostních grafů. Aplikace odesílá do LLM různé popisy nástrojů a LLM pak vybere ty nejvhodnější.

Reálný příklad: Google Gemini slouží jako dobrý příklad aplikace, která může fungovat jako univerzální a osobní asistent s AI (což platí pro většina dnešních asistentů). Integruje se s ekosystémem nástrojů, jako jsou Gmail, Docs, Photos a Calendar.

4. Správa podnikových znalostí

Správa podnikových znalostí umožňuje zaměstnancům klást otázky napříč širokým spektrem firemních informací, včetně zásad, zpráv, projektových dokumentů, právních textů a dokonce i interních diskuzí.

Jak to funguje: Aplikace načítá relevantní obsah pomocí vektorového indexu, který se aktualizuje se změnou zdrojových dokumentů. Index obsahuje embeddingy představující bloky dokumentů s odkazy na jejich text a související metadata.

Reálný příklad: Microsoft 365 Copilot přistupuje k organizačním informacím prostřednictvím Microsoft Graph, který zpřístupňuje různá rozhraní API pro datové zdroje, a k načítání relevantního obsahu využívá lexikální a sémantické indexy.

5. Asistenti pro kódování

Asistenti pro kódování aplikují RAG na kódovou základnu. I když je základní proces RAG stejný (obvykle agentský RAG), rozdíl spočívá v tom, že pracují specificky s kontextem kódu.

Jak to funguje: Asistenti pro kódování indexují lokální projektové soubory a provádějí vícenásobná vyhledávání, aby po zadání výzvy našli relevantní úlomky kódu. Tito asistenti obvykle disponují také vyhrazenými konektory pro rozšíření přístupu, například kekorporátním znalostním bázím.

Reálný příklad: GitHub Copilot je známým příkladem asistenta pro kódování, který se přímo integruje s vývojovými projekty. Může také odkazovat na veřejné repozitáře GitHub pro zvýšení přesnosti odpovědí.

6. Technické odstraňování problémů

Technické odstraňování problémů integruje pipeline RAG pro správu znalostí s diagnostickou smyčkou. Agent může vyhodnocovat výsledky a podle potřeby dále zpřesňovat doporučení pro odstraňování problémů.

Jak to funguje: Aplikace shromažďuje příznaky technického problému od uživatele nebo přijímá automatizovaná upozornění z monitorování. Spustí vyhledávání chybových zpráv, technických protokolů a metrik výkonu za účelem křížové kontroly příznaků. Poté načte relevantní informace z interní znalostní báze a předá je do LLM. Diagnostická smyčka nastává, když se výsledky pokusu o opravu vrátí zpět do LLM, ať už od uživatele, nebo z diagnostického nástroje.

Reálný příklad: Platforma pro pozorovatelnost Datadog (na obrázku níže) sbírá data ze všech vrstev systému a v případě vzniku problémů na ně upozorňuje. Ty jsou pak předány specializovanému agentovi s názvem Bits AI pro vyřešení potenciálních problémů.

7. Agentský obchod

Agentský obchod (agentic commerce) je širší případ použití, který obvykle zahrnuje RAG. Nákupní agent načítá podrobnosti, jako jsou specifikace produktů, recenze, ceny a dostupnost, aby mohl porovnat možnosti a vysvětlit doporučení. Následně může automaticky provést nákup, aniž by uživatel opustil rozhraní.

Jak to funguje: Agentský obchod představuje skutečný agentský RAG, protože konkrétní dotazy často vyžadují různé formy vyhledávání, které model řídí. Agent může načíst čistě textová data o produktech prostřednictvím rozhraní API prodejce nebo může použít multimodální RAG k porovnání produktů v sémantickém indexu na základě uživatelské fotografie.

Reálný příklad: Univerzální agent, jako je Perplexity, dokáže na základě promptu načíst více obrázků a podrobné specifikace produktů. Funkce pokladny Instant Buy umožňuje uživateli dokončit nákup po výběru produktu.

8. Specializované oblasti znalostí

Nástroje AI, které načítají specializované oborové znalosti, se musí potýkat se složitými formáty obsahu. Navíc je často prioritou minimalizace halucinací a informačních mezer.

Jak to funguje: Klíčový rozdíl mezi univerzálními a specializovanými architekturami RAG se týká zdrojového materiálu a konfigurace načítání. Obvykle se vyhledává pouze ve vysoce autoritativním indexu a požadavek je konfigurován tak, aby obsahoval specifickou terminologii pro zúžení vyhledávání.

Reálný příklad: Nástroj pro akademický výzkum Scite přistupuje k rozsahlému indexu akademických prací a údajů o citacích, který byl vytvořen na základě dohod s vydavateli a zdrojů s otevřeným přístupem. Před generováním úplné odpovědi rovněž provádí kontroly po načtení, například ověření zdrojů.

9. Analýza dat

RAG pro analýzu dat se stal obzvláště mocným firemním případem použití, protože umožňuje široké škále profesionálů – zejména těm bez školení v oblasti datové vědy – dotazovat se na datové sady pomocí přirozeného jazyka. To usnadňuje vytváření přehledů a kladení vysoce specifických otázek.

Jak to funguje: U otázky jako „Proč v minulém čtvrtletí klesly tržby?“ může aplikace prohledat záznamy o prodeji a načíst poznámky o nedostatku zásob nebo změnách cen. LLM vybere pro načtená data vhodný výpočet (který je obvykle delegován na výpočetní nástroj) a teprve poté vygeneruje analýzu.

Reálný příklad: Google Analytics nabízí chatbita s AI „Ask Advisor“, který má přístup k datům webové analytiky a dokáže odpovídat na vysoce specifické a detailní dotazy uživatelů. Jde o jeden z nejlepších reálných příkladů uzavřeného systému RAG na firemní úrovni.

Co čeká vývoj RAG v budoucnu?

RAG byl při svém prvním uvedení významným počinem. Pomohl vyřešit řadu problémů vlastní samostatným modelům LLM.

Nejde však v žádném případě o statickou technologii. Současný výzkum se zaměřuje na hlubší multimodální načítání a důkladnější zpracování načteného kontextu z hlediska přesnosti a správnosti. Navíc se pravděpodobně dočkáme větší integrace RAG do agentů s více nástroji.

I s extrémně velkými kontextovými okny existují důležité případy použití RAG v osobním i profesním kontextu a mnoho inovací nás teprve čeká.