V prvním díle jsme si ukázali, jak z datového chaosu vytvořit pevné, ocelobetonové základy pro náš systém. Nyní před námi stojí další klíčové architektonické rozhodnutí. Kam tyto perfektně připravené a strukturované znalosti uložíme? Volba databáze není jen technický detail. Je to rozhodnutí, které definuje samotnou inteligenci a schopnosti vašeho budoucího AI asistenta.
Toto je druhý díl seriálu Agentní RAG chatbot, kde krok za krokem rozebírám, jak správně postavit celou architekturu a čemu se naopak vyhnout. Postupně zde najdete odkazy na všechny díly, které si časem můžete přečíst.
Knihovna vědění: Kartotéka, nebo zkušený knihovník?
Představte si, že máte tu nejlepší knihovnu na světě, plnou cenných a dokonale uspořádaných knih. Nyní se musíte rozhodnout, jak v ní budou lidé hledat informace. Máte dvě základní možnosti.
Buď jim dáte jen precizně seřazený kartotéční lístkový katalog. Bude neuvěřitelně rychlý v hledání konkrétních knih na základě klíčových slov. Ale jeho schopnosti končí u nalezení správné police.
Nebo jim k tomu přidáte i zkušeného knihovníka. Ten zná nejen každou knihu, ale i všechny skryté souvislosti mezi nimi. Ví, že kniha o bitvě u Waterloo na polici Válečná historie úzce souvisí s knihou o cukrovarnictví na polici Ekonomie, protože právě tato bitva vedla k rozvoji pěstování cukrové řepy v Evropě.
Běžné RAG systémy dnes používají jen ten kartotéční katalog. Já jako AI Architekt stavím systémy, které mají i toho zkušeného knihovníka.
Přístup 1: Specializovaná vektorová databáze
Většina firem dnes sáhne po čistě vektorové databázi, jako je Pinecone, Weaviate nebo Milvus. Jsou to skvělé nástroje, které excelují v jedné věci, v rychlém sémantickém vyhledávání.
Výhody:
- Extrémní rychlost: Jsou postaveny a optimalizovány pro jednu jedinou věc a dělají ji skvěle.
- Jednoduchost: Jejich implementace je relativně přímočará.
- Cena: Pro mnoho případů jsou nákladově efektivní.
Nevýhody:
- Slepota ke kontextu: Chápou jen sémantickou podobnost, nikoliv logické vztahy.
- Omezené možnosti dotazování: Nedokážete se jich zeptat na komplexní, vícekrokové dotazy.
Pro jednoduché chatboty, kteří mají odpovídat na často kladené dotazy, je to naprosto dostačující a správná volba. Pokud ale stavíte skutečného digitálního experta, brzy narazíte na jejich limity.
Přístup 2: Hybridní model a znalostní graf (moje volba)
Já pro své klíčové projekty volím jiný, mnohem robustnější přístup. Sázím na hybridní model, konkrétně na nativní grafovou databázi Neo4j s integrovaným vektorovým indexem. Důvod je strategický. V jedné databázi tak mám to nejlepší z obou světů.
- Rychlost a efektivitu vektorového vyhledávání.
- A zároveň hluboké kontextuální porozumění znalostního grafu.
Od textu k inteligenci: Jak vzniká znalostní graf
Jak tedy přesně tato databáze vzniká? Proces má dvě paralelní větve.
- Vytvoření kartotéky (vektorizace): Každý chunk textu, který jsme si připravili v prvním díle, proženeme embedding modelem. Ten z textu vytvoří číselný vektor, který reprezentuje jeho sémantický význam. Všechny tyto vektory uložíme do vektorového indexu v Neo4j. Toto je náš rychlý vyhledávací mechanismus.
- Vytvoření knihovníka (modelování grafu): Souběžně s tím procházíme tytéž texty a pomocí jazykového modelu z nich extrahujeme klíčové entity (jako jsou osoby, firmy, produkty, zákony) a vztahy mezi nimi. Tyto entity a vztahy uložíme do grafové struktury. Tím vzniká síť znalostí, náš digitální knihovník.
A jak to celé funguje v praxi, když uživatel položí dotaz?
Nejprve se spustí vektorové vyhledávání, které v databázi najde pět textových chunků, které jsou dotazu sémanticky nejpodobnější. Tím máme naši jehlu v kupce sena. Ale tím nekončíme. Následně se spustí druhá, grafová fáze. Systém se zeptá databáze: „Pro těchto pět nalezených chunků mi ukaž všechny související entity a vztahy do dvou úrovní hloubky.“
Výsledkem je, že do finálního AI modelu neposíláme jen úryvky textu. Posíláme mu bohatý kontext, který obsahuje jak relevantní textové pasáže, tak i mapu jejich vztahů k dalším klíčovým konceptům.
Výzva pro architekta: Stavba živého znalostního grafu
Největší výzvou a zároveň největší hodnotou je, když tento systém není statický. Aktuálně řeším projekt, kde je cílem postavit přesně takový živý znalostní graf. Systém musí v reálném čase zpracovávat a propojovat informace ze čtyř naprosto odlišných a neustále se měnících zdrojů.
- Technická dokumentace z GitHubu.
- Statické produktové informace z webových stránek.
- Detailní manuály z PDF dokumentů.
- A k tomu všemu aktuální mediální zprávy a novinky z trhu.
Mým úkolem jako architekta je navrhnout jediný, plně automatizovaný pipeline, který dokáže všechna tato data v reálném čase stáhnout, zpracovat, aktualizovat, chunkovat, vektorizovat a obohatit o vztahy. Je to ultimátní test schopnosti navrhnout robustní a škálovatelný systém.
Příklad z praxe: Architektura pro právního experta
Při stavbě expertního systému pro právní oblast se tento přístup ukázal jako naprosto klíčový. Představte si, že se uživatel zeptá na konkrétní klauzuli v nájemní smlouvě.
- Běžný RAG systém by našel příslušný odstavec ve vzorové smlouvě a zobrazil ho. To je užitečné.
- Můj systém ale dokáže mnohem víc. Díky znalostnímu grafu nejenže najde danou klauzuli, ale zároveň si všimne, že tato klauzule je propojena vztahy:
- [:JE_UPRAVENA_ZÁKONEM] s konkrétním paragrafem v Občanském zákoníku.
- [:MÁ_SOUVISEJÍCÍ_INTERNÍ_SMĚRNICI] s interním pokynem firmy.
- [:BYLA_ŘEŠENA_V_PŘÍPADĚ] s anonymizovaným soudním sporem z minulosti.
Výsledkem je, že AI neposkytne jen úryvek textu. Poskytne komplexní, 360-ti stupňový vhled, který zahrnuje nejen samotnou klauzuli, ale i její legislativní rámec, interní interpretaci a praktický dopad.
Od vyhledávače k moudrému rádci
Naučili jsme se, že výběr databáze není jen technická implementace. Je to strategické rozhodnutí o tom, jak inteligentní má váš budoucí systém být. Můžete si postavit rychlého pomocníka, který najde jehlu v kupce sena. Nebo si můžete postavit moudrého rádce, který vám nejen najde jehlu, ale zároveň vysvětlí, proč je v té kupce sena díra a jak souvisí se sousedním polem.
Byznysový přínos je zřejmý. Systém, který chápe souvislosti, dokáže řešit mnohem komplexnější úkoly a minimalizuje riziko přehlédnutí klíčových informací. Investice do architektury, která podporuje znalostní grafy, je investicí do vyšší inteligence celého vašeho podniku. V příštím díle se ponoříme do samotného srdce RAG a rozebereme si umění relevance.