Update K2 Search

2024-10-24 23:26:58 +02:00
parent 5e0af61f6b
commit 269ab85855

@@ -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