zisky:
- Pochopte, že vkládání změní text na vektor v sémantickém prostoru a podobné významy jsou blízké vektory
- Vysvětlení, jak funguje vyhledávání ANN s metrikami kosinusové a tečkové podobnosti
- Výběr běžných vektorových databází na základě nákladů, rozsahu a potřeby filtrování metadat
Jádrem RAG je jediná otázka: "Který text je nejpodobnější otázce uživatele?" Počítač zpracovává text s čísly, nikoli doslova. Proto musíme text nejprve převést na čísla, která nesou jeho význam. To je to, co je vkládání: proces převodu textu na posloupnost čísel (vektor), která představuje význam tohoto textu. Po dokončení této jednotky budete vědět, jak funguje vkládání, jak se měří podobnost a jak vybrat správnou vektorovou databázi.
Vkládání: Překlad významu do souřadnic
Model vkládání (speciálně vycvičená umělá inteligence) převede vámi poskytnutý text na vektor například 1024 čísel. Představte si tento vektor jako souřadnici ve vícerozměrném prostoru. Kouzlo je v tom: texty, které jsou si významově podobné, spadají do blízkých souřadnic v tomto prostoru.
Jednoduchý příklad: „roční dovolená“, „nárok na dovolenou“ a „roční placená dovolená“ používají různá slova, ale znamenají totéž – jejich vektory jsou blízko sebe. „Mzdový účet“ je jiná věc – jeho vektor je vzdálený. Uživatel se tedy ptá "kolik dní dovolené mám?" Když se zeptáte, najdeme i dokument, který neobsahuje slovo „dovolená“, ale říká „roční dovolená je 14 dní“. To klasické vyhledávání podle klíčových slov (hledání, které přesně odpovídá slovu) neumí.
Tip: Představte si vkládání jako „otisk významu“. Otisky dvou vět se stejným významem vypadají podobně; I když jsou slova jiná.
Důležité pravidlo: model, který používáte při vkládání otázky, by měl být stejný jako model, který používáte při vkládání dokumentů. Různé modely vytvářejí různé prostory; souřadnice se stanou nesrovnatelnými.
Jak měřit podobnost?
Existuje několik metod, jak měřit, jak podobné jsou dva vektory. Nejběžnější je kosinusová podobnost: měří úhel mezi dvěma vektory. Pokud je úhel malý (vektory směřující stejným směrem), podobnost je vysoká. Hodnota je mezi -1 a 1; Blízko 1 = velmi podobné.
kritérium
co to měří?
Kdy je preferováno?
Kosinus
Úhel (směr) mezi vektory
Nejběžnější; výchozí sémantická podobnost textu
Bodový produkt
Směr + velikost dohromady
Pokud jsou vektory normalizovány, dává stejný výsledek jako kosinus; je rychlý
Euklidovská (euklidovská vzdálenost)
Přímá vzdálenost mezi souřadnicemi
V některých scénářích shlukování; méně používané v textu
V praxi většina modelů vkládání vytváří normalizované vektory (velikost nastavená na 1); V tomto případě kosinus a tečka dávají stejné pořadí. Nenechte se paralyzovat rozhodováním: začněte s kosinusem.
Mezi miliony vektorů je jejich porovnávání jednoho po druhém pomalé. To je důvod, proč vektorové databáze používají algoritmy ANN (Approximate Nearest Neighbor). ANN najde „téměř přesně nejblíže“ spíše než „přesně nejbližší“ velmi rychle. Například metoda zvaná HNSW může vrátit výsledky během několika milisekund i pro 10 milionů vektorů. Získáte velkou rychlost za malou oběť přesnosti.
Co dělá vektorová databáze?
Vektorová databáze dělá tři věci najednou: (1) ukládá vektory, (2) rychle najde vektory nejpodobnější vektoru dotazu, (3) filtruje podle metadat vedle každého vektoru. Metadata jsou značky, které k tomuto dílu připojíte: zdrojový soubor, datum, oddělení, úroveň soukromí atd. Filtrování metadat je v podnikovém RAG zásadní; protože musíte mít možnost nastavit omezení jako „hledat pouze v dokumentech finančního oddělení z roku 2025“.
# Zaregistrujte se do vektorové databáze (conceptual)vektor_db.add( id="izin-politikasi-parca-3", vektor=embed("Roční placená dovolená je 14 dní..."), text="Roční placená dovolená je 14 dní...", metadata={"source": "ik_el_kitabi.pdf", "department": "IK2":20": "IK":2", "date": "ic"})
# Metadata filtrovaného vyhledávání (koncepční)výsledek = vektor_db.search( vektor=embed("kolik dní dovolené mám?"), top_k=4, filter={"oddělení": "HR", "privacy": ["interní", "zapnuto"]})
Výběr správné databáze
vozidlo
Doporučený aspekt
Vhodná situace
Vestavěné / založené na souborech (vestavěná knihovna)
Žádná instalace, jeden stroj
Prototyp, malá stavebnice (< několik set tisíc dílů)
Spravovaná cloudová služba
Měřítko a údržba není vaší odpovědností
Výroba, rychle rostoucí data, malý tým
Open source na vašem vlastním serveru
Plná kontrola, vaše data zůstanou vaše
Povinnost soukromí, stávající infrastruktura
Doplnění stávající databáze
Nespravujete samostatné systémy
Přidání podpory vektorů do databáze, kterou již používáte
Při výběru se ptejte: Kolik kusů bude? Jak důležité je filtrování metadat? Mohou data jít mimo společnost (důvěrnost)? Dokáže tým provozovat infrastrukturu? Často je rozumné začít v malém a podle potřeby rozšířit.
Slabý přístup / silný přístup
Slabé (ukládání prostého vložení, žádná metadata):
Stačí uložit text a vektor. Hledat: vrátit 4 nejpodobnější vektory.# Problém: Nelze filtrovat jako „pouze aktuální dokumenty HR“;# v odpovědi mohou být také zahrnuty staré/neautorizované části.
Výkonné (bohatá metadata + filtrované vyhledávání):
Ke každému kusu přidejte značku zdroje, data, oddělení a soukromí. Filtrujte podle oprávnění a aktuálnosti uživatele během vyhledávání: filter = {"privacy": user_authority, "date_date": "2024-01"# Výsledek je tedy bezpečný a aktuální.
Tři mini pouzdra
Případ 1 – Nesprávná kombinace modelů. Tým vložil dokumenty s modelem A a otázky s modelem B. Vyhledávání vrátila nesmyslné výsledky a míra správných odpovědí zůstala na 31 %. Když jsem přešel na jeden model (oba stejný model vkládání), míra vyskočila na 88 %. Lekce: otázka a dokument by měly být ve stejném prostoru.
Případ 2 – Riziko ochrany soukromí bez metadat. Ve zdravotnické společnosti byly všechny dokumenty oddělení vhozeny do jednoho fondu bez metadat. Když prodejce položil otázku, systém uvedl do kontextu část dat pacienta. Přidáním metadat + filtru (podle úrovně oprávnění) bylo toto riziko eliminováno; Při aportování se 12 nepovolených kusů vůbec nepřinese.
Případ 3 – Úzké místo rozsahu. Společnost zabývající se internetovým obchodem prohledala 8 milionů popisů produktů jednoduchou metodou „prohledat vše“; Každý dotaz trval 6 sekund. Když jsme přešli na ANN založenou na HNSW, čas se zkrátil na 45 milisekund, s pouze 1% ztrátou přesnosti. Lekce: ANN je ve velké sadě povinné.
Časté chyby
- Vložení otázky a dokumentu s různými modely: Výsledky jsou nesmyslné; vždy jeden model.
- Přeskakování metadat: Nemůžete filtrovat; Ztratíte kontrolu nad soukromím a aktuálností.
- Záměna vkládání za šifrování: Vkládání nese vratné informace; Je chybné předpokládat, že citlivá data jsou „skrytá“.
- Budování zbytečně velké infrastruktury na malém souboru: Obří cluster spravovaný pro 5 000 dílů je zbytečná složitost.
- Nedělejte si starosti s kritériem podobnosti: Začněte v textu kosinusem; Jemné doladění přijde později.
Pozor: Vkládání vkládá význam textu do čísel, ale „neničí“ obsah. Pokud dojde k úniku vektorové databáze, dojde také k ohrožení původních uložených textů (ve většině instalací je uložen i text). Udržujte úložiště vektorů stejně důvěrné jako dokumenty v něm.
V souhrnu
- Vkládání změní text na vektor čísel, který nese jeho význam; Podobné významy jsou blízké vektory.
- Podobnost se často měří pomocí kosinu; Pro normalizované vektory poskytuje bodový součin stejný výsledek.
- Ve velkých datech ANN (např. HNSW) nahrazuje přesné vyhledávání: velká rychlost s malou obětí přesnosti.
- Vektorová databáze provádí ukládání vektorů + vyhledávání podobnosti + filtrování metadat; metadata jsou pro podnikové RAG zásadní.
- Otázka a dokument musí být přeloženy stejným modelem vkládání; jinak nelze souřadnice porovnávat.
Aplikační úkol
Vytáhněte 10 krátkých pasáží (každá 3–6 vět) z dokumentu, který jste vybrali v předchozí části. (1) Navrhněte alespoň tři značky metadat pro každý kus (zdroj, datum a třetí vhodný pro váš obchodní kontext: oddělení, produkt, soukromí atd.). (2) Napište, který filtr metadat by měl být použit pro 3 různé uživatelské otázky. (3) Najděte 3 dvojice otázek a částí, které vyjadřují stejný význam různými slovy (např. „nárok na dovolenou“ ↔ „roční dovolená“) a jednou větou vysvětlete, proč nebudou odpovídat vyhledávání klíčových slov, ale budou odpovídat vložení.
kontrolní seznam
- [ ] Mohu říci, že vložením se text změní na vektor v sémantickém prostoru a podobné významy jsou blízko.
- Vím, že [ ] Kosinová podobnost měří úhel a je výchozí preferencí v textu.
- [ ] Dokážu vysvětlit, proč je ANN nezbytná ve velkých datech.
- [ ] Vím, proč jsou metadata zásadní pro kontrolu důvěrnosti a aktuálnosti.
- [ ] Dodržuji pravidlo překladu otázky a dokumentu se stejným modelem vkládání.