Embedding je číselná reprezentace obsahu, kterou může model použít k porovnávání významové podobnosti. Text, obrázek, dokument nebo jiný vstup se převede na sadu čísel – vektor. Podle toho, jak jsou si tyto vektory blízké, může systém poznat, že dva texty, produkty, obrázky nebo dotazy spolu významově souvisejí, i když nepoužívají stejná slova.
Na první pohled může embedding působit abstraktně. V běžném jazyce pracujeme se slovy, větami a významem. Počítač ale potřebuje číselnou podobu. Embedding proto funguje jako převod mezi lidským obsahem a matematickým prostorem, ve kterém lze počítat podobnost.
Co embedding v praxi skutečně znamená
Embedding je způsob, jak převést obsah do číselné podoby tak, aby s ním mohl pracovat stroj.
Když člověk vidí dvě věty, dokáže poznat, že spolu významově souvisejí:
- „Jak postupovat při pozdní platbě?“
- „Co dělat při prodlení s úhradou faktury?“
Slova nejsou úplně stejná. Význam je ale velmi podobný.
Běžné vyhledávání podle klíčových slov může mít s podobnou situací problém. Pokud hledá přesnou shodu slov, nemusí najít dokument, ve kterém se používá jiná formulace.
Embeddingy tento problém řeší jinak. Obě věty se převedou na vektory – tedy sady čísel. Pokud jsou tyto vektory blízko sebe, systém vyhodnotí, že věty spolu souvisejí.
Prakticky řečeno: embedding umožňuje hledat podle významu, ne jen podle přesných slov.
Proč jsou embeddingy důležité
Embeddingy jsou důležité hlavně proto, že většina informací není uložená tak, aby se dala dobře najít jen podle přesných klíčových slov.
Lidé se ptají různými způsoby. Dokumenty používají různé formulace. Jeden člověk napíše „pozdní platba“, druhý „nezaplacená faktura“, třetí „prodlení s úhradou“. Všechny výrazy mohou znamenat podobnou situaci, ale klasické vyhledávání je nemusí vždy správně propojit.
Embeddingy umožňují systémům pracovat s podobností významu. Proto jsou důležité pro:
- sémantické vyhledávání,
- RAG systémy,
- vyhledávání v dokumentech,
- doporučovací systémy,
- hledání podobných produktů,
- odhalování duplicit,
- seskupování podobných textů,
- práci s interní znalostní bází,
- multimodální vyhledávání nad textem, obrázky nebo dokumenty.
Bez embeddingů by mnoho moderních AI aplikací nedokázalo dobře hledat podle významu.
Jak si embedding představit
Embedding si lze představit jako souřadnice v prostoru. Nejde ale o běžný dvourozměrný prostor jako mapa města. V praxi může mít embedding stovky nebo tisíce čísel. Každé číslo pomáhá popsat určitou vlastnost obsahu.
Důležité není jedno konkrétní číslo samo o sobě. Důležité je celé uspořádání vektoru a jeho vzdálenost od jiných vektorů.
Když jsou dva embeddingy blízko sebe, systém je vyhodnotí jako podobné. Když jsou daleko od sebe, pravděpodobně spolu souvisejí méně.
Příklad:
- věta o reklamaci poškozeného zboží bude blízko větě o nahlášení škody při dopravě,
- věta o reklamaci poškozeného zboží bude dál od věty o receptu na palačinky,
- produkt „černý sportovní batoh“ bude blízko jiným sportovním batohům,
- ale dál od kategorie „kancelářské židle“.
Jak se embeddingy liší od běžného vyhledávání podle slov
Běžné vyhledávání často pracuje hlavně se slovy, která uživatel zadá. Pokud člověk napíše do vyhledávání určitý výraz, systém se snaží najít texty, kde se stejný nebo velmi podobný výraz opravdu objevuje.
To dobře funguje u přesných názvů, kódů, produktů nebo čísel. Horší je to ve chvíli, kdy člověk hledá podle vlastního popisu, ale obsah v systému používá jinou formulaci – například jiný název funkce, odbornější výraz, interní označení nebo formálnější popis stejné situace.
Příklad: uživatel v nápovědě e-shopu hledá, jak změnit adresu doručení u objednávky. Do vyhledávání napíše:
„Chci změnit adresu doručení.“
Článek v nápovědě se ale může jmenovat jinak:
„Úprava dodacích údajů v objednávce“
Význam je podobný. Uživatel chce změnit adresu doručení a dokumentace tomu říká úprava dodacích údajů. Člověk tuto souvislost pochopí hned. Jednoduché vyhledávání podle slov s tím ale může mít problém, protože hledá hlavně shodu ve výrazech.
Embeddingy se používají jinak. Nejprve se dotaz uživatele i texty v nápovědě převedou na číselné vektory. Tyto vektory se potom porovnají podle podobnosti. Pokud je vektor dotazu blízko vektoru určitého článku, systém vyhodnotí, že spolu pravděpodobně významově souvisejí.
Díky tomu může systém najít správný článek i tehdy, když uživatel nepoužil stejná slova jako dokumentace.
Embeddingy ale nenahrazují klasické vyhledávání vždy.
Pokud uživatel hledá číslo objednávky, EAN, SKU, IČO, variabilní symbol nebo přesný název dokumentu, je lepší hledat přesnou shodu. V takovém případě nechcete najít něco podobného významem, ale přesně daný záznam.
Proto se v praxi často používá kombinace obou přístupů: klasické vyhledávání podle slov a kódů pro přesné dotazy, embeddingy pro dotazy psané běžným jazykem.
Jak embedding vzniká
Embedding nevzniká ručně. Vytváří ho embedding model. To je model, který vezme vstupní obsah a převede ho na číselný vektor.
Celý postup lze zjednodušeně popsat takto:
- Systém dostane vstup – může jít o větu, odstavec, dokument, dotaz uživatele, název produktu, popis zboží nebo jiný obsah.
- Text se technicky připraví – u textu obvykle proběhne tokenizace, tedy rozdělení textu na menší jednotky, se kterými model umí pracovat.
- Embedding model vstup zpracuje – model neukládá text jako slova, ale převádí ho do matematické podoby. Výsledkem je vektor, tedy seznam čísel.
- Vektor se uloží nebo porovná – embedding lze uložit do databáze, použít pro vyhledávání podobných dokumentů nebo porovnat s embeddingem jiného textu.
- Systém spočítá podobnost – když přijde nový dotaz, vytvoří se embedding dotazu a porovná se s embeddingy uložených dokumentů. Čím jsou si vektory blíž, tím podobnější obsah pravděpodobně je.
Embedding tedy není výsledek ručního označování. Je to výstup modelu, který se naučil převádět obsah do číselného prostoru tak, aby podobné věci byly blízko sebe.
Co znamená vektor
Vektor je seznam čísel. V případě embeddingu tato čísla reprezentují obsah.
Zjednodušený příklad může vypadat takto:
[0.12, -0.48, 0.91, 0.07, -0.33]
Skutečné embeddingy ale bývají mnohem delší. Mohou mít stovky nebo tisíce hodnot.
Člověk z těchto čísel přímo nepozná, co text znamená. Nejde o to, že první číslo znamená „reklamace“, druhé „zboží“ a třetí „platba“. Tak jednoduché to není.
Smysl má hlavně porovnání celého vektoru s jinými vektory. Pokud jsou si dva vektory blízké, systém je vyhodnotí jako podobné.
Co znamená podobnost embeddingů
Podobnost embeddingů znamená, že dva obsahy leží ve vektorovém prostoru blízko sebe.
Systém může podobnost počítat různými metodami. Často se používá například kosinová podobnost, eukleidovská vzdálenost nebo dot product. Pro běžného čtenáře není důležité znát matematický detail. Podstatné je, že systém porovnává vzdálenost nebo blízkost mezi vektory.
Příklad:
- embedding dotazu „Jak vrátit zboží?“ bude pravděpodobně blízko dokumentu „Postup pro odstoupení od smlouvy“,
- embedding dotazu „Jak nastavit SPF záznam?“ bude blízko článku o e-mailové autentizaci,
- embedding obrázku černého batohu může být blízko jiným obrázkům podobných batohů.
Čím vyšší je podobnost, tím větší šance, že obsah souvisí s dotazem. Neznamená to ale automaticky, že výsledek je správný. Je to pravděpodobnostní vyhodnocení podobnosti, ne důkaz.
Embedding a sémantické vyhledávání
Sémantické vyhledávání je vyhledávání podle významu. Právě zde se embeddingy používají velmi často.
U klasického vyhledávání se systém ptá hlavně:
- obsahuje dokument stejné slovo jako dotaz?
- vyskytuje se v textu daný výraz?
- odpovídá dotaz přesné frázi?
U sémantického vyhledávání se systém ptá spíše:
- je význam dotazu podobný významu dokumentu?
- řeší tento text podobný problém?
- odpovídá tato pasáž záměru uživatele?
To je velký rozdíl.
Když se uživatel zeptá „Co dělat, když mi zákazník nezaplatil?“, systém může najít dokument „Postup při prodlení s úhradou faktury“. Nemusí se shodovat přesná slova, ale významově jde o podobnou situaci.
Embedding a retrieval
Retrieval znamená vyhledání a načtení relevantních informací. Embeddingy jsou jedním ze způsobů, jak retrieval zlepšit.
V praxi to funguje takto:
- dokumenty se rozdělí na menší části,
- každá část se převede na embedding,
- embeddingy se uloží do vyhledávacího indexu nebo vektorové databáze,
- dotaz uživatele se také převede na embedding,
- systém porovná embedding dotazu s embeddingy dokumentů,
- vybere části, které jsou významově nejpodobnější,
- tyto části se předají jazykovému modelu jako podklad.
Embeddingy tedy často stojí za tím, že AI asistent dokáže najít správnou pasáž v dokumentaci, i když se uživatel ptá jinými slovy, než jakými je napsaný dokument.
Embedding a RAG
RAG, tedy Retrieval-Augmented Generation, kombinuje vyhledání relevantních informací s generováním odpovědi. Embeddingy v něm často slouží k tomu, aby systém našel správné pasáže dokumentů.
Příklad:
- firma má interní znalostní bázi,
- každý článek nebo jeho část se převede na embedding,
- uživatel položí dotaz přirozeným jazykem,
- dotaz se také převede na embedding,
- systém najde významově nejbližší pasáže,
- jazykový model z nich vytvoří odpověď.
Bez embeddingů by RAG často musel více spoléhat na klíčová slova. To může fungovat u přesných dotazů, ale hůře u dotazů formulovaných lidsky a volně.
Embedding a vektorová databáze
Vektorová databáze je databáze určená k ukládání embeddingů a rychlému vyhledávání podobných vektorů.
Běžná databáze dobře pracuje s přesnými hodnotami. Například najde zákazníka podle e-mailu, objednávku podle čísla nebo produkt podle SKU.
Vektorová databáze řeší jiný typ otázky:
- které dokumenty jsou významově podobné tomuto dotazu?
- které produkty se podobají tomuto popisu?
- které obrázky vypadají podobně jako tento obrázek?
- které záznamy připomínají tento případ?
V RAG systémech se vektorová databáze často používá právě k tomu, aby rychle našla nejbližší embeddingy a tím i nejrelevantnější části dokumentů.
Embedding a kontextové okno
Kontextové okno určuje, kolik informací může jazykový model zpracovat v jednom kroku.
Embeddingy pomáhají rozhodnout, co se do tohoto omezeného prostoru má dostat.
Pokud má firma tisíce dokumentů, nelze je všechny poslat modelu při každém dotazu. Bylo by to pomalé, drahé a nepřehledné. Embeddingy pomohou najít několik nejrelevantnějších pasáží. Ty se potom vloží modelu do kontextu.
Díky tomu model nedostává všechno. Dostává jen výběr toho, co s dotazem nejvíce souvisí.
Embedding a tokeny
Tokeny jsou jednotky, ve kterých jazykový model technicky zpracovává text. U embeddingů jsou důležité hlavně proto, že vstup do embedding modelu má také své limity a cenu.
Když chcete vytvořit embedding dlouhého dokumentu, obvykle ho nelze převést jako jeden nekonečný blok. Dokument se rozdělí na části a embedding se vytvoří pro každou část zvlášť.
To je praktické i z jiného důvodu. Pokud by měl celý dlouhý dokument jeden embedding, ztratil by detail. Krátká konkrétní pasáž má přesnější významovou reprezentaci než obrovský dokument, ve kterém se míchá mnoho témat.
Embedding a chunking
Chunking znamená rozdělení dlouhého textu na menší části. U embeddingů je to velmi důležité.
Představte si dlouhý dokument, který obsahuje obchodní podmínky, reklamace, platby, dopravu a ochranu osobních údajů. Pokud se celý dokument převede na jeden embedding, výsledný vektor bude příliš obecný. Nebude dobře reprezentovat jednu konkrétní část.
Lepší je dokument rozdělit na menší úseky:
- část o reklamacích,
- část o platbách,
- část o dopravě,
- část o odstoupení od smlouvy,
- část o ochraně osobních údajů.
Každá část dostane vlastní embedding. Když se uživatel zeptá na reklamaci, systém najde právě část o reklamacích, ne celý dokument.
Embedding a prompt
Prompt je zadání nebo vstup pro jazykový model. Embedding obvykle není to, co uživatel přímo píše do promptu. Je to technická mezivrstva, která se používá před tím, než se modelu připraví finální zadání.
Typický postup vypadá takto:
- uživatel napíše dotaz,
- systém z dotazu vytvoří embedding,
- pomocí embeddingu najde podobné části dokumentů,
- nalezené pasáže vloží do promptu,
- jazykový model z promptu vytvoří odpověď.
Embedding tedy často pomáhá rozhodnout, co se do promptu vloží jako kontext.
Embedding a velké jazykové modely
Velký jazykový model generuje odpověď z dodaného vstupu a kontextu. Embedding model má jiný úkol. Negeneruje odpověď pro uživatele, ale převádí obsah na vektor.
Rozdíl:
- Embedding model – převede text nebo jiný obsah na číselný vektor.
- Jazykový model – z textového vstupu a kontextu vytvoří odpověď.
V praxi se často používají společně. Embedding model najde relevantní podklady. Jazykový model z nich vytvoří čitelnou odpověď.
Embedding a multimodální modely
U multimodálních modelů se embeddingy nemusí týkat jen textu. Číselnou reprezentaci může mít i obrázek, audio, video, dokument nebo jiný typ vstupu.
To umožňuje například:
- hledat obrázky podle textového popisu,
- najít produkty podobné nahrané fotografii,
- porovnat dokumenty podle obsahu,
- vyhledat podobné screenshoty,
- spojit textový dotaz s vizuálním obsahem.
Například uživatel napíše „černý sportovní batoh s kapsou na notebook“. Systém nemusí hledat jen obrázky, které mají tento přesný popisek. Pokud má multimodální embeddingy, může najít vizuálně podobné produkty i podle samotného vzhledu.
Kde se embeddingy používají
Embeddingy se používají všude tam, kde je potřeba porovnávat podobnost obsahu.
- Sémantické vyhledávání – systém hledá podle významu, ne jen podle přesných slov.
- RAG systémy – embeddingy pomáhají najít relevantní pasáže, které se vloží modelu do kontextu.
- Doporučovací systémy – podobné produkty, články, filmy nebo dokumenty lze hledat podle podobnosti vektorů.
- Odhalování duplicit – systém může najít texty, které říkají totéž jinými slovy.
- Clustering – podobné položky se mohou seskupovat do tématických skupin.
- Klasifikace textů – embedding může sloužit jako vstup pro další model, který určí kategorii obsahu.
- Vyhledávání v dokumentech – uživatel se ptá přirozeným jazykem a systém hledá relevantní části znalostní báze.
- Vyhledávání obrázků – podobné obrázky lze hledat podle vizuální podobnosti, ne jen podle názvu souboru.
Embedding v e-commerce
V e-commerce mohou embeddingy pomoci s vyhledáváním produktů, doporučováním podobných položek i s lepší prací s dotazy zákazníků.
Zákazník často nehledá přesný název produktu. Napíše spíše:
- „lehký batoh do letadla“,
- „boty na běhání po asfaltu“,
- „dárek pro dítě na kreativní tvoření“,
- „levnější alternativa k tomuto produktu“.
Klasické vyhledávání podle klíčových slov může selhat, pokud produktový popis používá jiné výrazy. Embeddingy mohou pomoci najít produkty, které odpovídají pravděpodobnému záměru dotazu.
Stejně tak lze najít podobné produkty podle popisu, parametrů nebo obrázku.
Embedding ve firemní znalostní bázi
Ve firemní znalostní bázi pomáhají embeddingy překlenout rozdíl mezi tím, jak lidé kladou otázky, a tím, jak jsou napsané dokumenty.
Zaměstnanec se může zeptat:
„Kde najdu postup pro klienta, který nechce zaplatit fakturu?“
Dokument se ale může jmenovat:
„Proces řešení prodlení s úhradou“
Embeddingy umožňují, aby systém našel dokument podle významu, i když uživatel nepoužije stejná slova jako autor dokumentace.
To je jeden z důvodů, proč jsou embeddingy důležité pro interní AI asistenty.
Embedding u dokumentů a PDF
U dokumentů se embeddingy často vytvářejí po menších částech. Nestačí vzít celé PDF a udělat z něj jeden vektor. Dokument může obsahovat mnoho témat a jeden embedding by byl příliš hrubý.
Lepší postup:
- z dokumentu se získá text,
- text se rozdělí podle nadpisů, odstavců nebo významových celků,
- každá část se převede na embedding,
- embeddingy se uloží do vyhledávacího indexu,
- při dotazu se najdou jen části, které odpovídají otázce.
Už jste četli? Světový den High Five (neboli placáků)
U dokumentů je důležité zachovat i metadata – například název dokumentu, datum, verzi, oddělení nebo zdroj. Samotný embedding totiž neříká, zda je dokument aktuální nebo platný.
Embedding a OCR
OCR převádí text z obrázku nebo skenu do strojově čitelné podoby. Embedding může na OCR navázat.
Příklad:
- firma má naskenované smlouvy,
- OCR z nich získá text,
- text se rozdělí na části,
- z částí se vytvoří embeddingy,
- uživatel může nad dokumenty vyhledávat podle významu.
OCR tedy pomáhá získat text. Embedding pomáhá text porovnávat a vyhledávat podle podobnosti.
Embedding a clustering
Clustering znamená seskupování podobných položek. Embeddingy se k tomu dobře hodí, protože podobné položky mají podobné vektory.
Příklad:
- firma má tisíce zákaznických dotazů,
- každý dotaz se převede na embedding,
- systém najde skupiny podobných dotazů,
- firma zjistí, že se zákazníci často ptají na stejné problémy,
- podle toho může upravit FAQ nebo zákaznickou podporu.
Clustering tedy může pomoci najít témata v datech, která by člověk ručně procházel velmi dlouho.
Embedding a doporučování
Embeddingy se používají i v doporučovacích systémech. Pokud mají produkty, články nebo videa své vektory, systém může doporučovat podobný obsah.
Příklad:
- uživatel si prohlíží článek o prompt engineeringu,
- systém najde články s podobným embeddingem,
- doporučí související texty o tokenech, kontextovém okně nebo retrievalu.
Podobně to může fungovat u produktů, filmů, hudby nebo interních dokumentů.
Embedding a přesnost výsledků
Embeddingy nejsou neomylné. To, že jsou dva vektory blízko sebe, neznamená, že výsledek je určitě správný.
Může se stát, že systém najde text, který je podobný jen povrchně. Nebo vynechá dokument, který by byl důležitý, ale je formulovaný neobvykle. Problém může být i v tom, že embedding neobsahuje informace o aktuálnosti, autoritě nebo platnosti dokumentu.
Proto se embeddingy často kombinují s dalšími prvky:
- klíčová slova,
- metadata,
- datum platnosti,
- typ dokumentu,
- oprávnění uživatele,
- reranking výsledků,
- ruční pravidla pro kritické oblasti.
Dobře navržený systém se nespoléhá jen na podobnost embeddingů.
Embedding versus fulltextové vyhledávání
Fulltextové vyhledávání a embeddingy řeší podobný problém, ale jiným způsobem.
Fulltextové vyhledávání je silné tam, kde záleží na přesných slovech, názvech a kódech. Embeddingy jsou silné tam, kde se hledá podobný význam.
Příklad:
- Fulltext je vhodný pro dotaz „objednávka 20260415-88“.
- Embedding je vhodný pro dotaz „jak řešit zákazníka, který nezaplatil fakturu“.
V praxi je často nejlepší kombinovat obojí. Tomu se říká hybridní vyhledávání.
Embedding versus jazykový model
Embedding model a jazykový model nejsou totéž.
Embedding model vytvoří číselný vektor. Jazykový model vytvoří textovou odpověď.
Příklad:
- embedding model řekne technicky: „Tento dotaz je podobný těmto dokumentům.“
- jazykový model z těchto dokumentů napíše odpověď pro člověka.
Embeddingy tedy obvykle nejsou vidět ve finální odpovědi. Pracují na pozadí.
Embedding versus kategorie
Kategorie je ručně nebo automaticky přiřazený štítek. Například „reklamace“, „platby“, „doprava“, „marketing“ nebo „technická podpora“.
Embedding je jemnější. Neříká jen, že dokument patří do jedné kategorie. Umožňuje porovnávat podobnost mezi dokumenty i uvnitř kategorií.
Příklad:
- dva dokumenty mohou patřit do kategorie „reklamace“,
- jeden řeší poškozenou zásilku,
- druhý řeší vrácení zboží bez udání důvodu,
- embeddingy mohou ukázat, že jde o odlišné podtypy problémů.
Kategorie pomáhá organizovat. Embedding pomáhá porovnávat významovou blízkost.
Co embedding neumí
Embedding není kompletní porozumění textu. Je to matematická reprezentace, která je užitečná pro porovnávání.
Embedding sám o sobě neumí:
- odpovědět na otázku,
- ověřit pravdivost dokumentu,
- poznat, zda je dokument aktuální,
- rozhodnout, který zdroj má právní přednost,
- nahradit lidskou kontrolu u citlivých rozhodnutí,
- zaručit, že nalezený dokument je správný.
K tomu jsou potřeba další vrstvy systému – například metadata, pravidla, retrieval, jazykový model, citace, oprávnění a kontrola člověkem.
Časté chyby při práci s embeddingy
Nejčastější chybou je myslet si, že embedding automaticky znamená porozumění. Neznamená. Embedding je užitečný hlavně pro porovnávání podobnosti.
Další častou chybou je vytvořit jeden embedding pro příliš dlouhý dokument. Výsledný vektor pak může být moc obecný a špatně reprezentovat konkrétní části textu.
Problém je také ignorování metadat. Embedding může najít významově podobný dokument, ale bez metadat systém neví, zda je dokument aktuální, platný nebo přístupný pro konkrétního uživatele.
Chyby bývají hlavně tyto:
- příliš dlouhé texty převedené na jeden embedding,
- špatně rozdělené dokumenty,
- chybějící informace o verzi a datu dokumentu,
- spoléhání jen na embeddingy bez fulltextového vyhledávání,
- použití nevhodného embedding modelu pro daný jazyk nebo obor,
- žádné testování na reálných dotazech,
- předávání příliš podobných, ale prakticky špatných výsledků modelu.
Jak poznat dobře použitý embedding
Dobře použitý embedding se pozná podle toho, že systém nachází skutečně relevantní výsledky, ne jen texty, které se náhodně podobají.
Dobrý systém by měl:
- nacházet obsah podle významu,
- fungovat i tehdy, když uživatel použije jiná slova než dokument,
- kombinovat embeddingy s metadaty,
- umět pracovat s aktuálností dokumentů,
- respektovat oprávnění,
- vracet dohledatelné zdroje,
- nepoužívat příliš dlouhé a obecné vektory,
- být testovaný na reálných dotazech.
Cílem není mít embeddingy za každou cenu. Cílem je najít správný obsah pro konkrétní dotaz.
Embedding ve firemním prostředí
Ve firmě jsou embeddingy užitečné hlavně tam, kde existuje hodně dokumentů, znalostí nebo dat a lidé se v nich potřebují rychle orientovat.
Typické použití:
- AI asistent nad interní dokumentací,
- vyhledávání ve znalostní bázi zákaznické podpory,
- hledání podobných reklamací nebo ticketů,
- doporučování relevantních článků obchodnímu týmu,
- vyhledávání v technické dokumentaci,
- analýza zákaznických dotazů,
- seskupování podobných problémů.
Důležité ale je, aby firma měla pořádek ve zdrojích. Embeddingy nezachrání špatnou znalostní bázi. Pokud jsou dokumenty duplicitní, staré nebo rozporné, embeddingy je mohou najít rychleji, ale neudělají z nich kvalitní zdroj.
Embedding a bezpečnost
Embeddingy mohou pracovat s citlivými daty. Pokud se do vektorové databáze ukládají embeddingy interních dokumentů, smluv, e-mailů nebo zákaznické komunikace, je potřeba řešit oprávnění a ochranu dat.
Důležité otázky:
- kdo může embeddingy vyhledávat,
- zda embedding odkazuje na citlivý dokument,
- zda se kontrolují oprávnění už při vyhledávání,
- kde se embeddingy ukládají,
- zda lze dohledat původní dokument,
- jak se smažou embeddingy po odstranění dokumentu,
- jak se řeší staré verze dokumentů.
Embedding je sice číselná reprezentace, ale pořád může souviset s citlivým obsahem. Proto se nemá brát jako bezpečnostně neutrální údaj.
Kde jsou rizika a neznámé
U embeddingů je důležité počítat s tím, že výsledek stojí na matematické podobnosti, kvalitě vstupních dat a správném návrhu celého vyhledávacího systému.
- Podobnost neznamená správnost – systém může najít text, který je významově podobný, ale neodpovídá přesně dotazu. Mitigace: kombinovat embeddingy s metadaty, pravidly a kontrolou zdrojů.
- Špatná kvalita zdrojů – pokud jsou dokumenty staré, duplicitní nebo rozporné, embeddingy je mohou vracet jako relevantní. Mitigace: čistit znalostní bázi a označovat platné verze.
- Příliš dlouhé chunky – dlouhý úsek může mít příliš obecný embedding. Mitigace: dělit dokumenty podle významových celků, ne mechanicky bez ohledu na obsah.
- Příliš krátké chunky – krátký úsek může ztratit kontext. Mitigace: zachovat nadpisy, okolní věty a odkaz na původní dokument.
- Nevhodný embedding model – model nemusí dobře fungovat pro konkrétní jazyk, obor nebo typ dat. Mitigace: testovat na reálných dotazech a dokumentech.
- Ignorování přesných výrazů – embeddingy nemusí být nejlepší pro kódy, čísla objednávek nebo konkrétní identifikátory. Mitigace: kombinovat s fulltextem a filtrováním podle metadat.
- Chybějící oprávnění – systém může najít obsah, který uživatel nemá vidět. Mitigace: kontrolovat přístupová práva už při vyhledávání.
- Neaktuální index – embeddingy mohou odkazovat na staré nebo smazané dokumenty. Mitigace: pravidelně reindexovat a mazat neplatné záznamy.
- Přehnaná důvěra v skóre podobnosti – vysoké skóre neznamená automaticky správný výsledek. Mitigace: používat prahy relevance, reranking a ruční kontrolu u citlivých oblastí.
Související pojmy
- Retrieval – vyhledání a načtení relevantních informací, které se modelu předají jako podklad pro odpověď.
- RAG – architektura, která kombinuje vyhledání relevantních informací s generováním odpovědi.
- Vektor – seznam čísel, který v případě embeddingu reprezentuje obsah v matematické podobě.
- Vektorová databáze – databáze určená k ukládání embeddingů a rychlému hledání podobných vektorů.
- Sémantické vyhledávání – vyhledávání podle významu, ne pouze podle přesné shody slov.
- Hybridní vyhledávání – kombinace fulltextového vyhledávání a sémantického vyhledávání přes embeddingy.
- Chunking – rozdělení dlouhého dokumentu na menší části, pro které lze vytvořit přesnější embeddingy.
- Reranking – dodatečné seřazení nalezených výsledků podle relevance.
- Kontextové okno – prostor, do kterého se modelu vejde dotaz, podklady a odpověď v jednom kroku.
- Token – základní jednotka textu nebo vstupu, se kterou jazykový model pracuje.
- Velký jazykový model (LLM) – model, který zpracovává a generuje text na základě vstupu, kontextu a naučených jazykových vzorů.
- Multimodální modely – modely, které dokážou pracovat s více typy vstupů, například textem, obrazem, audiem nebo dokumenty.
- OCR – technologie pro převod textu z obrázků, skenů nebo PDF dokumentů do strojově čitelné podoby.
Odkazy a zdroje
- Vector embeddings – OpenAI API – developers.openai.com – duben 2026 – dokumentace vysvětluje, že embedding je vektor složený z čísel a že vzdálenost mezi dvěma vektory pomáhá určit, jak moc spolu dva obsahy souvisejí.
- Embeddings APIs overview – Vertex AI – docs.cloud.google.com – duben 2026 – přehled ukazuje, jak se v Google Vertex AI vytvářejí embeddingy pro text, multimodální vstupy a vyhledávání podle podobnosti.
- Understand embeddings – Microsoft Learn – learn.microsoft.com – únor 2026 – článek vysvětluje, jak embeddingy zachycují podobnost významu ve vektorovém prostoru a jak se používají k porovnávání částí textu.
- Semantic Search with Embeddings – docs.cohere.com – duben 2026 – návod ukazuje, jak se embeddingy používají pro sémantické vyhledávání, kdy se dokumenty i dotaz převedou na vektory a porovnává se jejich podobnost.
- What are Vector Embeddings? – pinecone.io – červen 2023 – článek jednoduše vysvětluje, co jsou vektorové embeddingy, jak se používají pro similarity search a proč jsou důležité pro doporučování, deduplikaci nebo vyhledávání podobného obsahu.
- Vector Similarity Explained – pinecone.io – červen 2023 – text popisuje základní způsoby měření podobnosti mezi vektory, například kosinovou podobnost, eukleidovskou vzdálenost a dot product.
- Embeddings – Machine Learning Crash Course – developers.google.com – srpen 2025 – výuková část kurzu vysvětluje embeddingy jako nižší číselnou reprezentaci dat a ukazuje, proč pomáhají strojovému učení pracovat s rozsáhlými vstupy.