Retrieval Augmented Generation (RAG)

Jak vytvořit systém RAG v make.com

Retrieval Augmented Generation (RAG) je často využívaný vzor při vytváření AI automatizací a aplikací. Tento článek vám ukáže, jak si vlastní RAG systém vytvořit.

Co je RAG a proč je užitečný?

  • Definice: RAG (rozšířené generování vyhledáváním) umožňuje velkým jazykovým modelům (LLM) odkazovat na externí informace.
  • Proč jej potřebujeme?
    • Kontextová okna jazykových modelů, jako je chat GPT, mají omezenou kapacitu.
    • Například jedno nebo dvě PDF mohou být zpracovány přímo, ale 100 nebo 200 souborů už ne.
  • Princip fungování:
    • Dokumenty jsou rozděleny na menší části (chunky), které se přemění na vektory (embeddingy).
    • Při dotazu se vyhledají pouze relevantní chunky, které se přidají do vstupu modelu.

Kdy použít RAG?

  1. Otázky a odpovědi:
    • Například u zákaznické podpory, kde se hledají informace ve znalostní bázi.
    • Model na základě nalezených chunků generuje odpovědi.
  2. Chat s PDF:
    • Umožňuje interakci s obsahem PDF bez nutnosti číst celý dokument.
    • Malá PDF mohou být zpracována přímo, ale větší dokumenty vyžadují RAG.
  3. Další výhody:
    • Snižuje náklady (méně tokenů).
    • Zkracuje dobu odezvy modelu (nižší latence).

Postup vytvoření systému RAG v make.com

  1. Příprava znalostní báze

    • Vyberte dokumenty, které chcete zahrnout (např. PDF „AI Automation at Work“ od McKinsey).
    • Použijte nástroj Dumpling AI:
      • Vytvořte novou znalostní bázi (např. „Automation Resources“).
      • Nahrajte PDF, které Dumpling AI rozdělí na chunky a vytvoří embeddingy.
    • Otestujte znalostní bázi dotazem, např. „Jaké je pořadí USA v investicích do AI?“
  2. Vyhledání relevantních chunků v make.com

    • Použijte modul „Search Knowledgebase“:
      • Zadejte ID znalostní báze a vyhledávací dotaz.
      • Nastavte počet výsledků (např. 5).
      • Modul vrátí chunky s hodnocením relevance.
  3. Generování odpovědi pomocí LLM

    • Předejte chunky a otázku do jazykového modelu (např. GPT).
    • Použijte modul pro chat completion:
      • Agregujte chunky do textového řetězce.
      • Vytvořte promyšlený systémový prompt (např. „Odpověz na otázku na základě poskytnutých referencí“).
      • Vstupy propojte s modulem a spusťte generování odpovědi.
  4. Vytvoření interaktivního front-endu (volitelné)

    • Chat s PDF přes e-mail:
      • Nastavte e-mailový háček, který aktivuje automatizaci při přijetí e-mailu.
      • Aktualizujte dotaz a vstupy podle obsahu e-mailu.
      • Odpověď modelu odešlete zpět uživateli.

Další využití RAG

  • Obsahová tvorba:
    • Umožňuje nový obsah navázat na stávající znalosti (např. u blogů).
  • Marketing:
    • Efektivní využití existujícího obsahu pro generování nových kampaní.

Tento přístup nejen usnadňuje práci s velkými objemy dat, ale také optimalizuje náklady a výkon. Máte-li jakékoli dotazy, zanechte je v komentářích.

Obecné jazykové modely lze jemně vyladit k řešení několika běžných úloh, jako je analýza sentimentu a rozpoznávání pojmenovaných entit. Tyto úlohy obecně nevyžadují další znalosti na pozadí.

Pro složitější a znalostně náročnější úlohy je možné vytvořit systém založený na jazykovém modelu, který k dokončení úloh přistupuje k externím zdrojům znalostí. To umožňuje větší věcnou konzistenci, zvyšuje spolehlivost generovaných odpovědí a pomáhá zmírnit problém „halucinací“.

Výzkumníci Meta AI představili metodu nazvanou Retrieval Augmented Generation (RAG), která řeší takovéto znalostně náročné úlohy. RAG kombinuje komponentu vyhledávání informací s modelem generování textu. RAG lze jemně dolaďovat a jeho vnitřní znalosti lze efektivně upravovat bez nutnosti přeškolení celého modelu.

RAG přijímá vstupní data a vyhledává množinu relevantních/podporujících dokumentů zadaných zdrojem (např. Wikipedií).

Dokumenty jsou spojeny jako kontext s původní vstupní výzvou a předány generátoru textu, který vytvoří konečný výstup. Díky tomu je RAG adaptabilní pro situace, kdy se fakta mohou v průběhu času vyvíjet. To je velmi užitečné, protože parametrické znalosti LLM jsou statické. RAG umožňuje jazykovým modelům obejít přeškolení, což umožňuje přístup k nejnovějším informacím pro generování spolehlivých výstupů prostřednictvím generování na základě vyhledávání.

VM