Mis on Mistral Embed?
Mistral Embed on Mistral AI pakutav üldotstarbeline teksti vektoriseerimise mudel. Selle ametlik API-mudeli identifikaator on mistral-embed. Mudel võtab vastu teksti ja tagastab arvulise esituse, mida nimetatakse tavaliselt embedding'uks või vektoriks ning mis kajastab sisendi kasulikke semantilisi seoseid.
Erinevalt vestluspõhisest keelemudelist ei genereeri Mistral Embed vastust, lõiku ega koodinäidet. Selle ülesanne on paigutada tekst matemaatilisse vektorruumi. Sarnase tähendusega tekstidel võivad olla üksteisele lähedased vektorid, samas kui omavahel mitteseotud tekstide vektorid paiknevad tavaliselt kaugemal. Rakendus saab neid seoseid kasutada asjakohaste dokumentide leidmiseks, sarnaste kirjete tuvastamiseks või sisukogu korraldamiseks.
Mudel on saadaval Mistral AI hallatava Embeddings API kaudu aadressil /v1/embeddings. Seetõttu on see eelkõige arendajatele mõeldud rakenduste komponent, mitte iseseisev vestlusmoodul.
Põhiandmed lühidalt
| Spetsifikatsioon | Kinnitatud üksikasjad |
|---|---|
| Pakkuja | Mistral AI |
| Mudeli ID | mistral-embed |
| Mudeli tüüp | Teksti vektoriseerimise mudel |
| Väljalaskekuupäev | 11. detsember 2023 |
| Saadavus | Üldiselt saadaval |
| Vektori suurus | 1024 dimensiooni |
| Konteksti pikkus | 8192 tokenit |
| Sisend | Tekstisõned või tekstisõnede massiivid |
| Genereeritud teksti väljund | Puudub; väljund on vektor-esitus |
| Avaldatud hind | 0,10 dollarit 1 miljoni tokeni kohta |
| Pakktöötlus | Toetatud Mistrali batch-endpoint'i kaudu |
1024-dimensiooniline väljund on fikseeritud suurusega: iga aktsepteeritud sisend annab sama arvu dimensioonidega vektori olenemata sellest, kas sisend on lühike päring või pikem dokument. Sisend peab siiski jääma dokumenteeritud kontekstilimiidi piiresse ning pikk lähtematerjal tuleb tavaliselt enne töötlemist väiksemateks lõikudeks jagada.
Kuidas mudelit rakenduses kasutatakse
Tüüpiline semantilise otsingu töövoog koosneb mitmest etapist. Kõigepealt jagab rakendus lähtematerjali hallatava suurusega lõikudeks, näiteks abikeskuse jaotisteks, tootedokumentatsiooniks või sise-eeskirjadeks. See saadab need Mistral Embedile ja salvestab tagastatud vektorid vektorandmebaasi või muusse ühilduvasse otsinguindeksisse.
Kui kasutaja esitab küsimuse, teisendab rakendus ka selle sama mudeli abil vektoriks. Seejärel võrdleb rakendus päringuvektorit salvestatud dokumendivektoritega ja hangib matemaatiliselt sarnased lõigud. Eraldi generatiivne mudel võib neid lõike kasutada lõpliku vastuse koostamiseks otsinguga täiendatud genereerimise ehk RAG-süsteemis. Mistral Embed annab otsingu jaoks vajaliku esituse, kuid ei genereeri lõplikku vastust ise.
API aktsepteerib kas ühte tekstisisendit või tekstisisendite massiivi. Mitme sisendi töötlemine ühes päringus võib olla kasulik lõikude rühma indekseerimisel. Mistrali dokumentatsioon kirjeldab ka pakktöötlust /v1/batch endpoint'i kaudu, mis on oluline juhul, kui suur korpus tuleb indekseerida nii, et iga üksust ei käsitletaks eraldi interaktiivse päringuna.
Embeddings-endpoint'i dokumentatsioon kirjeldab väljundi kodeerimisvalikutena muu hulgas ujukomaarve ja base64-esitust. Valik mõjutab vektorandmete edastamist või salvestamist rakenduses, mitte mudeli rolli: mõlemad on teksti esitused, mitte loomulikus keeles vastused.
Peamised kasutusjuhud
Semantiline otsing
Traditsiooniline märksõnaotsing sõltub suurel määral samade sõnade leidmisest päringus ja dokumendis. Vektoripõhine otsing suudab tuvastada ka sarnaseid sõnastusi ja mõisteid. Näiteks võib parooli lähtestamist käsitlev päring leida kasutajatoe dokumendi, milles kasutatakse teistsugust sõnastust, kui need kaks teksti on vektorruumis semantiliselt seotud.
Otsinguga täiendatud genereerimine
Mistral Embed sobib RAG-rakenduse indekseerimise ja otsingu etappi. See võib esitada kasutusjuhendeid, eeskirju, KKK-sid ja muud struktureerimata teksti viisil, mis võimaldab järgmise etapi keelemudelil asjakohased lõigud välja valida. Arendajad peaksid otsingu ja genereerimise rollid lahus hoidma: Mistral Embed leiab sobiva konteksti kandidaadid, samal ajal kui vastuse sünteesimiseks on vaja teist mudelit.
Klassifitseerimine ja klasterdamine
Vektoreid saab kasutada sarnaste dokumentide rühmitamiseks või uute dokumentide kategooriatesse määramiseks. Võimalikud rakendused hõlmavad kasutajatoe pöördumiste korraldamist, klientide tagasiside rühmitamist, uurimismaterjalide klasterdamist ja sisedokumentide klassifitseerimist. Kaasasolevas dokumentatsioonis nimetatakse klasterdamist ja dokumentide klassifitseerimist mudeli kavandatud töökoormuste hulgas, kuid konkreetse klassifitseerimissüsteemi kvaliteet sõltub ka valitud algoritmist, siltidest ja hindamisprotsessist.
Duplikaatide tuvastamine ja sarnasuse analüüs
Rakendused saavad embedding'uid võrrelda, et tuvastada sarnaseid mõtteid väljendavaid kirjeid ka siis, kui nende sõnastus ei ole identne. See võib aidata ülevaatamiseks märgistada duplikaatküsimusi, korduvaid teadmistebaasi artikleid või peaaegu identseid esitisi. Tootmiskeskkonna süsteem peab siiski valima ja valideerima sarnasuse lävendi, sest sobiv piirväärtus sõltub keelest, sisutüübist ja valepositiivsete vastete tagajärgedest.
Sisend, väljund ja võimaluste piirid
Mistral Embed on tekstikeskne. Kinnitatud sisendmodaliteet on tekst ja kinnitatud väljund on arvuline embedding. See ei toeta pildi-, heli- ega videosisendit ega genereeri pilte, kõnet, videot või proosateksti. Seetõttu ei ole selle mudeli puhul sisukat maksimaalse genereeritavate tokenite arvu seadet: väljund on vektor, mitte lõpetatud tekst.
Mudeli dokumenteeritud konteksti pikkus on 8192 tokenit. See piirang kehtib vektoriseerimiseks saadetavale tekstile. Kui dokument on toetatud sisendimahust pikem, peaks rakendus selle enne API-le saatmist lõikudeks jagama. Lõikudeks jagamine on kasulik ka otsingu puhul, sest keskendunud lõigu tagastamine on üldjuhul praktilisem kui terve suure dokumendi leidmine.
Mistral Embed ei ole kirjeldatud arutlus- ega kodeerimismudelina. See suudab tehnilist dokumentatsiooni või lähtekoodiga seotud teksti otsingu- ja sarnasuse töövoogude jaoks esitada, kuid see ei tähenda, et mudel suudaks programmeerimisprobleemi läbi arutada või usaldusväärset koodi kirjutada. Samuti ei ole sellel dokumenteeritud tööriistade või funktsioonikutsete rolli, veebotsingu võimalust, voogedastusega tekstigenereerimise režiimi ega struktureeritud vestlusväljundit.
Hind ja praktilised kompromissid
Mistrali mudelidokumentatsioonis on hinnaks märgitud 0,10 dollarit 1 miljoni tokeni kohta. See on hallatava API kaudu sisendi vektoriseerimise kasutuspõhine hind, mitte tellimuspakett ega eraldi vektorandmebaasi litsents. Otsingusüsteemi kogukulu võib hõlmata ka salvestusruumi, indekseerimist, rakenduse taristut ja pärast otsingut kasutatavat generatiivset mudelit.
Vektoriseerimise kulud võivad kuhjuda korpuse esialgse sissevõtmise, korduva ümberindekseerimise ja suure päringumahu tõttu. Pakktöötlus võib olla kasulik suurte indekseerimistööde puhul, samal ajal kui tavalised vektoriseerimispäringud sobivad paremini interaktiivseteks päringuteks või järkjärgulisteks uuendusteks. Juurutuse kavandamisel peaksid arendajad arvestama ka päringumäärade piirangute ja teenusepõhiste tööpiirangutega; kaasasolevas mudeliuuringus neid üksikasju ei täpsustata.
Praktikas pakub Mistral Embed suhteliselt madalat avaldatud tokenipõhist hinda ja kompaktset fikseeritud suurusega esitust, kuid ainuüksi hind ei määra, kas see on parim valik. Mõni teine embedding-mudel võib olla parem, kui rakendus vajab teistsugust vektori dimensiooni, spetsiaalset mitmekeelset või valdkonnapõhist käitumist, lokaalset juurutust või mõne teise mudeli ümber üles ehitatud vektorhoidla konfiguratsiooni. Neid alternatiive tuleks hinnata tegeliku keelevaliku, otsingukvaliteedi ja taristunõuete põhjal, mitte teha järeldusi üksnes hinna põhjal.
Tugevused ja piirangud
Tugevused
- Selge spetsialiseerumine: Mudel on mõeldud teksti vektoriteks teisendamiseks otsingu- ja sarnasuse ülesannete jaoks, mitte omavahel mitteseotud genereerimisülesannete täitmiseks.
- Fikseeritud 1024-dimensiooniline väljund: Ühtlane vektorisuurus lihtsustab skeemi kavandamist ühilduva vektorandmebaasi või otsinguindeksi jaoks.
- Laiad tekstipõhised kasutusjuhud: Mistral nimetab asjakohaste rakendustena semantilist otsingut, RAG-i, klasterdamist, klassifitseerimist ja duplikaatide tuvastamist.
- Hallatud API-juurdepääs: Rakendused saavad mudelit kasutada Mistral AI Embeddings API kaudu, selle asemel et vektoriseerimise taristut ise hallata.
- Pakktöötluse tugi: Dokumenteeritud batch-endpoint on kasulik suuremate tekstikogude töötlemiseks.
- Madal avaldatud kasutushind: Dokumenteeritud hind on 0,10 dollarit 1 miljoni tokeni kohta, mistõttu sobib mudel kulutundlikeks indekseerimise ja otsingu katseteks, võttes arvesse kogu ümbritseva süsteemi kulusid.
Piirangud
- Vastuste genereerimine puudub: See ei saa kasutajale otse vastata, otsinguga leitud materjali kokku võtta ega rakendusekoodi koostada.
- Ainult tekst: Kaasasolevate spetsifikatsioonide põhjal ei ole see loomulike pildi-, heli- ega videosisendite vektoriseerimise lahendus.
- 8192-tokenine kontekst: Pikad dokumendid tuleb lõikudeks jagada, mis toob kaasa otsused lõikude kattuvuse, suuruse ja metaandmete kohta.
- Ühilduvus vektorhoidlaga on oluline: Andmebaas või otsingumootor peab toetama mudeli 1024-dimensioonilisi vektoreid ja rakenduses kasutatavaid sarnasustoiminguid.
- Otsingukvaliteet ei ole automaatselt tagatud: Tulemused sõltuvad lisaks mudelile ka lõikudeks jagamisest, eeltöötlusest, päringute koostamisest, indekseerimisvalikutest ja sarnasuse lävenditest.
- Loomupärane arutlus- ja tööriistade töövoog puudub: Mudelit ei tohiks valida agendi, vestlusroboti või koodigeneratsioonisüsteemi keskseks mudeliks.
Millal valida Mistral Embed?
Vali Mistral Embed siis, kui peamine vajadus on teisendada suur tekstikogu Mistral AI hallatava API kaudu otsitavateks või võrreldavateks vektoriteks. See on mõistlik kandidaat dokumentatsiooniotsingu süsteemi, RAG-indeksi, kasutajatoe pöördumiste klassifitseerija, dokumentide klasterdamise töövoo või duplikaatsisu tuvastamise jaoks.
Selle roll on eriti selge juhul, kui rakenduses on juba eraldi generatiivne mudel ja vaja on embedding-komponenti, millel on dokumenteeritud 8192-tokenine kontekst, 1024-dimensiooniline väljund ja pakktöötluse võimalus. Avaldatud hind 0,10 dollarit miljoni tokeni kohta võib muuta selle atraktiivseks ka katsete või suurte andmesisestustööde jaoks, kuigi tegelik sobivus tuleks kinnitada esinduslike otsingutestidega.
Vali teist tüüpi mudel, kui rakendus vajab genereeritud keelt, vestluspõhist arutlust, koodigeneratsiooni, veebiuuringuid, tööriistade kasutamist või multimodaalset mõistmist. Otsinguga leitud lõikude selgituseks muutmisel on vaja generatiivset keelemudelit, tekstivälise sisu jaoks aga nägemis- või helimudelit. Mõni teine embedding-mudel võib olla sobivam, kui selle toetatud keeled, valdkonnapõhine käitumine, juurutusmudel, vektori dimensioonid või hindamistulemused vastavad projektile paremini.
Kõige olulisem ei ole hinnata, kas vektorid tunduvad tehniliselt mugavad, vaid seda, kas need leiavad tegelike päringute puhul õiged lõigud. Testi esinduslikke dokumente ja küsimusi, mõõda asjakohaste tulemuste katvust, uuri keerulisi tõrkejuhtumeid ja kontrolli, kas valitud vektorandmebaas käsitleb 1024-dimensioonilist väljundit õigesti.

