Od slov k významu
Text sa pomocou embedding modelu prevedie na vektor – číselnú reprezentáciu jeho významových vlastností. Podobné významy by mali byť vo vektorovom priestore bližšie pri sebe.
Zjednodušene:
„zabudnuté heslo“ → [0.12, -0.43, 0.87, …]
a
„problém s prihlasovaním“ → [0.15, -0.39, 0.82, …]
Tieto čísla samy o sebe veľa neznamenajú. Pre systém však určujú pozíciu textu vo vektorovom priestore. Vector database potom dokáže vyhľadať vektory, ktoré sú otázke najpodobnejšie.
Výsledkom teda nie je iba:
„Nájdi dokument obsahujúci tieto slová.“
Ale skôr:
„Nájdi obsah, ktorý sa významovo najviac podobá tejto otázke.“
Čo robí vector database?
Vector database je systém určený na ukladanie, indexovanie a vyhľadávanie vektorových reprezentácií.
Predstavme si, že máme 500 000 dokumentov. Každý relevantný kus textu prevedieme pomocou embedding modelu na vektor a uložíme ho spolu s pôvodným obsahom a prípadnými metadátami.
Keď používateľ položí otázku, vytvorí sa embedding aj z jeho otázky.
Otázka → embedding model → query vector → vector search → relevantné výsledky
Databáza následne vyhľadá najbližšie vektory.
Tento princíp je veľmi dôležitý napríklad pri RAG (Retrieval-Augmented Generation).
Vector database ako pamäť pre AI
Samotný LLM nemusí poznať vaše interné dokumenty. Namiesto toho môže aplikácia pri každej otázke najskôr vyhľadať relevantné časti firemnej dokumentácie.
Napríklad používateľ sa opýta:
„Koľko dní dovolenky máme po troch rokoch vo firme?“
Vector search nájde relevantnú pasáž v HR dokumentácii, aj keď otázka nepoužíva presne rovnaké slová ako dokument.
Táto pasáž sa následne vloží do kontextu promptu a LLM z nej vytvorí odpoveď.
Zjednodušene:
Používateľ → otázka → embedding → vector search → relevantné dokumenty → LLM → odpoveď
Vector database teda nie je samotná AI. Je súčasťou systému, ktorý AI umožňuje pracovať s externými dátami.
Prečo sa dokumenty rozdeľujú na menšie časti?
Pri RAG systémoch sa dokumenty často rozdeľujú na menšie časti – chunks.
Ak by sme napríklad celý 100-stranový dokument reprezentovali jediným embeddingom, vyhľadávanie by získalo iba veľmi všeobecnú predstavu o jeho obsahu.
Namiesto toho môže systém vytvoriť:
Dokument → Chunk 1 → embedding
Dokument → Chunk 2 → embedding
Dokument → Chunk 3 → embedding
Pri vyhľadávaní tak môže nájsť konkrétnu časť dokumentu, ktorá obsahuje relevantnú informáciu.
Veľkosť chunkov však treba nastaviť rozumne. Príliš malé časti môžu stratiť kontext, príliš veľké zase obsahujú priveľa nesúvisiacich informácií.
Ako sa hľadá medzi miliónmi vektorov?
Ak máme veľké množstvo vektorov, teoreticky by sme mohli každý nový query vector porovnať so všetkými.
To by však bolo pomalé a drahé.
Preto vector search používa indexy a algoritmy pre Approximate Nearest Neighbor (ANN) search. Tie umožňujú efektívne nájsť malú skupinu kandidátov, medzi ktorými sa pravdepodobne nachádzajú najrelevantnejšie výsledky.
Jedným z populárnych prístupov je HNSW (Hierarchical Navigable Small World), ktorý využíva viacvrstvový graf a umožňuje rýchlo sa dostať do relevantnej časti vektorového priestoru.
Výsledkom je kompromis medzi rýchlosťou, využitím pamäte a presnosťou vyhľadávania.

Vector database nemusí byť samostatný systém
Vector search neznamená, že musíte automaticky zaviesť úplne novú databázu.
Napríklad pgvector umožňuje ukladať vektory priamo v PostgreSQL a podporuje approximate nearest-neighbor search aj indexy ako HNSW a IVFFlat.
To môže byť praktické pre aplikácie, ktoré už PostgreSQL používajú.
Pri väčších alebo špecifických projektoch existujú aj špecializované riešenia ako Weaviate či Milvus. FAISS je zase knižnica určená na efektívne similarity search a clustering dense vectors.
A čo presnosť?
Vector search neznamená, že systém vždy nájde správnu odpoveď.
Dokáže nájsť najpodobnejšie výsledky, ale aj tie môžu byť v skutočnosti nerelevantné.
Preto sa v produkčných systémoch používajú napríklad similarity thresholds, metadata filtre alebo ďalšie kroky hodnotenia a rerankingu.
Rovnako dôležitá je kvalita samotných dát, chunkingu a embedding modelu.
Ak retrieval nájde nesprávny kontext, ani dobrý LLM z neho nemusí vytvoriť správnu odpoveď.
Keyword search vs. vector search
Vector search zároveň nemusí nahradiť klasické vyhľadávanie.
Ak používateľ hľadá konkrétny kód:
„OBJ-2026-10482“
presná zhoda môže byť oveľa užitočnejšia než sémantická podobnosť.
Preto moderné systémy často kombinujú oba prístupy v hybrid search.
Keyword search sa postará o presné výrazy a vector search o významovú podobnosť. Ich kombinácia môže byť užitočná najmä pri technických alebo firemných databázach, kde používateľ prirodzene mieša bežný jazyk s presnými názvami a identifikátormi.
Kde sa vector databases používajú?
Vector search má využitie v mnohých AI aplikáciách:
Inteligentné vyhľadávanie – používateľ nemusí poznať presný názov dokumentu alebo produktu.
RAG aplikácie – relevantné informácie sa vyhľadajú vo firemných dátach a použijú ako kontext pre LLM.
Odporúčacie systémy – systém môže hľadať produkty, články alebo obsah podobný tomu, ktorý používateľa zaujíma.
Vyhľadávanie obrázkov a multimédií – embeddingy nemusia reprezentovať iba text. Vector search sa dá použiť aj pri obrázkoch, zvuku či ďalších typoch dát.
Vector database nie je kúzelná AI vrstva
Kvalita výsledného systému závisí od celého reťazca:
dáta → chunking → embedding model → index → retrieval → reranking → LLM
Ak sú dáta nekvalitné, vector database ich nezachráni.
Ak sú chunky príliš veľké alebo malé, môže sa zhoršiť retrieval.
Ak embedding model nerozumie dobre konkrétnej doméne alebo jazyku, výsledky môžu byť slabšie.
A ak systém nájde nesprávny kontext, LLM môže vytvoriť presvedčivo znejúcu odpoveď založenú na nesprávnych informáciách.
Preto sa pri AI aplikáciách neoplatí hodnotiť iba samotnú databázu. Dôležitý je celý retrieval pipeline.
Nie podľa slova, ale podľa významu
Najväčšia zmena, ktorú vector search prináša, je jednoduchá.
Pri klasickom vyhľadávaní sa pýtame:
„Obsahuje tento dokument moje slová?“
Pri vector search:
„Je tento dokument významovo podobný tomu, čo hľadám?“
Používateľ preto nemusí poznať presný názov dokumentu ani terminológiu, ktorú používa databáza. Môže jednoducho opísať svoj problém.
Vector database však sama o sebe „nerozumie“ významu. Embedding model vytvára číselnú reprezentáciu obsahu a vector database následne efektívne vyhľadáva podobné reprezentácie.
A práve kombinácia týchto technológií umožňuje AI aplikáciám vyhľadávať informácie spôsobom, ktorý je oveľa bližší tomu, ako ich hľadá človek.
Nie podľa toho, aké presné slovo napísal.
Ale podľa toho, čo sa pravdepodobne snažil nájsť.