Ugradnje
Brza definicija
Ugradnja je popis brojeva (vektor) koji predstavlja značenje teksta, slike ili drugog predmeta, tako da slični predmeti dobiju bliske vektore. Ugradnje su ono što omogućava pretraživanje prema značenju.
Na ovoj stranici
Kako ugradnje rade
Model ugradnje čita tekst i izlazi s vektorom fiksne duljine, obično nekoliko stotina do nekoliko tisuća brojeva. Model je treniran tako da tekstovi s srodnim značenjima završe blizu jedni drugih u tom prostoru: "politika povrata" i "kako mogu dobiti svoj novac natrag?" dijele gotovo nijednu riječ, ali proizvode bliske vektore.
Ideja seže do vektora riječi poput word2vec (Mikolov i suradnici, 2013), koji su naučili da riječi koje se pojavljuju u sličnim kontekstima imaju slična značenja. Modeli na razini rečenica poput Sentence-BERT (2019) proširili su to na cijele rečenice i odlomke, što je ono što pretraživanje i odgovaranje na pitanja trebaju.
Za što se koriste
Ugradnje pokreću semantičko pretraživanje: uspoređuju vektor pitanja s vektorima pohranjenih odlomaka i vraćaju najbliže. One su korak preuzimanja u generaciji obogaćenoj preuzimanjem (RAG). Također služe za grupiranje sličnih razgovora, otkrivanje duplikata, preporučivanje sličnih proizvoda i usmjeravanje poruke na pravu temu.
Višejezični modeli ugradnje postavljaju pitanje na francuskom i odlomak na engleskom blizu zajedno kada znače istu stvar, što omogućuje jednoj bazi znanja da opslužuje kupce na mnogim jezicima.
Praktične točke
Vektori iz različitih modela nisu usporedivi: ako promijenite model ugradnje, svaki pohranjeni odlomak mora se ponovno ugraditi. Ugradnje hvataju značenje, a ne točne vrijednosti, pa su loše za precizne filtre poput raspona cijena ili reference proizvoda — za to su potrebna strukturirana polja ili pretraživanje ključnih riječi uz to. A dugi dokumenti moraju se podijeliti na odlomke prije ugradnje, jer jedan vektor za cijeli priručnik zamagljuje njegov sadržaj.
Modeli ugradnje također se razlikuju u pokrivenosti jezika, dimenziji (a time i trošku pohrane) i mjestu gdje su hostani.
Ugradnje u AI SmartTalk
Svaki AI SmartTalk asistent koristi jedan model ugradnje za sve svoje znanje. Novi asistenti prema zadanim postavkama koriste višejezični model hostan u EU, a dostupni su i OpenAI modeli ugradnje. Vektori su pohranjeni u PostgreSQL s pgvector i kombinirani s pretraživanjem ključnih riječi i trigramom, tako da se reference proizvoda i točni pojmovi pronalaze pouzdano kao parafrazirana pitanja.
Često postavljana pitanja
Koja je razlika između ugradnje i tokena?
Token je komad teksta, otprilike fragment riječi, koji model čita. Ugradnja je vektor brojeva koji predstavlja značenje — tokena, rečenice ili cijelog odlomka.
Jesu li ugradnje isto što i vektorska baza podataka?
Ne. Ugradnje su vektori; vektorska baza podataka ili indeks pohranjuje ih i brzo pronalazi najbliže.
Mogu li kasnije promijeniti modele ugradnje?
Da, ali svaki pohranjeni predmet mora se ponovno ugraditi s novim modelom, jer vektori iz različitih modela žive u različitim prostorima i ne mogu se uspoređivati.