Sdílet prostřednictvím


RAG (generování s podporou vyhledávání) v Azure Databricks

Generování rozšířeného načítání (RAG) je výkonná technika, která kombinuje velké jazykové modely (LLM) s načítáním dat v reálném čase za účelem generování přesnějších, up-to-date a kontextově relevantních odpovědí.

Tento přístup je zvláště cenný pro odpovědi na otázky týkající se proprietárních informací, často se měnících informací nebo informací specifických pro doménu.

Co je generování podpořené načítáním?

V nejjednodušší podobě agent RAG provede následující akce:

  1. Načtení: Požadavek uživatele se používá k dotazování na vnější znalostní bázi, jako je úložiště vektorů, vyhledávání klíčových slov nebo databáze SQL. Cílem je získat data, která podpoří odpověď LLM.
  2. Rozšíření: Podpůrná data se kombinují s požadavkem uživatele, často pomocí šablony s dalším formátováním a pokyny pro LLM, aby se vytvořil podnět.
  3. Generování: Výzva se předá LLM, aby vygenerovala odpověď na žádost uživatele.

Průběh aplikace RAG od požadavku uživatele, přes načítání dat, až po odpověď.

Výhody RAG

RAG vylepšuje LLM následujícími způsoby:

  • Proprietární znalosti: RAG může obsahovat proprietární informace, které se zpočátku nepoužívají k trénování LLM, jako jsou memo, e-maily a dokumenty pro zodpovězení otázek specifických pro doménu.
  • Aktuální informace: Aplikace RAG může poskytnout LLM informacemi z aktualizované znalostní báze.
  • Citace zdrojů: RAG umožňuje LLM citovat konkrétní zdroje, což uživatelům umožňuje ověřit faktickou přesnost odpovědí.
  • seznamy zabezpečení dat a řízení přístupu (ACL): Krok načítání lze navrhnout tak, aby selektivně načítal osobní nebo proprietární informace na základě přihlašovacích údajů uživatele.

Součásti RAG

Typická aplikace RAG zahrnuje několik fází:

  1. Datový kanál: Předběžné zpracování a indexování dokumentů, tabulek nebo jiných dat pro rychlé a přesné načítání.

  2. RAG řetěz (vyhledání, rozšíření, generování): Sestavení série (nebo řetězu) kroků k:

    • Porozumíte otázce uživatele.
    • Načtení podpůrných dat
    • Rozšiřte výzvu o podpůrná data.
    • Vygenerujte odpověď z LLM pomocí rozšířené výzvy.
  3. Vyhodnocení a monitorování: Posouzením aplikace RAG určíte jeho kvalitu, náklady a latenci, abyste zajistili, že splňuje vaše obchodní požadavky.

  4. Zásady správného řízení a LLMOps: Sledování a správa životního cyklu jednotlivých komponent, včetně rodokmenu dat a řízení přístupu.

Diagram komponent aplikace RAG

Typy dat RAG: strukturovaná a nestrukturovaná

Architektura RAG může pracovat s nestrukturovanými nebo strukturovanými podpůrnými daty. Data, která používáte s RAG, závisí na vašem případu použití.

Nestrukturovaná data: Data bez konkrétní struktury nebo organizace

  • Soubory PDF
  • Dokumenty Google nebo Office
  • wiki
  • Obrázky
  • Videa

strukturovaná data: tabulková data uspořádaná do řádků a sloupců s určitým schématem, jako jsou tabulky v databázi.

  • Záznamy zákazníků v systému BI nebo datového skladu
  • Transakční data z databáze SQL
  • Data z rozhraní API aplikací (např. SAP, Salesforce atd.)

Vyhodnocení a monitorování

Vyhodnocení a monitorování vám pomůže určit, jestli vaše aplikace RAG splňuje vaše požadavky na kvalitu, náklady a latenci. Vyhodnocení probíhá během vývoje, zatímco monitorování probíhá po nasazení aplikace do produkčního prostředí.

RAG nad nestrukturovanými daty má mnoho komponent, které mají vliv na kvalitu. Změny formátování dat můžou například ovlivnit načtené bloky dat a schopnost LLM generovat relevantní odpovědi. Proto je důležité kromě celkové aplikace vyhodnotit i jednotlivé komponenty.

Další informace naleznete v tématu Hodnocení agenta AI systému Mosaic (MLflow 2).

RAG v Databricks

Databricks nabízí kompletní platformu pro vývoj RAG, včetně následujících:

Další kroky