diff --git a/K2-Search.md b/K2-Search.md index 33d1a45..5f61661 100644 --- a/K2-Search.md +++ b/K2-Search.md @@ -41,7 +41,7 @@ Minden eleme az általunk épített fának tartalmazhat egy Context-et vagy egy A contextben található minden olyan információ ami az adott content könnyebb megértéséhez és megtalálásához szükséges lehet (pl: a törvénynek a címe, a preambulum, a fejezet címe). A content pedig minden olyan tartalom ami a keresések megválaszolásához szükséges információkat tartalmazzák (pl: egy paragrafus tartalma, egy táblázat szövege). -A chunkok ebből a fa szerkezetből épülnek fel, ahogy bejárjuk a fát minden context-et összefűzünk egészen addig amíg nem érkezünk egy olyan levélhez ami content-et tartalmaz. Ezáltal a végén kapunk egy olyan egybefüggő szöveget amiben szerkezet szerint a kontextus-ban szerepel minden content-ig vezető információ, és a contentben összefűzve az kereshető rész áll elő. A legvégén pedig eltávolítunk minden HMTL/XML elemet a szövegből. +A chunkok ebből a fa szerkezetből épülnek fel, ahogy bejárjuk a fát minden context-et összefűzünk egészen addig amíg nem érkezünk egy olyan levélhez ami content-et tartalmaz. Ezáltal a végén kapunk egy olyan egybefüggő szöveget amiben szerkezet szerint a kontextusban szerepel minden content-ig vezető információ, és a contentben összefűzve az kereshető rész áll elő. A legvégén pedig eltávolítunk minden HMTL/XML elemet a szövegből. A `jhId` (NJT-n való anchor linkek előállításához szükséges) hozzárendelése a chunkokhoz egyszerűen a fában való felfele kereséssel lett megoldva, így a chunkhoz legközelebbi `jhId`-t tudjuk meghatározni. @@ -49,7 +49,7 @@ A `jhId` (NJT-n való anchor linkek előállításához szükséges) hozzárende ## Keresési találatok szövegkiemelése A beérkező kérést feldaraboljuk szavakra és eltávolítunk belőle minden nem a magyar ABC-ben szereplő karaktert. -Ezeknek a szavaknak megkeressük a szótöveit a Hunspell nevű könyvtárral, majd ezeknek az összegyűjtött szavaknak és szótöveknek megkeressük a szinonímáit egy Thesaurus nevű könyvtárral és ezeket is belerakjuk a lehetséges kiemelendő szavak közé. +Ezeknek a szavaknak megkeressük a szótöveit a Hunspell nevű könyvtárral, majd ezeknek az összegyűjtött szavaknak és szótöveknek megkeressük a szinonimáit egy Thesaurus nevű könyvtárral és ezeket is belerakjuk a lehetséges kiemelendő szavak közé. A kiemelt szavakat szűrjük egy előre megírt listával ami tartalmazza a kötőszavakat/kérdőszavakat és egyéb szavakat amit nem szeretnénk semmilyen formában látni a kiemelés során. @@ -107,7 +107,8 @@ Továbbá a chunk építés során gyűjtünk egy listát ami alias-okat tartalm - nv-embed-v2 - backend: egyedi (SentenceTransformer) - Tapasztalat: - - nem generál megfelelő vektorokat 16bit precízió mellett GPU-n, 32bites módban nincs elég VRAM + - Nem generál megfelelő vektorokat 16bit precízió mellett GPU-n, 32bites módban nincs elég VRAM + - Érdemes visszatérni hozzá, amennyiben elterjedtebb lesz és rendelkezésre áll megfelelő tooling, vagy nagyobb hardverkapacitás ## Embedding Backendek