Įterpimai
Greitas apibrėžimas
Įterpimas yra skaičių sąrašas (vektorius), kuris atspindi teksto, vaizdo ar kito elemento prasmę, kad panašūs elementai gautų netoliese esančius vektorius. Įterpimai yra tai, kas leidžia paiešką pagal prasmę.
Šioje puslapio dalyje
Kaip veikia įterpimai
Įterpimo modelis skaito tekstą ir išveda fiksuoto ilgio vektorių, paprastai kelis šimtus iki kelių tūkstančių skaičių. Modelis yra apmokytas taip, kad tekstai su susijusiomis prasmėmis atsidurtų arti vienas kito toje erdvėje: „grąžinimo politika“ ir „kaip galiu gauti savo pinigus atgal?“ dalijasi beveik jokiais žodžiais, bet sukuria artimus vektorius.
Idėja grįžta prie žodžių vektorių, tokių kaip word2vec (Mikolov ir kolegos, 2013), kurie išmoko, kad žodžiai, pasirodantys panašiose kontekstuose, turi panašias prasmes. Sakinių lygio modeliai, tokie kaip Sentence-BERT (2019), išplėtė tai į visus sakinius ir ištraukas, kas yra tai, ko reikia paieškai ir klausimų atsakymui.
Kam jie naudojami
Įterpimai suteikia galią semantiniam paieškai: palygina klausimo vektorių su saugomų fragmentų vektoriais ir grąžina artimiausią. Jie yra paieškos etapas atsižvelgiant į atgautą generavimą (RAG). Jie taip pat tarnauja panašių pokalbių grupavimui, dubliatų aptikimui, panašių produktų rekomendavimui ir žinutės nukreipimui į tinkamą temą.
Daugiakalbiai įterpimo modeliai artina klausimą prancūzų kalba ir fragmentą anglų kalba, kai jie reiškia tą patį, leidžiant vienai žinių bazei aptarnauti klientus daugeliu kalbų.
Praktiniai aspektai
Skirtingų modelių vektoriai nėra lyginami: jei pakeisite įterpimo modelį, kiekvienas saugomas fragmentas turi būti vėl įterptas. Įterpimai fiksuoja prasmę, o ne tikslias vertes, todėl jie prastai veikia tiksliems filtrams, tokiems kaip kainų intervalas ar produkto nuoroda — tam reikia struktūrizuotų laukų arba raktinių žodžių paieškos. Ir ilgi dokumentai turi būti padalinti į fragmentus prieš įterpimą, nes vienas vektorius visam vadovui išblukina jo turinį.
Įterpimo modeliai taip pat skiriasi kalbų aprėptimi, dimensija (ir todėl saugojimo kaina) bei jų talpinimo vieta.
Įterpimai AI SmartTalk
Kiekvienas AI SmartTalk asistentas naudoja vieną įterpimo modelį visai savo žiniai. Nauji asistentai pagal numatytuosius nustatymus naudoja ES talpinamą daugiakalbį modelį, taip pat yra prieinami OpenAI įterpimo modeliai. Vektoriai saugomi PostgreSQL su pgvector ir derinami su raktinių žodžių ir trigramų paieška, kad produkto nuorodos ir tikslūs terminai būtų randami patikimai kaip perfrazuoti klausimai.
Dažnai užduodami klausimai
Koks skirtumas tarp įterpimo ir ženklo?
Ženklas yra teksto dalis, maždaug žodžio fragmentas, kurį modelis skaito. Įterpimas yra skaičių vektorius, kuris atspindi prasmę — ženklo, sakinio ar viso fragmento.
Ar įterpimai yra tas pats, kas vektorių duomenų bazė?
Ne. Įterpimai yra vektoriai; vektorių duomenų bazė arba indeksas juos saugo ir greitai randa artimiausius.
Ar galiu vėliau pakeisti įterpimo modelius?
Taip, tačiau kiekvienas saugomas elementas turi būti vėl įterptas su nauju modeliu, nes skirtingų modelių vektoriai gyvena skirtingose erdvėse ir negali būti lyginami.