← Cloudflare Vectorize / vectorize / examples
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
- Klientské nahrání: Odeslání POST požadavku s dokumenty na API endpoint.
- 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í.
- 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ů.
- Generování embeddingů: Generování embedding vektorů voláním Workers AI textové embedding modely pro dokumenty.
- Vektorové úložiště: Vložení embedding vektorů do Vectorize.
- Úložiště dokumentů: Vložení dokumentů do D1 pro trvalé úložiště.
- 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
- Klientský dotaz: Odeslání GET požadavku s dotazem na API endpoint.
- Generování embeddingů: Generování embedding vektorů voláním Workers AI textové embedding modely pro příchozí dotaz.
- Vektorové vyhledávání: Dotaz na Vectorize pomocí vektorové reprezentace dotazu k načtení souvisejících vektorů.
- Vyhledávání dokumentů: Načtení souvisejících dokumentů z D1 na základě výsledků vyhledávání z Vectorize.
- 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.