Jednoduchá technika činí paměť RAG ~32x efektivnější! - Perplexity jej používá ve svém vyhledávacím indexu - Azure ho používá ve svém vyhledávacím kanálu - HubSpot jej používá ve svém asistentovi AI Pojďme pochopit, jak jej použít v systémech RAG (s kódem):
Dnes vytvoříme systém RAG, který se dotazuje 36M+ vektorů za <30 ms pomocí binární kvantizace. Technologický zásobník: - @llama_index pro orchestraci - @milvusio jako vektorová DB - @beam_cloud pro nasazení bez serveru - @Kimi_Moonshot Kimi-K2 jako LLM hostovaný na Groq Pojďme to postavit!
Zde je pracovní postup: - Ingestovat dokumenty a generovat binární vložení. - Vytvořte binární vektorový index a uložte vnoření do vektorové databáze. - Načtěte dokumenty top-k podobné dotazu uživatele. - LLM generuje odpověď na základě dalšího kontextu. Pojďme to implementovat!
0️⃣ Nastavení Groq Než začneme, uložte svůj klíč Groq API do souboru .env a načtěte jej do svého prostředí, abyste mohli využívat nejrychlejší inferenci AI na světě. Zkontrolujte toto 👇
1️⃣ Načíst data Naše dokumenty přijímáme pomocí nástroje pro čtení adresářů LlamaIndex. Dokáže číst různé datové formáty včetně Markdown, PDF, dokumentů Word, PowerPoint decků, obrázků, zvuku a videa. Zkontrolujte toto 👇
2️⃣ Generování binárních vložení Dále vygenerujeme vkládání textu (v float32) a převedeme je na binární vektory, což má za následek 32x snížení paměti a úložiště. Tomu se říká binární kvantování. Zkontrolujte tuto implementaci 👇
3️⃣ Vektorové indexování Po dokončení naší binární kvantizace uložíme a indexujeme vektory ve vektorové databázi Milvus pro efektivní vyhledávání. Indexy jsou specializované datové struktury, které pomáhají optimalizovat výkon operací načítání dat. Zkontrolujte toto 👇
4️⃣ Načítání Ve fázi vyhledávání: - Vložte uživatelský dotaz a aplikujte na něj binární kvantizaci. - Použijte Hammingovu vzdálenost jako metriku vyhledávání pro porovnání binárních vektorů. - Načtěte 5 nejpodobnějších chunků. - Přidejte načtené chunky do kontextu. Zkontrolujte toto👇
5️⃣ Generace Nakonec vytvoříme generační pipeline pomocí instrukčního modelu Kimi-K2, který společnost Groq poskytuje na nejrychlejší inferenci AI. Dotaz i načtený kontext specifikujeme v šabloně výzvy a předáme ji do LLM. Zkontrolujte toto 👇
6️⃣ Nasazení pomocí aplikace Beam Beam umožňuje ultra rychlé nasazení jakéhokoli pracovního postupu AI bez serveru. Proto naši aplikaci zabalíme do rozhraní Streamlit, určíme knihovny Pythonu a výpočetní specifikace pro kontejner. Nakonec aplikaci nasadíme v několika řádcích kódu👇
7️⃣ Spusťte aplikaci Beam spustí kontejner a nasadí naši zjednodušenou aplikaci jako server HTTPS, ke kterému lze snadno přistupovat z webového prohlížeče. Podívejte se na tuto ukázku 👇
Abychom skutečně posoudili rozsah a rychlost odvozování, otestujeme nasazené nastavení nad datovou sadou PubMed (36M+ vektorů). Naše aplikace: - dotazováno 36M+ vektorů za <30ms. - vygeneroval odpověď v <1s. Podívejte se na tuto ukázku👇
Hotový! Právě jsme vytvořili nejrychlejší RAG stack využívající BQ pro efektivní vyhledávání a pomocí ultrarychlého bezserverového nasazení našeho pracovního postupu AI. Zde je pracovní postup opět pro vaši referenci 👇
To je konec! Pokud vám to připadalo užitečné, sdílejte to znovu se svou sítí. Najdi mě → @_avichawla Každý den sdílím návody a postřehy o DS, ML, LLM a RAG.
Avi Chawla
Avi Chawla4. 8. 14:33
Jednoduchá technika činí paměť RAG ~32x efektivnější! - Perplexity jej používá ve svém vyhledávacím indexu - Azure ho používá ve svém vyhledávacím kanálu - HubSpot jej používá ve svém asistentovi AI Pojďme pochopit, jak jej použít v systémech RAG (s kódem):
695,79K