Embedid
Kiire määratlus
Embed on numbrite loend (vektor), mis esindab teksti, pildi või muu objekti tähendust, nii et sarnased objektid saavad lähedased vektorid. Embedid on need, mis muudavad tähenduse järgi otsimise võimalikuks.
Sellel lehel
Kuidas embedid töötavad
Embedi mudel loeb teksti ja väljastab fikseeritud pikkusega vektori, tavaliselt mitusada kuni paar tuhat numbrit. Mudel on koolitatud nii, et sarnase tähendusega tekstid asuvad selles ruumis üksteise lähedal: "tagasimakse poliitika" ja "kuidas ma saan oma raha tagasi?" ei jaga peaaegu ühtegi sõna, kuid toodavad lähedasi vektoreid.
Idee ulatub sõnavektoriteni, nagu word2vec (Mikolov ja kolleegid, 2013), mis õppis, et sarnastes kontekstides esinevad sõnad omavad sarnast tähendust. Lause tasandi mudelid, nagu Sentence-BERT (2019), laiendasid seda tervetele lausetele ja lõikudele, mis on see, mida otsing ja küsimustele vastamine vajavad.
Milleks neid kasutatakse
Embad tähenduse otsingut: võrrelge küsimuse vektorit salvestatud lõikude vektoritega ja tagastage lähim. Need on taastamise samm taastatud genereerimise (RAG) puhul. Need teenivad ka sarnaste vestluste rühmitamiseks, duplikaatide tuvastamiseks, sarnaste toodete soovitamiseks ja sõnumi suunamiseks õigele teemale.
Mitmekeelsed embamismudelid paigutavad prantsuskeelse küsimuse ja ingliskeelse lõigu lähedale, kui need tähendavad sama asja, mis võimaldab ühel teadmistebaasil teenindada kliente paljudes keeltes.
Praktilised punktid
Erinevate mudelite vektoreid ei saa võrrelda: kui muudate embamismudelit, tuleb iga salvestatud lõik uuesti embada. Embad jäädvustavad tähendust, mitte täpseid väärtusi, seega on need halvad täpsete filtrite, nagu hinnavahemik või toote viide, jaoks — need vajavad struktureeritud välju või märksõna otsingut. Ja pikad dokumendid tuleb enne embamist jagada lõikudeks, sest üks vektor kogu käsiraamatu jaoks hägustab selle sisu.
Embamismudelid erinevad ka keelekatte, mõõtmete (ja seega ka salvestuskulude) ning selle poolest, kus neid majutatakse.
Embad AI SmartTalkis
Iga AI SmartTalk assistent kasutab kogu oma teadmiste jaoks ühte embamismudelit. Uued assistendid kasutavad vaikimisi EL-is majutatud mitmekeelsest mudelist, samuti on saadaval OpenAI embamismudelid. Vektorid salvestatakse PostgreSQL-is pgvectori abil ja kombineeritakse märksõna ja trigrammi otsinguga, et toote viiteid ja täpseid termineid leida sama usaldusväärselt kui parafraseeritud küsimusi.
Korduma kippuvad küsimused
Mis vahe on embamisel ja tokenil?
Token on tekstilõik, umbes sõna fragment, mida mudel loeb. Embamine on numbrite vektor, mis esindab tähendust — tokeni, lause või kogu lõigu.
Kas embad on sama mis vektori andmebaas?
Ei. Embad on vektorid; vektori andmebaas või indeks salvestab need ja leiab lähimad kiiresti.
Kas ma saan hiljem embamismudeleid vahetada?
Jah, kuid iga salvestatud ese peab olema uuesti embatud uue mudeliga, kuna erinevate mudelite vektorid elavad erinevates ruumides ja neid ei saa võrrelda.