INTEGRITY Dokumentace

Generování rozšířené vyhledáváním (RAG)

Retrieval-Augmented Generation (RAG) je přístup ve zpracování přirozeného jazyka, který kombinuje mechanismy vyhledávání s generativními modely a tím zlepšuje generování textu.

Zapojením externích znalostí z existujících zdrojů řeší RAG problém generování kontextově relevantního a informativního textu. Díky této integraci dokáže RAG překonat omezení tradičních generativních modelů tím, že vygenerovaný text ukotví ve faktických informacích a kontextu. Cílem RAG je vyřešit problém přehlcení informacemi tím, že do generovaného textu efektivně vyhledává a zapojuje jen ty nejrelevantnější informace, což vede k lepší soudržnosti a přesnosti. RAG tak celkově představuje významný pokrok v oblasti NLP a nabízí robustnější a kontextově citlivější přístup ke generování textu.

Příkladem použití této techniky jsou třeba chatboti zákaznické podpory, kteří k zodpovídání dotazů využívají znalostní bázi.

V kontextu Retrieval-Augmented Generation (RAG) znamená knowledge seeding začlenění externích informací z existujících zdrojů do generativního procesu, zatímco querying označuje mechanismus, kterým se z těchto zdrojů získávají relevantní znalosti pro generování souvislého a kontextově přesného textu. Oba postupy jsou znázorněny níže.

Naplnění znalostní báze

Obrázek 1: Naplnění znalostní báze
Obrázek 1: Naplnění znalostní báze
  1. Klientské nahrání: Odeslání POST požadavku s dokumenty na API endpoint.
  2. Zpracování vstupu: Zpracování příchozího požadavku pomocí Workers a odesílat zprávy do Queues a zvyšovat frontu zpracování.
  3. Dávkové zpracování: Použijte Queues ke spuštění spotřebitel které zpracovávají vstupní dokumenty po dávkách, aby se zabránilo přetížení navazujících systémů.
  4. Generování embeddingů: Generování embedding vektorů voláním Workers AI textové embedding modely pro dokumenty.
  5. Vektorové úložiště: Vložení embedding vektorů do Vectorize.
  6. Úložiště dokumentů: Vložení dokumentů do D1 pro trvalé úložiště.
  7. Mechanismus Ack/Retry: Signalizace úspěchu nebo chyby pomocí Queues Runtime API ve spotřebiteli pro každý dokument. Queues naplánuje v případě potřeby opakované pokusy.

Znalostní dotazy

Obrázek 2: Znalostní dotazy
Obrázek 2: Znalostní dotazy
  1. Klientský dotaz: Odeslání GET požadavku s dotazem na API endpoint.
  2. Generování embeddingů: Generování embedding vektorů voláním Workers AI textové embedding modely pro příchozí dotaz.
  3. Vektorové vyhledávání: Dotaz na Vectorize pomocí vektorové reprezentace dotazu k načtení souvisejících vektorů.
  4. Vyhledávání dokumentů: Načtení souvisejících dokumentů z D1 na základě výsledků vyhledávání z Vectorize.
  5. Generování textu: Předání původního dotazu i načtených dokumentů jako kontextu do Workers AI modely pro generování textu ke generování odpovědi.