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
|
# Vektoros keresés
|
||||||
## Embedding Modellek
|
|
||||||
|
|
||||||
- Llama 3.2 72B
|
## Embedding
|
||||||
- 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
|
|
||||||
|
|
||||||
|
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
|
## 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
|
- CPU/GPU support
|
||||||
- ONNX formátum szükséges, csak támogatott architektúrákkal megy
|
- 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
|
## 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
|
- 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
|
- hivatalos Docker image
|
||||||
|
|
||||||
## Reranking
|
## Reranking
|
||||||
|
|||||||
Reference in New Issue
Block a user