Kada jūsų įmonei reikia embeddingų API (ir kada nereikia)
Trumpai: embeddingai verti dėmesio tada, kai žmonės nebesuranda savo dokumentų, nes neatspėja tikslaus žodžio. Jei jūsų dokumentų šimtas ir jie tvarkingai pavadinti, jums greičiausiai reikia tvarkos, o ne dirbtinio intelekto. Toliau — kaip atskirti vieną atvejį nuo kito.
Kas yra embeddingai paprastais žodžiais
Embeddingas — tai teksto reikšmė, užrašyta skaičių eilute. Panašios reikšmės tekstai gauna panašias eilutes, todėl kompiuteris gali palyginti prasmę, o ne raides.
Skirtumas matomas iš karto. Įprasta paieška ieško sutampančių žodžių: įrašius „kiek kainuoja pristatymas“, dokumentas pavadinimu „Siuntimo įkainiai“ nerandamas, nes nesutampa nė vienas žodis. Embeddingų paieška tokį dokumentą randa, nes abi frazės reiškia maždaug tą patį.
Praktinis patarimas: geriausi rezultatai gaunami sujungus abu būdus — raktažodžių paieška tiksliems terminams ir kodams, embeddingai klausimams, suformuluotams laisvai. Atsisakyti įprastos paieškos nereikia.
Penki požymiai, kad jums jų reikia
Iš praktikos, embeddingai atsiperka, kai atpažįstate bent du iš šių punktų:
- Žmonės klausia kolegų to, kas jau parašyta. Dokumentas egzistuoja, bet jį lengviau gauti per Teams nei per paiešką.
- Turinio daugiau, nei vienas žmogus gali perskaityti. Tūkstančiai sutarčių, bilietų, protokolų ar produktų aprašų — tiek, kad rūšiuoti rankomis nebeįmanoma.
- Tie patys dalykai vadinami skirtingai. Klientai rašo „grąžinimas“, dokumentuose parašyta „prekės atsisakymas“, o sistemoje tai „RMA“.
- Norite atsakymų, o ne nuorodų sąrašo. Tam reikia RAG, o RAG prasideda nuo embeddingų: pirma surandamos tinkamos teksto atkarpos, tik paskui kalbos modelis iš jų suformuluoja atsakymą.
- Duomenys negali išeiti iš įmonės. Tai atmeta dalį debesijos paslaugų, bet ne pačią technologiją.
Kada jų tikrai nereikia
Vertingiau sutaupyti jūsų pinigus nei parduoti nereikalingą sprendimą, todėl sąžiningai: yra atvejų, kai embeddingai tik prideda darbo.
- Dokumentų nedaug. Iki poros šimtų tvarkingai pavadintų failų paprasta paieška veikia puikiai ir nereikalauja priežiūros.
- Reikia tikslaus atitikmens. Sąskaitos numeris, asmens kodas, brūkšninis kodas — čia reikia tikslios paieškos duomenų bazėje. Semantinis panašumas tokiu atveju yra ne privalumas, o rizika.
- Tikroji problema — netvarka. Jei tas pats dokumentas guli penkiose vietose penkiomis versijomis, paieška tik greičiau parodys penkias skirtingas tiesas.
- Niekas neatsakingas už rezultatą. Paieškos kokybę reikia matuoti ir gerinti. Be šeimininko sistema tyliai prastėja.
Asmens duomenys, BDAR ir debesija
Dažniausias klausimas, kurį girdime: ar galima siųsti savo dokumentus į OpenAI? Trumpas atsakymas — tai duomenų perdavimas trečiajai šaliai, todėl reikia teisinio pagrindo, sutarties su duomenų tvarkytoju ir aiškumo, kur fiziškai vyksta apdorojimas.
Tai išsprendžiama, bet užtrunka. Todėl daliai įmonių paprasčiau pasirinkti variantą, kuriame klausimo apskritai nekyla: modelis sukasi jūsų pačių serveryje, tekstai iš infrastruktūros neišeina, ir nėra ko derinti su niekuo.
Tai ne teisinė konsultacija. Bet praktiškai skirtumas tarp „reikia įvertinti perdavimą“ ir „perdavimo nėra“ dažnai nulemia, ar projektas startuos šį ketvirtį, ar kitą.
Ar tai veikia su lietuvių kalba
Taip. bge-m3 yra daugiakalbis modelis ir lietuvišką tekstą apdoroja tiesiogiai — versti į anglų kalbą prieš vektorizavimą nereikia.
Tai svarbiau, nei atrodo. Vertimas prieš vektorizavimą praranda dalį reikšmės, ypač specifinėje terminijoje, ir prideda dar vieną vietą, kurioje gali įvykti klaida. Modelis, kuris lietuviškai „supranta“ iš karto, tokio tarpinio žingsnio nereikalauja.
Kiek tai kainuoja
Debesijos paslaugos ima mokestį už kiekvieną apdorotą tokeną. Tai patogu pradžioje ir nemalonu vėliau: kaina auga kartu su duomenų kiekiu, o kiekvienas perindeksavimas — pakeitus modelį ar teksto skaidymo taisykles — reiškia sąskaitą iš naujo.
Savame serveryje mokate už techniką ir jos priežiūrą, o užklausų kiekis kainos nekeičia. Lūžio taškas priklauso ne tiek nuo dokumentų kiekio, kiek nuo to, kaip dažnai juos perindeksuojate. Eksperimentų etape tai vyksta dažniau, nei planuojama.
Praktinis matas: pasižiūrėkite, kiek tekstų turite šiandien, ir padauginkite iš to, kiek kartų per metus tikitės keisti indeksavimo logiką. Jei atsakymas didesnis už kelis kartus — skaičiuokite abu variantus.
Kaip prijungti prie esamos sistemos
Sąsaja suderinama su OpenAI, todėl dažniausiai užtenka pakeisti bazinį adresą ir raktą. Esamas kodas, biblioteka ir vektorių saugykla lieka tie patys.
curl https://embed.letas.lt/v1/embeddings \
-H "Authorization: Bearer sk-rag-…" \
-H "Content-Type: application/json" \
-d '{"model":"bge-m3","input":["pirmas tekstas","antras tekstas"]}'Viena užklausa apdoroja iki 25 tekstų, o vektoriai grįžta ta pačia tvarka, kuria juos išsiuntėte. Visa techninė dokumentacija — pradžios puslapyje.
Kas nutinka esant apkrovai
Kai vienu metu ateina daugiau užklausų, nei serveris gali apdoroti, jos rikiuojamos į eilę, o ne atmetamos. Staigus srautas virsta ilgesniu atsakymo laiku, o ne klaidų lavina — nereikia nei kartoti užklausų, nei gaudyti klaidų.
Eilė turi prioritetus: interaktyvus srautas aptarnaujamas pirmiau nei naktinis paketinis apdorojimas. Tačiau ilgiau laukusi užklausa praleidžiama pirmiau už aukštesnio prioriteto srautą, todėl paketiniai darbai neužstringa neribotam laikui.
Dažniausi klausimai
- Kas yra embeddingai paprastais žodžiais?
- Embeddingas yra teksto reikšmės atvaizdavimas skaičių eilute. Panašios reikšmės tekstai gauna panašias eilutes, todėl kompiuteris gali surasti „apie tą patį“ parašytus dokumentus net tada, kai juose nėra nė vieno bendro žodžio.
- Kuo embeddingų paieška skiriasi nuo įprastos paieškos pagal raktažodžius?
- Raktažodžių paieška ieško sutampančių simbolių eilučių: neįrašius teisingo žodžio, dokumentas nerandamas. Embeddingų paieška lygina reikšmę, todėl „kiek kainuoja pristatymas“ randa dokumentą, kuriame parašyta „siuntimo įkainiai“. Praktikoje geriausiai veikia abu metodai kartu.
- Ar galiu siųsti įmonės dokumentus į OpenAI ar kitą debesijos paslaugą?
- Teisiškai tai duomenų perdavimas trečiajai šaliai, todėl reikia teisinio pagrindo, sutarties su tvarkytoju ir aiškumo, kur duomenys apdorojami. Jei dokumentuose yra asmens ar komercinės paslapties duomenų, paprasčiausias sprendimas dažnai yra neišleisti jų iš savo infrastruktūros: tada perdavimo klausimo apskritai nelieka.
- Ar embeddingai veikia su lietuvių kalba?
- bge-m3 yra daugiakalbis modelis ir lietuviškus tekstus apdoroja tiesiogiai, be vertimo į anglų kalbą. Tai svarbu, nes vertimas prieš vektorizavimą praranda dalį reikšmės ir prideda dar vieną klaidų šaltinį.
- Kiek kainuoja embeddingai?
- Debesijos paslaugos ima mokestį už kiekvieną apdorotą tokeną, todėl kaina auga kartu su duomenų kiekiu ir su kiekvienu pakartotiniu indeksavimu. Savame serveryje mokate už techniką ir jos priežiūrą, o užklausų kiekis kainos nekeičia. Lūžio taškas priklauso nuo to, kiek ir kaip dažnai perindeksuojate.
- Kada embeddingų nereikia?
- Kai dokumentų nedaug ir jie gerai randami pagal pavadinimą ar raktažodį; kai reikia tikslaus atitikmens (sąskaitos numeris, asmens kodas); ir kai problema iš tikrųjų yra netvarkingi duomenys, o ne paieška. Tokiais atvejais embeddingai prideda sudėtingumo, bet neduoda naudos.
- Ką reiškia RAG?
- RAG (retrieval-augmented generation) yra būdas kalbos modeliui atsakyti remiantis jūsų dokumentais: pirma embeddingų pagalba surandamos tinkamos teksto atkarpos, paskui jos paduodamos modeliui kaip kontekstas. Embeddingai yra pirmoji šios grandinės dalis ir dažniausiai nuo jų priklauso, ar atsakymas bus teisingas.
Nuo ko pradėti
Paprasčiausias pirmas žingsnis — paimti šimtą tikrų savo dokumentų ir patikrinti, ar paieška randa tai, ko žmonės iš tikrųjų klausia. Tam užtenka rakto ir kelių valandų.