Az embedding egy szöveg, kép, hang vagy bármilyen tartalom matematikai reprezentációja egy számokból álló vektor formájában — tipikusan 384-3072 dimenziós. Az „adat számokká alakítása” nem új ötlet, de az embedding-modellek (BERT, OpenAI text-embedding, Sentence Transformers) abban különleges, hogy a generált vektorok megőrzik a jelentést: két hasonló jelentésű mondat hasonló embedding-vektort kap, és ezzel matematikailag megmérhetővé válik a szövegek jelentés-közelsége.
Így is ismerheted
Magyarul vektor-reprezentáció, jelentés-vektor, vagy közismertebb formában: szövegbeágyazás (text embedding). Angolul a klasszikus embedding, vector embedding, text embedding, vagy specifikusan a generáló modellről nevezve: BERT embedding, OpenAI embedding, Sentence-BERT. Az embedding fogalma a klasszikus szóbeágyazási modellektől (Word2Vec, GloVe) jött, ahol az egyes szavak kaptak vektort; a modern modellek ezt mondatokra, bekezdésekre, teljes dokumentumokra is kiterjesztik.
Mire jó az embedding az üzleti életben?
Az embedding ott jelenik meg, ahol AI-vel keresel, csoportosítasz, vagy hasonlóságot mérsz. A négy leggyakoribb felhasználási terület:
Szemantikus keresés: a céges tudásbázisban egy felhasználó kérdést tesz fel, és a rendszer a jelentés-alapján találja meg a releváns dokumentumot — akkor is, ha a megfogalmazás teljesen más. „Hogyan engedhetek el egy munkavállalót?” → megtalálja a „munkaviszony-megszüntetési eljárás” szabályzatot.
Ajánlórendszer: webshopban a vásárlónak hasonló termékeket mutatsz. A termékleírások embedding-jét összehasonlítva olyan termékek jelennek meg, amelyek tényleg hasonlók, nem csak ugyanabban a kategóriában vannak.
Klaszterezés és kategorizálás: 10 ezer beérkező e-mailt automatikusan csoportokba rendezel (panasz, dicséret, kérdés, információkérés), anélkül, hogy előre kategóriákat definiáltál volna — a rendszer maga rajzolja meg, mit talál hasonlónak.
Duplikáció-keresés: 50 ezer ügyfél-rekordból megtalálod azokat, akik valószínűleg duplikátumok, akkor is, ha a nevük picit másképp van írva („Kovács J.” vs. „Kovács János” vs. „dr. Kovács János”).
Hogyan készül egy embedding?
A háttérben egy gépi tanulási modell dolgozik (neurális háló), amit hatalmas szövegmennyiségen tanítottak. Amikor a modellnek odaadod a szöveget, az átfut a hálózaton, és a végső réteg kimeneteként kapod a vektort. A modell „megtanulta”, hogyan reprezentálja a jelentést úgy, hogy a hasonló szövegek hasonló vektort kapjanak.
Praktikusan a fejlesztőként ez így néz ki egy OpenAI-példán:
const response = await openai.embeddings.create({
model: "text-embedding-3-small",
input: "A CDN gyorsítótárazza a weboldal képeit",
});
// response.data[0].embedding egy 1536 elemű szám-tömb
// pl. [0.012, -0.045, 0.182, ...]
Ezt a vektort aztán eltárolod egy vektoradatbázisban, és onnan tudod más vektorokkal összehasonlítani.
Milyen embedding-modellt válassz?
A piac fő opciói:
- OpenAI text-embedding-3-small — ~$0.02 / millió token, 1536 dimenziós, jól dolgozik magyar nyelven is.
- OpenAI text-embedding-3-large — pontosabb, 3072 dimenziós, drágább.
- Sentence Transformers — open-source, önhostolható, kisebb modellek (paraphrase-multilingual-mpnet, jó magyarul).
- Cohere Embed — versenytárs az OpenAI-nak, jó többnyelvű támogatás.
- Voyage AI — speciálisan retrieval-re trénelt, magasabb minőség nagyobb tudásbázisokon.
A 90%-os esetre az OpenAI text-embedding-3-small bevált választás — olcsó, gyors, jó minőség. Ha viszont GDPR miatt nem mehetnek külföldi szerverre az adatok, a Sentence Transformers önhostolva jól pótol. A választás szempontjai: minőség (mennyire pontos a jelentés-megfogás), költség (hívásonként, vagy hosting-cost), nyelvi támogatás (magyar! sok modell csak angolt tud jól), és dimenzió (kevesebb dimenzió = olcsóbb tárolás és gyorsabb keresés, de pontatlanabb).
Hogyan használd a gyakorlatban?
A klasszikus folyamat egy AI-rendszerben:
- Indexálás — minden dokumentumot 300-500 szavas darabokra (chunk) bontasz, mindegyikre embedding-et generálsz, és eltárolod a vektoradatbázisban.
- Lekérdezés — a felhasználó kérdést tesz fel, a kérdésre is embedding-et generálsz.
- Keresés — a kérdés-vektor és a tárolt vektorok közül kiválasztod a 5-10 legközelebbit (cosine similarity vagy más metrika).
- Hasznosítás — a talált dokumentum-darabokat vagy közvetlenül megjeleníted (kereső), vagy odaadod egy nyelvi modellnek (RAG: RAG architektúra).
Mire figyelj?
Az első buktató a nyelvi kompatibilitás. Sok embedding-modell csak angolul jó; magyaron mérhetően rosszabbul teljesít. Az OpenAI újabb modelljei (3-small, 3-large) jól dolgoznak magyarul; a Sentence Transformers családban a paraphrase-multilingual változat ajánlott. Tesztelj saját adaton mielőtt nagyba lépsz.
A második a chunk-stratégia. Az embedding minősége nagyban függ attól, milyen méretű és felépítésű szövegeket adsz neki. Túl rövid (50-100 szó): elveszik a kontextus. Túl hosszú (2000+ szó): elhomályosul a jelentés. Klasszikus ajánlás: 300-500 szó, 20-50 szavas overlap-pel (átfedés).
A harmadik a frissítés-stratégia. Ha a dokumentumaid változnak, az embedding-eket is frissíteni kell. Ez API-költséget jelent, ezért érdemes inkremens módon (csak a változott chunk-ok újraszámítása) dolgozni.
A negyedik a költség. Egy 10 ezer dokumentumos tudásbázisnál (300 chunk dokumentumonként), az indexálás ~3 millió chunk × 500 token = 1,5 milliárd token. OpenAI-on ez ~30 USD egyszer. Lekérdezésenként minimális. De ha napi 1000 új dokumentum jön be, az folyamatos költség.
Ha az embedding-ekre épülő AI-megoldást szeretnél a cégedben — szemantikus keresés, ajánló, kategorizálás —, az AI és automatizáció szolgáltatásunk pont erre épül: technológia-választás, indexálási folyamat, integráció. Egy ügyféloldali kereső vagy chatbot esetén a chatbot fejlesztés a relevánsabb induló pont. További olvasnivaló: platform.openai.com/docs/guides/embeddings.