Šta su ugrađivanja teksta i kako funkcionišu [+primeri]

Ovaj vodič objašnjava šta su ugrađivanja teksta, kako pretvaraju tekst u vektore koji obuhvataju značenje i kako da izaberete, procenite i primenite modele za ugrađivanje u pretrazi, RAG-u i drugim slučajevima upotrebe iz prakse.

Diagram of what text embeddings are: two customer tickets, “I was charged twice for my subscription.” and “There’s a duplicate payment on my account.”, are converted by a text embedding model into similar vectors that sit close together in the billing issues cluster of a 2D embedding space, so both are routed to the billing support queue.

Ako vam je osnovni koncept tekstualnih ugrađivanja (text embeddings) poznat, ali se pitate kako da ih primenite u praksi, na pravom ste mestu. Raščlanićemo vektore, tokenizaciju i izračunavanje sličnosti, zaroniti duboko u evaluaciju modela za ugrađivanje i pokazati vam primere primene iz stvarnog sveta.

Šta su tekstualna ugrađivanja?

Tekstualna ugrađivanja su numeričke reprezentacije reči, rečenica ili dokumenata koje obuhvataju njihovo semantičko značenje i međusobne odnose. Generišu ih modeli za ugrađivanje koji pretvaraju tekst u vektore — nizove brojeva koje algoritmi mašinskog učenja mogu da obrađuju i porede.

ML inženjeri koriste tekstualna ugrađivanja kako bi softverskim aplikacijama pomogli da prepoznaju odnose između reči i rečenica, što olakšava pretraživanje, kategorizaciju i analizu velikih količina podataka.

Recimo da svakodnevno dobijate hiljade tiketa podrške. Korisnici prijavljuju sve moguće probleme, a vi treba da ih kategorizujete i označite. Jedan od načina da automatizujete ovaj proces jeste da pomoću unapred obučenog modela za tekstualna ugrađivanja svaki tiket pretvorite u vektor.

Na primer, dva korisnika pošalju sledeće poruke:

  • „Pretplata mi je naplaćena dvaput“: [0.21, -0.47, 0.83, ...]
  • „Na mom nalogu postoji dupla uplata“: [0.19, -0.45, 0.80, ...]

Ovo su pojednostavljeni, ilustrativni vektori.

Iako korisnici koriste različite reči, opisuju isti problem. Model za ugrađivanje beleži taj odnos tako što njihove vektore postavlja međusobno blizu u matematičkom prostoru. Oba tiketa se kategorizuju i prosleđuju timu za naplatu.

Primene tekstualnih ugrađivanja u poslovanju

Tekstualna ugrađivanja se koriste u nizu zadataka obrade prirodnog jezika (NLP), uključujući:

  • Semantička pretraga: Pronalaženje relevantnih informacija na osnovu značenja. Delivery Hero koristi ugrađivanja proizvoda i upita uz pretragu po ključnim rečima kako bi kupcima namirnica pomogao da pronađu relevantne proizvode. Na primer, pretraga za „jogurt sa malo masti“ može da prikaže grčki jogurt ili jogurt sa 0,5% masti, čak i bez tačnog poklapanja reči.
  • Klasifikacija teksta: Kategorizacija teksta, kao što je prepoznavanje neželjenih imejlova ili razvrstavanje dokumenata po temi. MindCraft.ai je razvio sistem za klasifikaciju dokumenata koji koristi tekstualna ugrađivanja zasnovana na transformerima i mašinsko učenje za kategorizaciju korporativnih dokumenata i identifikaciju osetljivih informacija radi usklađenosti sa GDPR-om.
  • Klasterovanje: Grupisanje sličnih dokumenata ili delova teksta radi prepoznavanja obrazaca. Doczy.ai pretvara tekst ugovora u ugrađivanja i grupiše semantički povezane klauzule i koncepte, čak i kada različiti ugovori slične obaveze izražavaju različitim rečima.
  • Generisanje potpomognuto pronalaženjem (RAG): Pronalaženje relevantnih informacija koje LLM može da iskoristi za generisanje tačnijih odgovora koji uzimaju u obzir kontekst. Ring koristi tekstualna ugrađivanja Amazon Titan u višejezičnom RAG četbotu kako bi pronašao relevantnu dokumentaciju za podršku pre nego što generiše odgovore na pitanja korisnika na međunarodnim tržištima.
  • Sistemi preporuka: Predlaganje povezanih članaka, proizvoda ili drugog sadržaja na osnovu tekstualnih sličnosti. Sistem JUDE kompanije LinkedIn koristi tekstualna ugrađivanja opisa poslova i profila članova koja generiše LLM kako bi poboljšao preporuke poslova, obuhvatajući odnose između iskustva kandidata i dostupnih pozicija.
  • Prepoznavanje imenovanih entiteta (NER): Pomaže u identifikaciji i klasifikaciji imena ljudi, organizacija i mesta u tekstu. Amazon Health Services koristi NER za identifikaciju medicinskih pojmova u upitima korisnika, kao što su bolesti, simptomi, lekovi i terapije. To razumevanje kombinuje sa pretragom po sličnosti zasnovanom na ugrađivanjima kako bi upite povezao sa relevantnim zdravstvenim proizvodima i uslugama.
  • Mašinsko prevođenje: Podrška modelima koji prevode tekst sa jednog jezika na drugi. Transglot koristi tekstualna ugrađivanja u semantičkoj prevodilačkoj memoriji kako bi identifikovao ranije prevedene pasuse sličnog značenja, pomažući radnim tokovima lokalizacije da ponovo iskoriste postojeće prevode.

Kako funkcionišu tekstualna ugrađivanja?

Kako onda model za ugrađivanje odlučuje koje numeričke vrednosti da dodeli delu teksta i zašto bismo mu verovali?

Sve počinje obukom. Modeli za ugrađivanje uče iz velikih zbirki teksta, tražeći obrasce u tome kako se reči koriste zajedno. Na primer, tradicionalni modeli poput modela Word2Vec uče tako što predviđaju reč na osnovu okolnih reči, ili obrnuto. Savremeni modeli usmereni na pronalaženje često koriste kontrastivno učenje. Obučeni su da relevantnim parovima upit–dokument dodeljuju više ocene sličnosti nego nepovezanim parovima.

Kada je model obučen, evo šta se dešava kada mu date novi deo teksta:

  1. Tokenizacija. Model najpre deli tekst na manje delove koji se nazivaju tokeni. To mogu biti cele reči, delovi reči ili znakovi interpunkcije. Svaki token dobija numerički ID iz rečnika modela, koji sam po sebi nema nikakvo značenje.
  2. Kodiranje i objedinjavanje. Model obrađuje ove tokene koristeći obrasce koje je naučio tokom obuke i proizvodi vektor. Svaki broj u vektoru je koordinata ili komponenta, a dimenzija je osa duž koje taj broj određuje položaj vektora. Svaka vrednost doprinosi položaju teksta u matematičkom prostoru, poznatom kao prostor ugrađivanja.
  3. Izračunavanje sličnosti. Da bi pronašao povezan tekst, sistem za pronalaženje poredi ugrađivanje upita sa ugrađivanjima dokumenata pomoću mere sličnosti kao što je kosinusna sličnost ili skalarni proizvod

Tako, na primer, onlajn prodavnice vraćaju artikle koji odgovaraju korisnikovom upitu.

Koja je razlika između ugrađivanja reči, rečenica i dokumenata?

Glavna razlika je u tome koliko teksta svako ugrađivanje predstavlja u jednom vektoru. Ugrađivanja možete kreirati za pojedinačne reči, cele rečenice ili čitave dokumente, u zavisnosti od toga koje informacije želite da obuhvatite.

  • Ugrađivanja reči obuhvataju odnose između pojedinačnih reči, prepoznajući da su „ispad“ i „nedostupnost“ povezani pojmovi.
  • Ugrađivanja rečenica razumeju značenje celih rečenica, čak i kada izražavaju istu ideju različitim rečima.
  • Ugrađivanja dokumenata predstavljaju ceo dokument kao jedan vektor, umesto da kreiraju zaseban vektor za svaku rečenicu. To pomaže da se očuva opšta tema i pronađu drugi dokumenti koji obrađuju istu temu; međutim, detalje može biti teže (ako ne i nemoguće) pronaći.

Koliku granularnost da izaberete? Pravi nivo zavisi od vaših podataka i od toga šta pokušavate da postignete.

Za veće dokumente uobičajena praksa je da se tekst podeli na manje segmente i da se za svaki generiše zasebno ugrađivanje. Na taj način dobijate ukupno značenje dokumenta I konkretne detalje, koji bi se mogli izgubiti kod ugrađivanja celog dokumenta.

Koliko veličina segmenta utiče na kvalitet ugrađivanja?

Prilično. Prema rečima Rahula Kumara, potpredsednika za AI inženjering u kompaniji Xenoss, izazov je pronaći veličinu segmenta koja obuhvata jednu celovitu ideju, a da se ne izgubi važan kontekst. On ovako objašnjava taj kompromis:

„Veličina segmenta određuje koliko semantičkog konteksta nosi jedno ugrađivanje. Veći segment daje vektoru više konteksta, ali i uprosečava više tema u jedan vektor. Segment koji pokriva tri teme završava negde u sredini i nijednoj od njih ne odgovara dobro. Manji segment zadržava jasno značenje, ali može da izgubi kontekst zahvaljujući kojem je uopšte mogao da bude pronađen.“

Zato Kumar preporučuje da se strategija segmentacije bira na osnovu sadržaja, umesto da se drži jedne fiksne veličine. Kako on kaže, „fiksna veličina sa preklapanjem odgovara samo ujednačenom tekstu, kao što su imejlovi ili prikupljene veb-stranice.“

Za strukturirane dokumente poput ugovora ili pravilnika bolje odgovara rekurzivno deljenje koje uzima u obzir strukturu. Semantička segmentacija, s druge strane, može dobro da funkcioniše za transkripte jer tekst deli na mestima gde se menja tema ili značenje.

Tekstualna ugrađivanja naspram pretrage po ključnim rečima

Zašto koristiti tekstualna ugrađivanja kada možete jednostavno da pretražujete po ključnim rečima? Zato što se pretraga po ključnim rečima oslanja na poklapanje termina, dok semantička pretraga zasnovana na ugrađivanjima može da pronađe relevantne informacije čak i kada upit i dokument koriste različite reči.

Ali semantička sličnost ne znači uvek i relevantnost. Shaw Talebi, osnivač AI Builder Academy, pokazuje ovo ograničenje na primeru sistema za pretragu biografija. U Talebijevom slučaju, pri pretrazi za „inženjer podataka sa iskustvom u radu sa alatom Apache Airflow“, samo je jedan od prvih pet rezultata pominjao Apache Airflow, i to tek na trećem mestu — iako su još tri biografije u skupu podataka navodile tu veštinu.

To znači da je semantička pretraga korisna za pronalaženje konceptualno povezanih informacija, ali može da promaši tačne zahteve poput tehničkih veština, identifikatora proizvoda ili kodova grešaka.

Da bi se ovaj problem rešio, Rahul Kumar preporučuje izbor pristupa pronalaženju u zavisnosti od toga gde sistem za pronalaženje zakazuje:

  • Hibridna pretraga (kombinacija poklapanja ključnih reči i semantičke pretrage) podrazumevani je izbor kada upiti sadrže tačne termine, kao što su SKU šifre, kodovi grešaka ili pravne reference.
  • Modeli za ponovno rangiranje opravdavaju svoju cenu kada je bitno samo nekoliko najboljih rezultata, kao kod odgovora generisanih iz pronađenog konteksta.
  • Pronalaženje pomoću grafa pomaže kada se odgovor proteže kroz više povezanih izvora podataka.

Kumar je takođe podelio kako je njegov tim primenio ove pristupe u praksi. Na jednom projektu paralelno su pokretali BM25 pretragu po ključnim rečima i vektorsku pretragu, objedinili rezultate pomoću recipročne fuzije rangova (RRF) i iskoristili LLM da ponovo rangira 124 najbolja rezultata i svede ih na 6.

„Prelazak na pronalaženje u kojem graf ima prioritet, pri čemu vektorska pretraga pronalazi slične latentne prostore, a zatim sledi obilazak grafa u dva skoka, podigao je kvalitet rangiranja (nDCG) sa 0,58 na 0,67 i skratio p90 vreme pronalaženja sa 19 s na manje od 3 s“, dodaje Kumar.

Vrste modela za tekstualna ugrađivanja

Svi modeli za ugrađivanje uglavnom rade isto — uče odnose u tekstu. Međutim, razlikuju se po svrsi za koju su obučeni, po informacijama koje uzimaju u obzir i po zadacima za koje su dizajnirani.

Statični modeli za ugrađivanje reči

Tradicionalni modeli za ugrađivanje reči uče guste numeričke reprezentacije reči na osnovu obrazaca upotrebe reči u velikim zbirkama teksta. Ova ugrađivanja su statična, što znači da svaka reč dobija isti vektor bez obzira na njeno značenje u određenom kontekstu.

Dve dobro poznate metode su:

  • Word2Vec: Razvio ga je Google 2013. godine; uči reprezentacije iz susednih reči pomoću dve arhitekture: Continuous Bag of Words (CBOW), koja predviđa reč na osnovu njenih suseda, i skip-gram, koja predviđa susedne reči na osnovu date reči.
  • GloVe (Global Vectors for Word Representation): Razvijen na Stanfordu 2014. godine, koristi statistiku zajedničkog pojavljivanja reči kako bi naučio odnose između reči.

Kontekstualizovani jezički modeli

Za razliku od statičnih ugrađivanja, jezički modeli opšte namene proizvode kontekstualne reprezentacije koje se menjaju u zavisnosti od okolnog teksta. To pomaže modelima da razlikuju različita značenja iste reči.

  • BERT (2018, Google): Koristi dvosmernu samopažnju kako bi uzeo u obzir reči sa obe strane tokena. Na primer, generiše različite reprezentacije za reč „bank“ u rečenicama „I deposited money at the bank“ (Položio sam novac u banku) i „I sat on the bank of a river“ (Sedeo sam na obali reke).
  • GPT (2018, OpenAI): Koristi reprezentacije zasnovane na transformerima koje uzimaju u obzir prethodni tekst dok predviđa sledeći token. GPT modeli su prvenstveno namenjeni generisanju jezika.

Modeli za ugrađivanje rečenica i dokumenata

Predstavljaju duže delove teksta, od pojedinačnih rečenica do pasusa i celih dokumenata, kao vektore.

  • Doc2Vec: Proširuje učenje u stilu modela Word2Vec na rečenice, pasuse i dokumente. Može da pomogne u grupisanju povezanih članaka ili klasifikaciji dokumenata po temi.
  • Universal Sentence Encoder (USE): Razvio ga je Google 2018. godine za generisanje reprezentacija fiksne dužine za rečenice i kratke pasuse, namenjenih semantičkoj sličnosti i klasifikaciji teksta.
  • Sentence-BERT (SBERT, 2019): Razvili su ga Nils Reimers i Iryna Gurevych na Tehničkom univerzitetu u Darmštatu; zasniva se na modelu BERT kompanije Google i najčešće se koristi za semantičku pretragu, otkrivanje parafraza i klasterovanje.
  • pplx-embed-v1 (2026, Perplexity): Najsavremeniji model za tekstualna ugrađivanja, napravljen za pronalaženje u stvarnim uslovima na nivou celog veba; ova porodica modela koristi pretrening zasnovan na difuziji kako bi kauzalni jezički model pretvorila u dvosmerni enkoder. Generiše gusta ugrađivanja za nezavisno kodirane upite i dokumente, uz obuku prilagođenu kvantizaciji radi smanjenja troškova skladištenja. Naš 4B INT8 model postigao je 69,66 nDCG@10 na višejezičnom referentnom testu za pronalaženje MTEB, u poređenju sa 67,71 za model gemini-embedding-001 kompanije Google.
  • pplx-embed-context-v1 (2026, Perplexity): Rešava čest problem segmentacije dokumenata: pasusi mogu da izgube značenje kada se odvoje od okolnog teksta. Koristeći kasnu segmentaciju, model obrađuje dokument pre nego što kontekstualizovane reprezentacije tokena objedini u zasebna ugrađivanja segmenata. Naš 4B model postigao je 81,96 nDCG@10 na testu ConTEB, u poređenju sa 79,45 za voyage-context-3.
  • pplx-embed-v2-context (2026, Perplexity): Podiže kontekstualno pronalaženje na viši nivo. Umesto da se obučava samo da pronađe pasus koji sadrži odgovor, uči da prepozna prateće pasuse koji pomažu da se taj odgovor objasni ili potvrdi. Model tokom obuke koristi signale relevantnosti destilovane iz modela za kompresiju konteksta, bez potrebe za tim modelom-učiteljem u vreme inferencije. Naša 9B pregledna verzija postigla je odziv odgovora od 45,5% i odziv dokaza od 40,6% pri 10 rezultata na testu context-bench.

Modeli kompanije Perplexity takođe omogućavaju skladištenje ugrađivanja u velikom obimu. Modeli proizvode INT8 i binarna ugrađivanja, čime se zahtevi za skladišnim prostorom smanjuju 4 puta, odnosno 32 puta u poređenju sa FP32.

Model

Dimenzije

Kontekst

MRL

Kvantizacija

Instrukcije

Objedinjavanje

pplx-embed-v1-0.6B

1024

32K

Da

INT8/BINARNO

Ne

Prosek

pplx-embed-v1-4B

2560

32K

Da

INT8/BINARNO

Ne

Prosek

pplx-embed-context-v1-0.6B

1024

32K

Da

INT8/BINARNO

Ne

Prosek

pplx-embed-context-v1-4B

2560

32K

Da

INT8/BINARNO

Ne

Prosek

Dimenzije, dužina konteksta, kvantizacija i konfiguracija objedinjavanja modela pplx-embed

Gusta, retka i viševektorska ugrađivanja

Postoji još jedna razlika koju vredi razumeti, posebno kada je reč o semantičkoj pretrazi. Modeli za ugrađivanje mogu se razlikovati po tome kako predstavljaju tekst i izračunavaju relevantnost.

  • Gusta ugrađivanja: Predstavljaju tekst pomoću kompaktnih vektora u kojima je većina vrednosti različita od nule.
  • Retka ugrađivanja: Koriste vektore sa uglavnom nultim vrednostima, sa naučenim težinama povezanim sa važnim terminima. Modeli kao što je SPLADE (2021) uče koji su termini bitni za pronalaženje relevantnih dokumenata.
  • Viševektorska ugrađivanja: Zadržavaju nekoliko vektora za jedan deo teksta, što omogućava detaljnija poređenja između upita i dokumenata. Modeli kao što je ColBERT (2020) koriste ove reprezentacije za detaljnija poređenja upita i dokumenata.
  • Modeli koji kombinuju više pristupa: BGE-M3 (2024), koji je razvio BAAI, podržava gusto, retko i viševektorsko pronalaženje u okviru istog modela.

Kako izabrati i evaluirati model za tekstualna ugrađivanja

Javni referentni testovi kao što je MTEB dobra su polazna tačka. Koristite ih da suzite izbor na dva ili tri modela koji podržavaju vaše jezike, dužine ulaza i zahteve za primenu. Ali nemojte još birati pobednika. Ne možemo dovoljno da naglasimo koliko je važno testirati te modele na sopstvenim podacima.

Evo praktičnog radnog toka za evaluaciju:

  1. Napravite skup podataka za testiranje. Prikupite 50–100 reprezentativnih upita za pretragu kao početni skup za evaluaciju (možda će vam trebati i više), uključujući nezgodne slučajeve kao što su parafraze, tehnička terminologija i tačni kodovi grešaka. Za svaki upit utvrdite koji dokumenti ili pasusi sadrže relevantne odgovore. Te oznake relevantnosti postaju vaša referentna istina (ground truth).
  2. Izmerite kvalitet pronalaženja. Testirajte svaki model na istom skupu podataka za evaluaciju, uz uporedive uslove pripreme dokumenata i pronalaženja, poštujući pritom zahteve specifične za model u pogledu formatiranja upita, normalizacije i bodovanja sličnosti. Zatim izračunajte sledeće metrike pomoću klase InformationRetrievalEvaluator iz biblioteke Sentence Transformers:
    • Recall@k: Pokazuje udeo relevantnih pasusa koji se pojavljuju među prvih k rezultata.
    • MRR: Meri koliko visoko se na rang-listi pojavljuje prvi relevantan rezultat.
    • nDCG@k: Meri koliko je dobro prvih k rezultata rangirano prema relevantnosti.
  3. Uporedno testirajte latenciju i propusnost. Izmerite koliko je vremena svakom modelu potrebno da generiše ugrađivanje za upit, po mogućnosti uz prikaz medijane latencije (p50) i latencije na 95. percentilu (p95) pod realnim opterećenjem.
  4. Izračunajte troškove skladištenja i rada. Prostor za skladištenje vektora zavisi od broja ugrađivanja, njihove dimenzionalnosti i numeričke preciznosti. Na primer, milion 768-dimenzionalnih FP32 ugrađivanja zahteva približno 3,1 GB prostora za sirove vektore, ne računajući dodatni prostor potreban za indeksiranje. Da biste smanjili potreban prostor za skladištenje, možete kvantizovati vektore na nižu numeričku preciznost. Prelazak sa FP32 na INT8, na primer, smanjuje prostor za sirove vektore otprilike četiri puta. Međutim, kompresija može uticati na kvalitet pronalaženja, pa ponovo pokrenite evaluacije da biste proverili taj kompromis.

Na kraju, uporedite rezultate naporedo: metrike pronalaženja, latenciju p95, propusnost, prostor za skladištenje i troškove. Izaberite model koji ispunjava vaše zahteve u pogledu kvaliteta, a uklapa se u ograničenja produkcionog okruženja.

Kada treba koristiti ugrađivanja umesto LLM-a?

Pošto LLM-ovi obavljaju sve, od analize dokumenata do složenog rezonovanja, prilično je primamljivo prepustiti modelu sav tekst i pustiti ga da sam sve shvati. Ali verovatno nećete biti oduševljeni kada to budete morali da platite.

Pored toga, LLM-ovi su bolji u procenjivanju i sastavljanju teksta, ali ih ograničava količina informacija koja može da stane u jedan upit. Ugrađivanja su, s druge strane, jeftina, brza i dosledna, i funkcionišu na milionima stavki.

„Ugrađivanja su najbolja za pretragu, preporuke (‚više ovakvog sadržaja‘), otkrivanje duplikata, kao što su ponovljeni zahtevi za podršku, i grupisanje velikih količina sadržaja po temama. Odlično funkcionišu i na različitim jezicima. LLM je bolji izbor kada zadatak zahteva rezonovanje: sažimanje, poređenje opcija ili pisanje odgovora. Većini stvarnih sistema potrebno je oboje, pri čemu svako obavlja deo posla u kojem je dobar“, zaključuje Kumar.

Šta programeri pogrešno shvataju kada je reč o ugrađivanjima teksta

Da bih saznao šta programeri obično previđaju, razgovarao sam sa dvoje stručnjaka. Rahul Kumar i Xibeijia Guan, naučnica za podatke u kompaniji Ahrefs, istakli su šest grešaka na koje vredi obratiti pažnju:

  • Preskakanje predobrade teksta. Ako ulazni podaci sadrže HTML, navigacione menije, oglase ili drugi nebitan sadržaj, koraci predobrade, kao što je uklanjanje šablonskog sadržaja, mogu da poboljšaju kvalitet ugrađivanja jer uklanjaju nepotrebne informacije.
  • Zanemarivanje maksimalne dužine ulaza modela. Različiti modeli imaju različita ograničenja broja tokena i različito odsecaju tekst. Tekst koji premašuje ograničenje može biti odsečen, pa se mogu izgubiti važne informacije.
  • Nepoštovanje zahteva specifičnih za model. Neki modeli za ugrađivanje zahtevaju određene prefikse, kao što su query: i passage:, ili različita uputstva za različite zadatke. Nepoštovanje ovih zahteva može da umanji performanse pronalaženja.
  • Korišćenje nekompatibilne mere sličnosti. Kosinusna sličnost i skalarni proizvod nisu uvek međusobno zamenljivi. Proverite da li su ugrađivanja normalizovana i koristite metod bodovanja koji se preporučuje za dati model i vektorski indeks.
  • Mešanje tematske sličnosti sa relevantnošću. U kolekcijama iz uske oblasti mnogi dokumenti mogu biti semantički slični, a da ne odgovaraju na isto pitanje. Analizirajte neuspele upite i raspodele rangiranja. Kada korisnicima trebaju tačne informacije, testirajte leksičko ili hibridno pronalaženje, ponovno rangiranje i filtriranje po metapodacima.
  • Zanemarivanje normalizacije ugrađivanja. Različiti modeli za ugrađivanje mogu da daju normalizovane ili nenormalizovane vektore. Proverite da li su ugrađivanja normalizovana i da li je potrebna dodatna normalizacija, u zavisnosti od metrike sličnosti koju koristite.

Ugrađivanja teksta: česta pitanja

1. Kako da generišem ugrađivanja teksta?

Najjednostavniji pristup je da koristite unapred obučen model za ugrađivanje. Na primer, uz Python biblioteku Sentence Transformers možete da učitate model kao što je all-MiniLM-L6-v2, prosledite tekst metodi model.encode(), i kao rezultat dobijete numerički vektor. Ugrađivanja možete da generišete i putem API-ja.

Za semantičku pretragu ili RAG obično biste podelili dokumente na segmente, generisali ugrađivanje za svaki od njih i sačuvali vektore u indeksu koji je moguće pretraživati.

2. Koji su najbolji modeli za ugrađivanje teksta?

U zavisnosti od toga šta pravite, vredi razmotriti nekoliko modela:

  • Perplexity model pplx-embed-v1: Napravljen za pronalaženje velikih razmera zasnovano na gustim vektorima, sa INT8 i binarnim ugrađivanjima koja smanjuju potreban prostor za skladištenje vektora.
  • Perplexity model pplx-embed-context-v1: Koristan za pronalaženje odlomaka iz dugačkih dokumenata u kojima pojedinačni segmenti gube smisao bez okolnog konteksta.
  • all-MiniLM-L6-v2: Dobar izbor za laganu, lokalnu semantičku pretragu, klasterovanje i zadatke sličnosti rečenica. Daje kompaktne 384-dimenzionalne vektore, ali odseca ulaze duže od 256 delova reči.
  • BGE-M3: Koristan za višejezični RAG i hibridno pronalaženje. Podržava više od 100 jezika i kombinuje guste, retke i viševektorske reprezentacije.
  • Qwen3-Embedding: Snažan kandidat za višejezičnu pretragu, pronalaženje koda i ugrađivanja prilagođena konkretnim zadacima. Nudi modele sa otvorenim težinama veličine 0,6B, 4B i 8B, uz podršku za instrukcije.
  • OpenAI model text-embedding-3-large: Opcija zasnovana na API-ju za semantičku pretragu i pronalaženje dokumenata kada ne želite sami da hostujete model. Podržava do 3.072 dimenzije, a njihov broj možete smanjiti da biste uštedeli prostor za skladištenje.
  • Google modeli Gemini Embedding: Korisni za aplikacije za pronalaženje koje se oslanjaju na upravljane usluge. Gemini Embedding 2 podržava i pretragu teksta, slika, zvuka, videa i PDF datoteka u zajedničkom prostoru ugrađivanja.

3. Mogu li da koristim LLM kao model za ugrađivanje?

Da, ali postoji razlika između LLM-a opšte namene i LLM-a optimizovanog za ugrađivanja. LLM-ovi proizvode interne vektorske reprezentacije teksta, koje možete da izdvojite i objedinite u jedno ugrađivanje. Međutim, ti vektori bez dodatne obuke nisu nužno korisni za semantičku pretragu.

Na primer, Qwen3-Embedding koristi LLM osnovu koja je dodatno obučena za zadatke ugrađivanja i pronalaženja. Dakle, iako LLM možete da prilagodite za generisanje ugrađivanja, namenski model za ugrađivanje je obično praktičnija polazna tačka.