Kontextovo orientované vyhľadávanie vs. kontextovo slepé vyhľadávanie
Kontextové vyhľadávanie využíva okolité informácie, ako je história dopytov, zámer používateľa a vzťahy medzi dokumentmi, na poskytovanie relevantnejších výsledkov, zatiaľ čo kontextové vyhľadávanie spracováva každý dopyt izolovane. Prvý z nich podporuje modernú konverzačnú umelú inteligenciu a personalizované vyhľadávanie, zatiaľ čo druhý zostáva užitočný pre jednoduché, jednorazové vyhľadávania.
Zvýraznenia
Kontextové vyhľadávanie udržiava súdržnosť konverzácie tým, že si pamätá predchádzajúce otázky a signály používateľa.
Kontextovo slepé vyhľadávanie je rýchlejšie, lacnejšie a jednoduchšie na nasadenie pri jednorazových faktických vyhľadávaniach.
Väčšina produkčných asistentov s umelou inteligenciou sa teraz spolieha na kontextové vyhľadávanie, aby presne zvládli následné otázky.
Akademické benchmarky ukazujú, že kontextovo uvedomelé metódy prekonávajú kontextovo slepé východiskové hodnoty o 10 – 20 % pri viacnásobných úlohách.
Čo je Kontextové vyhľadávanie?
Prístup k vyhľadávaniu, ktorý zohľadňuje históriu dotazov, správanie používateľov a kontext dokumentu s cieľom vrátiť relevantnejšie výsledky.
Zahŕňa signály, ako sú predchádzajúce konverzačné ťahy, preferencie používateľa a metadáta na úrovni relácie, na spresnenie výsledkov vyhľadávania.
Moderné systémy RAG sa spoliehajú na kontextovo uvedomelé vyhľadávanie, aby udržiavali koherentné viacnásobné konverzácie s rozsiahlymi jazykovými modelmi.
Techniky ako prepisovanie dotazov, HyDE a kontextové vkladanie patria do tejto kategórie.
Vektorové databázy ako Pinecone, Weaviate a Chroma podporujú kontextové vyhľadávanie prostredníctvom filtrovania metadát a hybridného vyhľadávania.
Vo všeobecnosti dosahuje vyššiu presnosť v konverzačných a personalizovaných benchmarkoch v porovnaní s kontextovo slepými metódami.
Čo je Kontextovo slepé vyhľadávanie?
Prístup k vyhľadávaniu, ktorý spracováva každý dopyt nezávisle bez zohľadnenia predchádzajúcich interakcií alebo signálov špecifických pre používateľa.
Každý vyhľadávací dopyt považuje za samostatnú požiadavku a ignoruje históriu konverzácie alebo kontext relácie.
Klasické vyhľadávače kľúčových slov, ako napríklad skoré implementácie Lucene a BM25, fungujú týmto spôsobom.
Je to výpočtovo lacnejšie a rýchlejšie, pretože nie je potrebné spracovávať ani ukladať žiadny ďalší kontext.
Funguje to dobre pri vyhľadávaní faktov, kde samotný dopyt obsahuje dostatok informácií na nájdenie odpovede.
Slúži ako základ, podľa ktorého sa kontextovo uvedomelé metódy zvyčajne merajú v akademických kritériách.
Tabuľka porovnania
Funkcia
Kontextové vyhľadávanie
Kontextovo slepé vyhľadávanie
Spracovanie dotazov
Používa históriu relácií a signály používateľov
Spracováva každý dopyt nezávisle
Relevantnosť v konverzáciách
Vysoká – zachováva súdržnosť dialógu
Nízka – problémy s následnými krokmi
Výpočtové náklady
Vyššia kvôli spracovaniu kontextu
Nižšie a rýchlejšie na dotaz
Personalizácia
Podporuje prispôsobenie na úrovni používateľa
Bez predvoleného prispôsobenia
Zložitosť implementácie
Vyžaduje pamäť, prepisovanie a metadáta
Jednoduché vyhľadávanie invertovaného indexu alebo vektora
BM25, základné husté vyhľadávanie, vyhľadávanie podľa kľúčových slov
Požiadavky na skladovanie
Vyžaduje ukladanie relácií a metadát
Minimálne – iba index
Podrobné porovnanie
Ako každý prístup chápe dotazy
Kontextovo spätné vyhľadávanie interpretuje dopyt ako súčasť prebiehajúcej interakcie, pričom čerpá z predchádzajúcich zmien, profilov používateľov a dokonca aj z metadát okolitých dokumentov, aby zistilo, čo niekto skutočne myslí. Kontextovo slepé vyhľadávanie naopak skúma dopyt izolovane – slová, ktoré zadáte, sú jediným signálom, ktorý používa. Vďaka tomu sú kontextovo slepé systémy predvídateľné a ľahko laditeľné, ale často míňajú cieľ, keď otázka závisí od toho, čo bolo pred ňou.
Výkon v konverzačnom prostredí
Keď sa ľudia rozprávajú s asistentom s umelou inteligenciou, doplňujúce otázky zriedkavo obstoja samy o sebe. Frázy ako „a čo ten druhý?“ alebo „ako sa to porovnáva?“ dávajú zmysel iba s predchádzajúcim kontextom. Vyhľadávanie s ohľadom na kontext ich rieši prirodzene prepísaním nejednoznačných dopytov na samostatné dopyty pred vyhľadávaním. Vyhľadávanie bez ohľadu na kontext má v takýchto prípadoch tendenciu vracať irelevantné výsledky, a preto väčšina produkčných chatbotov teraz používa nejakú formu kontextovo uvedomelého kanála.
Rýchlosť, náklady a infraštruktúra
Keďže kontextovo slepé vyhľadávanie vynecháva dodatočnú prácu spojenú s údržbou pamäte a prepisovaním dotazov, beží rýchlejšie a prevádzka vo veľkom rozsahu je lacnejšia. Kontextovo slepé vyhľadávanie pridáva réžiu – je potrebné ukladať stav relácie, spúšťať modely prepisovania dotazov a často filtrovať vektorové výsledky podľa metadát. Pri veľkoobjemových a nízko komplexných úlohách, ako je indexovanie miliónov statických dokumentov, si kontextovo slepé metódy stále udržiavajú svoju pozíciu.
Presnosť a výsledky porovnávania
Výskum v oblasti konverzačného hustého vyhľadávania, vrátane práce spoločností Meta AI a Microsoft na súboroch údajov ako QReCC a TopiOCQA, konzistentne ukazuje, že kontextovo uvedomelé metódy prekonávajú kontextovo slepé východiskové hodnoty o 10 – 20 % v skóre MRR a nDCG. Rozdiel sa zväčšuje pri viacnásobných dotazoch, kde dominujú zámená a odkazy. Pri jednonásobných faktických otázkach sa však rozdiel výrazne zmenšuje.
Keď jednoduchosť víťazí
Nie každá aplikácia potrebuje kontextové povedomie. Interné znalostné bázy, vyhľadávanie právnych dokumentov a vyhľadávanie produktov elektronického obchodu často fungujú dobre s kontextovo slepým vyhľadávaním, pretože dotazy bývajú špecifické a samostatné. V týchto scenároch je kontextovo slepé vyhľadávanie vďaka jednoduchosti, rýchlosti a nižším nákladom na infraštruktúru praktickejšou voľbou.
Výhody a nevýhody
Kontextové vyhľadávanie
Výhody
+Zvláda viacstranné konverzácie
+Podporuje personalizáciu
+Vyššie skóre relevantnosti
+Lepšie pre nejednoznačné dotazy
Cons
−Vyššie výpočtové náklady
−Zložitejšie na implementáciu
−Vyžaduje ukladanie relácií
−Ťažšie ladenie
Kontextovo slepé vyhľadávanie
Výhody
+Rýchly a ľahký
+Jednoduchá implementácia
+Nižšie náklady na infraštruktúru
+Predvídateľné správanie
Cons
−Slabé odpovede na následné otázky
−Žiadna personalizácia
−Nižšia presnosť v chate
−Chýbajú mu konverzačné podnety
Bežné mylné predstavy
Mýtus
Kontextovo uvedomené vyhľadávanie vždy prekonáva kontextovo slepé vyhľadávanie.
Realita
Nie nevyhnutne. V prípade jednostranných, dobre špecifikovaných dotazov sa kontextovo slepé metódy môžu rovnať alebo dokonca prekonať kontextovo uvedomelé metódy, pretože sa vyhýbajú šumu, ktorý niekedy prináša dodatočný kontext. Výhoda kontextovo uvedomelého vyhľadávania sa najzreteľnejšie prejavuje vo viacstranných alebo personalizovaných scenároch.
Mýtus
Kontextovo slepé vyhľadávanie je zastarané a už sa nepoužíva.
Realita
Zďaleka nie. BM25 a základné husté vyhľadávanie zostávajú chrbticou mnohých produkčných vyhľadávacích systémov vrátane vyhľadávania podnikových dokumentov a platforiem elektronického obchodu. Slúžia ako silné základy a v hybridných architektúrach sa často kombinujú s kontextovými vrstvami.
Mýtus
Kontextové vyhľadávanie znamená, že si model „pamätá“ všetko.
Realita
V praxi tieto systémy používajú obmedzené okno nedávnych konverzácií, zhrnutých metadát alebo prepísaných dotazov. Skutočná dlhodobá pamäť je stále otvoreným výskumným problémom a väčšina systémov zabudne staršie spätné väzby po opustení kontextového okna.
Mýtus
Vektorové vyhľadávanie je vždy kontextovo orientované.
Realita
Vyhľadávanie hustých vektorov môže byť oboje. Jednoduché vyhľadávanie vektorov bez filtrovania metadát alebo prepisovania dotazov je v podstate kontextovo slepé. Pridanie histórie relácií, filtrov alebo rozšírenia dotazov ho robí kontextovo slepým.
Mýtus
Kontextové vyhľadávanie eliminuje halucinácie v systémoch RAG.
Realita
Znižuje ich počet, ale neodstraňuje ich. Aj pri dobrom vyhľadávaní môžu jazykové modely stále nesprávne interpretovať pasáže alebo nesprávne kombinovať informácie. Kvalita vyhľadávania je jedným dielikom skladačky – rovnako dôležité je aj generačné správanie.
Často kladené otázky
Čo je kontextové vyhľadávanie v RAG?
Kontextové vyhľadávanie v RAG sa vzťahuje na vyhľadávanie dokumentov s ohľadom na históriu konverzácie, zámer používateľa a metadáta, a nie len na samotný dopyt. Zvyčajne zahŕňa prepisovanie dopytov, kontextové vkladanie alebo filtrovanie na základe relácie, aby sa zabezpečilo, že vyhľadávané pasáže skutočne zodpovedajú tomu, čo mal používateľ v danom kontexte na mysli.
Ako funguje vyhľadávanie bez ohľadu na kontext?
Kontextovo slepé vyhľadávanie funguje tak, že používateľov dopyt sa porovnáva s indexom bez akéhokoľvek odkazu na predchádzajúce interakcie. Do tejto kategórie patrí klasické vyhľadávanie kľúčových slov BM25 a základné vyhľadávanie hustých vektorov. Každý dopyt sa považuje za nový, nezávislý dopyt, čo udržiava systém rýchly a predvídateľný.
Čo je lepšie pre chatbotov, vyhľadávanie s ohľadom na kontext alebo vyhľadávanie bez ohľadu na kontext?
Kontextové vyhľadávanie je pre chatbotov takmer vždy lepšie, pretože používatelia často kladú doplňujúce otázky, ktoré závisia od predchádzajúcich ťahov. Bez kontextu systém nedokáže rozlíšiť zámená alebo odkazy ako „ten“ alebo „predchádzajúca možnosť“, čo vedie k irelevantným odpovediam.
Môžete kombinovať oba prístupy k vyhľadávaniu?
Áno, hybridné vyhľadávacie systémy kombinujú vyhľadávanie podľa kľúčových slov (kontextovo slepé) a sémantické (často kontextovo uvedomujúce) vyhľadávanie, aby vyvážili rýchlosť a relevantnosť. Mnohé produkčné systémy používajú BM25 spolu s hustými vnoreniami a potom zlúčia výsledky s recipročnou fúziou poradia pred použitím kontextových filtrov.
Je spustenie vyhľadávania podľa kontextu drahšie?
Vo všeobecnosti to tak je, pretože je potrebné ukladať stav relácie, spúšťať modely prepisovania dotazov a aplikovať filtre metadát. Réžia sa líši, ale v porovnaní s jednoduchým vektorovým vyhľadávaním očakávajte približne o 20 – 50 % vyššiu latenciu a výpočtový výkon v závislosti od sofistikovanosti spracovania kontextu.
Čo je prepisovanie dotazov pri vyhľadávaní s ohľadom na kontext?
Prepisovanie dotazov je proces prevodu nejednoznačnej, kontextovo závislej otázky na samostatný, samostatný dotaz pred vyhľadávaním. Napríklad „aká je jeho cena?“ môže byť prepísaná na „aká je cena iPhonu 15?“ na základe histórie konverzácie. Toto je jedna z najbežnejších techník používaných v kontextovo uvedomelých systémoch.
Je BM25 kontextovo slepý?
Áno, tradičný BM25 je kontextovo-slepý. Hodnotí dokumenty čisto na základe frekvencie výrazov a inverznej frekvencie dokumentov vzhľadom na aktuálny dopyt. BM25 však môžete zabaliť do kontextovo-uvedomelej siete tak, že najprv prepíšete dopyt alebo filtrujete výsledky podľa metadát relácie.
Aké kritériá merajú kontextovo uvedomelé vyhľadávanie?
Medzi bežné benchmarky patria QReCC (Question Rewriting in Conversational Context – prepisovanie otázok v konverzačnom kontexte), TopiOCQA (Topic-Oriented Conversational QA – kontrola kvality zameraná na témy) a CAsT (Conversational Assistance Track – sledovanie konverzačnej pomoci). Tieto súbory údajov hodnotia, ako dobre systémy zvládajú viacnásobné otázky, kde je kontext nevyhnutný pre nájdenie správnej odpovede.
Podporujú všetky vektorové databázy kontextové vyhľadávanie?
Väčšina moderných vektorových databáz, ako napríklad Pinecone, Weaviate, Chroma a Qdrant, podporuje filtrovanie metadát a hybridné vyhľadávanie, ktoré sú stavebnými kameňmi pre kontextovo orientované vyhľadávanie. Samotné spracovanie kontextu – prepisovanie dotazov, pamäť relácie – je však zvyčajne implementované na aplikačnej vrstve nad databázou.
Kedy by som mal namiesto toho použiť kontextovo slepé vyhľadávanie?
Kontextovo slepé vyhľadávanie je vhodné, keď sú dopyty samostatné, nie je potrebná personalizácia a prioritou je latencia alebo náklady. Medzi príklady patrí interné vyhľadávanie dokumentov, vyhľadávanie právnych informácií, vyhľadávanie produktov na stránkach elektronického obchodu a akýkoľvek scenár, kde používatelia zvyčajne zadávajú úplné, konkrétne otázky.
Rozsudok
Zvoľte kontextovo slepé vyhľadávanie, keď vaša aplikácia zahŕňa viacnásobné konverzácie, personalizáciu alebo nejednoznačné následné dotazy – je to štandard pre moderných asistentov RAG a AI. Pre jednoduché jednorázové vyhľadávania, kde rýchlosť a nízke náklady sú dôležitejšie ako hĺbka konverzácie, použite kontextovo slepé vyhľadávanie.