Vektoradatbázis
Röviden
A vektoradatbázis olyan adatbázis, amely szövegek, képek vagy más tartalmak jelentését számvektorként (embeddingként) tárolja, így jelentésbeli hasonlóság alapján lehet keresni benne. Jellemzően a RAG-rendszerek tudástáraként szolgál.
A hagyományos keresés a szavak egyezését nézi, a vektoros keresés a jelentését. Ha valaki a „szabadság igénylése” kifejezésre keres, a vektoradatbázis akkor is megtalálja a „távollét bejelentése” című szabályzatot, ha abban a keresett szavak egyike sem szerepel. Ismert megoldások a PostgreSQL-hez tartozó pgvector bővítmény, a Qdrant, a Weaviate vagy a Pinecone. A gyakorlatban sokszor hibrid keresést használnak, amely a kulcsszavas és a jelentés szerinti találatokat együtt rangsorolja.
Példa a gyakorlatból
Egy építőanyag-webshop vásárlói gyakran nem a termék nevét, hanem a problémájukat írják be, például „vizes pincefal szigetelése”. A vektoros keresés a termékleírások jelentése alapján a megfelelő szigetelőanyagokat és kiegészítőket is felajánlja, nem csak azokat, amelyek nevében szerepel a „pince” szó.
Mikor nem ez a jó választás?
Pontos azonosítókra, például cikkszámra, számlaszámra vagy adószámra a hagyományos keresés gyorsabb és biztosabb. Ha a kereshető anyag csak néhány tucat oldal, külön vektoradatbázis helyett a teljes szöveg közvetlenül is átadható a nyelvi modellnek. Egy új adatbázis-technológia üzemeltetési terhet is jelent, ezt érdemes beárazni.
Hogyan dolgozunk vele a Composite-nál?
Ha a cég már PostgreSQL-t használ, gyakran a pgvector bővítmény is elég, így nem kell újabb rendszert üzemeltetni. A keresést hibridként építjük fel, hogy a jelentés szerinti és a pontos egyezésen alapuló találatok is megjelenjenek.
Kapcsolódó fogalmak
- Embedding (jelentésvektor)Az embedding egy szöveg, kép vagy más tartalom jelentését leíró számsor (vektor), amelyet egy erre tanított modell állít elő. Két embedding távolsága megmutatja, mennyire hasonló a két tartalom jelentése, ezért a gépi keresés és csoportosítás alapja.
- RAG (Retrieval-Augmented Generation)A RAG (Retrieval-Augmented Generation) olyan módszer, amelyben a nyelvi modell a válasz megírása előtt kikeresi a releváns részeket a cég saját dokumentumaiból, és ezekre támaszkodva, forrásmegjelöléssel válaszol, a modell újratanítása nélkül.