Update K2 Search
59
K2-Search.md
59
K2-Search.md
@@ -89,27 +89,10 @@ Továbbá a chunk építés során gyűjtünk egy listát ami alias-okat tartalm
|
||||
|
||||
|
||||
# Vektoros keresés
|
||||
## Embedding Modellek
|
||||
|
||||
- Llama 3.2 72B
|
||||
- Backend: Ollama
|
||||
- Tapasztalat: az egyes embeddingek vektorai túl hasonlóak, ezért nem alkalmasak keresésre
|
||||
- gte-Qwen2-7B-instruct
|
||||
- Backend: Ollama
|
||||
- Tapasztalat:
|
||||
Ez a modell specifikusan embedding célokra van tanítva, ezért a generált vektorok között nagyobb a távolság, jól kereshető.
|
||||
A kisebb paraméterszám ellenére is jobb találatokat ad, mint a Llama3.2 modell.
|
||||
Ezen felül sokkal gyorsabb a vektorok generálása, az előzetes embedding generálás és a felhasználó keresések során egyaránt.
|
||||
- bge-multilingual-gemma2
|
||||
- Backend: egyedi (SentenceTransformer)
|
||||
- Tapasztalat:
|
||||
A Qwen embedding modellhez hasonlóan szintén jól összehasonlítható vektorokat generál.
|
||||
- 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
|
||||
- Érdemes visszatérni hozzá, amennyiben elterjedtebb lesz és rendelkezésre áll megfelelő tooling, vagy nagyobb hardverkapacitás
|
||||
## Embedding
|
||||
|
||||
Az embedding során egy adott modellel előállítjuk egy *chunk* szemantikai vektoros reprezentációját, amit később felhasználunk a kereséshez.
|
||||
|
||||
## Embedding Backendek
|
||||
|
||||
@@ -128,10 +111,46 @@ Továbbá a chunk építés során gyűjtünk egy listát ami alias-okat tartalm
|
||||
- CPU/GPU support
|
||||
- ONNX formátum szükséges, csak támogatott architektúrákkal megy
|
||||
|
||||
## Embedding Modellek
|
||||
|
||||
A vektorok előállításához használt modellek nagyban befolyásolják a keresési találatok minőségét.
|
||||
Jellemzően a kevesebb paraméteres, de specifikusan embedding célra tanított modellek jobban teljesítenek, mint a komplexebb modellek.
|
||||
További előny, ha a modell tanító adathalmaza a célnyelvnek megfelelő szöveget tartalmazott.
|
||||
|
||||
- Llama 3.2 72B
|
||||
- Backend: Ollama
|
||||
- Tapasztalat:
|
||||
Az egyes embeddingek vektorai túl hasonlóak, ezért nem alkalmasak keresésre
|
||||
- gte-Qwen2-7B-instruct
|
||||
- Backend: Ollama
|
||||
- A töbnyelvű embedding rangsorban 2. helyezett jelenleg
|
||||
- Tapasztalat:
|
||||
Ez a modell specifikusan embedding célokra van tanítva, ezért a generált vektorok között nagyobb a távolság, jól kereshető.
|
||||
A kisebb paraméterszám ellenére is jobb találatokat ad, mint a Llama3.2 modell.
|
||||
Ezen felül sokkal gyorsabb a vektorok generálása, az előzetes embedding generálás és a felhasználó keresések során egyaránt.
|
||||
- bge-multilingual-gemma2
|
||||
- Backend: egyedi (SentenceTransformer)
|
||||
- A töbnyelvű embedding rangsorban 1. helyezett jelenleg
|
||||
- Tapasztalat:
|
||||
A Qwen embedding modellhez hasonlóan szintén jól összehasonlítható vektorokat generál.
|
||||
- nv-embed-v2
|
||||
- Backend: egyedi (SentenceTransformer)
|
||||
- Új modell (2024. 09.)
|
||||
- Az embedding modell rangsor élén áll jelenleg
|
||||
- Tapasztalat:
|
||||
- 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
|
||||
|
||||
## Vektoros keresés
|
||||
|
||||
- Qdrant
|
||||
A korábban elkészített embedding vektorokat a felhasználó által keresett kifejezésből, hasonlóan képzett vektorokkal hasonlítja össze.
|
||||
A vektorok irányát és/vagy távolságát kiszámítva megállapítható, hogy mely *chunk*-ok relevánsak a kereséshez.
|
||||
|
||||
- Vektor adatbázis: Qdrant
|
||||
- nagyobb méretű vektorok támogatása
|
||||
- webes kezelőfelület
|
||||
- csak az embedding vektort és a szükséges metaadatokat tárolja
|
||||
- egyéb adatok a normál adatbázisban
|
||||
- hivatalos Docker image
|
||||
|
||||
## Reranking
|
||||
|
||||
Reference in New Issue
Block a user