Adatgyűjtés
Adatgyűjtés alatt alapvetően kicsit zavaros, hogy mit is értünk. Ez egy nagyon átfogó fogalom és lépés, mely a RAG problémáját próbálja megoldani a Guru esetén. A feladat tehát valahogy a következőképp fogalmazható meg:
Szöveges visszakeresés
Adott: Szöveges chunk-ok egy \(\mathcal{D}\) halmaza, egy \(q\) kérdés, és \(C\) kérdést támogató segédinformációk („kontextus“).
Feladat: Keressük meg \(q\) és \(C\) segítségével azon \(\mathcal{D}\)-beli chunk-okat, melyek tartalmazzák a pontos válaszadáshoz szükséges információt.
A chunk-ok előállításának módszerét a Dokumentum chunk-olás szócikk tárgyalja. Most magát a keresést fogjuk részletezni technikai oldalról.
Hybrid search
A hibrid keresés a kulcsszavas és szemantikus keresések, illetve az átrangsorolás vegyítése. Menete a következő:
-
Beérkező \(q\) üzenetre meghívjuk a kulcsszavas és szemantikus keresést, és lekérjük a
-
a top \(k_k\) és \(k_s\) találatot, ezek a hibrid keresés kimenetébe kerülnek
-
top \(k'_k\) és \(k'_s\) találatot, ezeken átrangsorolást hajtunk végre
-
-
Átrangsoroljuk az így kapott \(k'_k+k'_s\) találatot (szintén \(q\) alapján), és ebből vesszük a top \(k_r\) találatot.
-
Végül összefésüljük a találatokat, ezzel kapva \(k_k+k_s+k_r\) sokat
Jelenleg \(k_k = k_s = k_r = 3\) és \(k'_k = k'_s = 10\) értékeket alkalmazunk, azaz az átrangsorolás 20 chunk-ra fut, és a hibrid keresés (legfeljebb) 9 chunk-ot ad vissza.
Mikor lehet ennél kevesebb?
Amennyiben a különböző lépésekből ugyanaz a chunk kerülne a végső halmazba, ez deduplikálásra kerül, azaz a végső kimenetben 2-3 példány helyett csak 1-szer fog szerepelni. Következik, hogy a hibrid keresés kimenete legalább \(\max(k_k,k_s,k_r)\) chunk-ot mindenképp tartalmaz (ami jelenleg 3).
Kezdeti adatgyűjtés
Előfeltételek: Topic Extractor (opcionális)
Felhasználja: Tool Selector, Relevance Extractor
A hibrid keresés minden QA ágra érkezett kérdésen automatikusan lefut. Ezt a folyamatot nevezzük kezdeti adatgyűjtésnek. Amennyiben a Topic Extractor képes témákat meghatározni, úgy futtatunk egy hibrid keresést ezekkel, mint szűrők. Így a kezdeti adatgyűjtés legfeljebb két hibrid keresésnyi találattal térhet vissza.
Utólagos adatgyűjtés
Előfeltételek: Question Reform, Tool Selector, Topic Extractor (opcionális)
Felhasználja: Relevance Extractor
Előfordulhat, hogy a kezdeti adatgyűjtés nem találja meg a megfelelő információkat, vagy nem mindet. Ekkor jön képbe az utólagos adatgyűjtés.
Az „eszközt“ a Tool Selector dönti el, hogy szükséges-e meghívni. Amennyiben igen ugyanúgy lefuttatjuk a hibrid keresést, ugyanakkor az eredeti kérdés helyett a Question Reform által újrafogalmazott kérdésre (továbbá hasonlóan a Topic Extractor eredménye alapján egy szűréssel ellátott verziót is futtathatunk).
Az így kapott chunk-halmaz kiegészíti a korábban találtakat, és ez után a következő lépés már mindenképp a Relevance Extractor.