Embeddingek
Gyors definíció
Egy embedding egy számok listája (vektor), amely egy szöveg, kép vagy más elem jelentését képviseli, így a hasonló elemek közeli vektorokat kapnak. Az embeddingek teszik lehetővé a jelentés szerinti keresést.
Ezen az oldalon
Hogyan működnek az embeddingek
Egy embedding modell elolvassa a szöveget és egy fix hosszúságú vektort ad ki, jellemzően több száztól néhány ezer számig. A modellt úgy képezték ki, hogy a hasonló jelentésű szövegek közel kerüljenek egymáshoz ebben a térben: a "visszatérítési politika" és a "hogyan kaphatom vissza a pénzem?" szinte egy szót sem osztanak meg, de közeli vektorokat produkálnak.
Az ötlet visszanyúlik a szót vektorokhoz, mint például a word2vec (Mikolov és kollégái, 2013), amely megtanulta, hogy a hasonló kontextusokban megjelenő szavak hasonló jelentéssel bírnak. A mondatszintű modellek, mint például a Sentence-BERT (2019) kiterjesztették ezt egész mondatokra és szakaszokra, amire a keresésnek és a kérdés-válaszolásnak szüksége van.
Mire használják őket
Az embeddingek lehetővé teszik a szemantikus keresést: összehasonlítják egy kérdés vektorát a tárolt szövegek vektoraival, és visszaadják a legközelebbit. Ezek a lekérdezési lépés a lekérdezés-kiegészített generálás (RAG) során. Szolgálnak hasonló beszélgetések klaszterezésére, duplikátumok észlelésére, hasonló termékek ajánlására és üzenetek a megfelelő témához való irányítására.
A többnyelvű embedding modellek közel helyezik el egymáshoz a francia kérdést és az angol szöveget, amikor ugyanazt jelentik, így egy tudásbázis több nyelven is kiszolgálhatja az ügyfeleket.
Gyakorlati szempontok
Különböző modellekből származó vektorok nem összehasonlíthatók: ha megváltoztatja az embedding modellt, minden tárolt szöveget újra kell embeddingelni. Az embeddingek a jelentést rögzítik, nem a pontos értékeket, ezért gyengék a pontos szűrők, mint például egy árkategória vagy egy termék referencia — ezek strukturált mezőket vagy kulcsszavas keresést igényelnek. A hosszú dokumentumokat szövegekre kell bontani az embeddingelés előtt, mert egy vektor egy egész kézikönyvért elmosódik a tartalma.
Embeddingek az AI SmartTalkban
Minden AI SmartTalk asszisztens egy embedding modellt használ az összes tudásához. Az új asszisztensek alapértelmezés szerint egy EU-ban hosztolt többnyelvű modellt használnak, és az OpenAI embedding modellek is elérhetők. A vektorok PostgreSQL-ben tárolódnak pgvectorral, és kulcsszavas valamint trigram kereséssel kombinálódnak, így a termékreferenciák és pontos kifejezések megbízhatóan megtalálhatók, mint a parafrázisokkal megfogalmazott kérdések.
Gyakran ismételt kérdések
Mi a különbség az embedding és a token között?
A token egy szövegrész, nagyjából egy szófragmentum, amelyet egy modell olvas. Az embedding egy számokból álló vektor, amely a jelentést képviseli — egy token, egy mondat vagy egy egész szöveg esetében.
Az embeddingek ugyanazok, mint egy vektor adatbázis?
Nem. Az embeddingek a vektorok; egy vektor adatbázis vagy index tárolja őket, és gyorsan megtalálja a legközelebbiakat.
Később át tudom váltani az embedding modelleket?
Igen, de minden tárolt elemet újra kell embeddingelni az új modellel, mert a különböző modellekből származó vektorok különböző terekben élnek, és nem hasonlíthatók össze.