{
  "aboutHtml": "<p>Mistral Embed 2312 on Mistral AI:n tekstiupotusmalli merkityksen numeeriseen esittämiseen. Se hyväksyy tekstimerkkijonon tai merkkijonojen luettelon ja palauttaa upotuksen kullekin syötteelle. Tulos on vektori, jota sovellus käyttää samankaltaisuuteen, tiedonhakuun, luokitteluun tai ryhmittelyyn keskustelumuotoisen selityksen sijaan. Valmistajan kiinteä mallisivu yksilöi mistral-embed-2312:n.</p><p>Syöte, konteksti ja vektorimuoto</p><p>Täsmällinen mallisivu dokumentoi 8k-kontekstimerkinnän. Valmistele kukin tekstikohde sovellettavan syötekapasiteetin sisään ja säilytä kohteen identiteetti vektorin yhteydessä. Pitkä lähdeasiakirja voidaan jakaa hyödyllisiksi katkelmiksi säilyttäen asiakirjan otsikko, osio ja lähdesijainti, joita tarvitaan oikean materiaalin palauttamiseen myöhemmin.</p><p>Valmistajan Mistral Embed -opas määrittelee jokaiselle tekstiupotukselle 1024 ulottuvuutta syötteen näkyvästä pituudesta riippumatta. Lyhyellä kysymyksellä ja pidemmällä katkelmalla on siis sama vektorimuoto, vaikka niiden sisältö ja tokenmäärät eroavat. Tämä on tulosesityksen ulottuvuus, ei vastaustokenbudjetti tai säilytettyjen lähdesanojen määrän mitta.</p><p>Dokumentoitu vastaus sisältää upotukset ja tokenkäyttötiedot; päätepisteen esimerkki liittää kunkin vektorin syöteindeksiin. Säilytä yhteys useita tekstejä käsiteltäessä. Sovellus tarvitsee alkuperäisen tekstin ja sen tunnisteet numeerisen tuloksen lisäksi näyttääkseen hyödyllisen hakuosuman tai antaakseen lähdemateriaalia myöhempään vaiheeseen.</p><p>Semanttinen samankaltaisuus</p><p>Opas selittää, että toisiinsa liittyvät tekstit ovat yleensä lähellä toisiaan upotusavaruudessa. Tämä tukee katkelmien löytämistä, kun ne ilmaisevat saman aiheen tai vaatimuksen eri sanoilla. Esimerkinomainen tietopankkikysely voi kysyä pääsyn palauttamista, ja olennainen menettely käyttää eri ilmausta samasta operaatiosta. Sovellus voi verrata kyselyn vektoria tallennettuihin katkelmavektoreihin pelkän täsmällisen sanavastaavuuden sijaan.</p><p>Valmistajan esimerkit käyttävät yksikkönormiin normalisoituja upotuksia. Tällaisille vektoreille kosinisamankaltaisuus, pistetulo ja euklidinen etäisyys antavat yhtenäiset samankaltaisuusjärjestykset, vaikka niiden numeeriset arvot eivät ole samoja. Valitse yksi sopiva vertailumenetelmä ja sovella sitä johdonmukaisesti kysely- ja asiakirjaesityksiin.</p><p>Samankaltaisuus ei todista kahden väitteen olevan keskenään vaihdettavia. Säilytä lähdeteksti ja tutki kysymykselle tärkeä ehto, päivämäärä tai tunniste. Kaksi katkelmaa voi koskea samaa aihetta mutta kuvata eri menettelyjä tai poikkeuksia. Upotus antaa hakusignaalin; valitun katkelman tulkinta on tehtävän erillinen osa.</p><p>Tiedonhaku ja lähteisiin perustuvat vastaukset</p><p>Käytännön asiakirjatyönkulku valmistelee vektorit tietopankin katkelmille, tallentaa niiden tunnisteet ja alkuperäisen tekstin ja vertaa sitten uutta kysymystä tähän kokoelmaan. Palauta olennaiset katkelmat lähdesijainteineen. Sovellus voi näyttää katkelmat suoraan tai antaa ne tekstintuottomallille, joka kirjoittaa haettuun materiaaliin perustuvan vastauksen.</p><p>Säilytä hyödyllisessä hakutuloksessa asiakirjan otsikko, osio, katkelma ja sen löytämiseen käytetty tunniste. Tukiassistentti voi sitten hakea käyttäjän kysymykselle olennaisen menettelyn ja välittää sen vastauksenkirjoitusvaiheelle. Mistral Embed suorittaa numeerisen esitysvaiheen; se ei itse luonnostele lopullista selitystä tai suorita ulkoista toimenpidettä.</p><p>Muut dokumentoidut käyttökohteet</p><p>Valmistaja listaa upotustyönkuluiksi myös parafraasien tunnistuksen, luokittelun, ryhmittelyn ja eräkäsittelyn. Vertailutehtävä voi hakea merkitykseltään toisiinsa liittyviä katkelmia tarkasteltaviksi. Luokittelutyönkulku voi verrata syötettä merkittyihin esimerkkeihin tai käyttää vektoreita erillisen luokittimen piirteinä. Ryhmittelytyönkulku voi ryhmitellä samankaltaisia kohteita ihmisen tai myöhemmän sovellusvaiheen kuvausta varten.</p><p>Määrittele esityksen tarkoitus ennen datan valmistelua. Semanttisessa haussa käytetyn katkelman tulisi säilyttää haun jälkeen tarvittava tieto; luokitteluesimerkin tulisi sisältää luokkaa erottava sanamuoto. Pidä valmistelu yhtenäisenä, jotta kysely ja tallennettu kohde esittävät vertailukelpoista materiaalia.</p><p>Versio- ja tulosrajat</p><p>Käytä asiakirjoille ja niiden kyselyille samaa malliversiota sekä yhteensopivaa esitystä. Toisen mallin vektori, jossa on sama koordinaattimäärä, ei automaattisesti kuulu samaan semanttiseen avaruuteen. Mallin tai esityksen vaihtaminen edellyttää tallennettujen kohteiden ja kyselyjen pysymistä yhteensopivina.</p><p>Tämä kuvaus koskee tekstisyötettä ja numeerista vektoritulosta valmistajan 8k-kontekstilla sekä Mistral Embedin dokumentoidulla 1024-ulotteisella esityksellä. Codestral Embedin määritettävät ulottuvuudet ja kvantisoidut muodot kuuluvat erikseen nimettyyn koodimalliin, eikä niitä pidä olettaa tässä. Kuvat, ääni, generoitu proosa ja työkalujen suoritus ovat tämän tekstiupotustuloksen ulkopuolisia erillisiä kykyjä.</p>",
  "aboutText": "Mistral Embed 2312 on Mistral AI:n tekstiupotusmalli merkityksen numeeriseen esittämiseen. Se hyväksyy tekstimerkkijonon tai merkkijonojen luettelon ja palauttaa upotuksen kullekin syötteelle. Tulos on vektori, jota sovellus käyttää samankaltaisuuteen, tiedonhakuun, luokitteluun tai ryhmittelyyn keskustelumuotoisen selityksen sijaan. Valmistajan kiinteä mallisivu yksilöi mistral-embed-2312:n.\n\nSyöte, konteksti ja vektorimuoto\n\nTäsmällinen mallisivu dokumentoi 8k-kontekstimerkinnän. Valmistele kukin tekstikohde sovellettavan syötekapasiteetin sisään ja säilytä kohteen identiteetti vektorin yhteydessä. Pitkä lähdeasiakirja voidaan jakaa hyödyllisiksi katkelmiksi säilyttäen asiakirjan otsikko, osio ja lähdesijainti, joita tarvitaan oikean materiaalin palauttamiseen myöhemmin.\n\nValmistajan Mistral Embed -opas määrittelee jokaiselle tekstiupotukselle 1024 ulottuvuutta syötteen näkyvästä pituudesta riippumatta. Lyhyellä kysymyksellä ja pidemmällä katkelmalla on siis sama vektorimuoto, vaikka niiden sisältö ja tokenmäärät eroavat. Tämä on tulosesityksen ulottuvuus, ei vastaustokenbudjetti tai säilytettyjen lähdesanojen määrän mitta.\n\nDokumentoitu vastaus sisältää upotukset ja tokenkäyttötiedot; päätepisteen esimerkki liittää kunkin vektorin syöteindeksiin. Säilytä yhteys useita tekstejä käsiteltäessä. Sovellus tarvitsee alkuperäisen tekstin ja sen tunnisteet numeerisen tuloksen lisäksi näyttääkseen hyödyllisen hakuosuman tai antaakseen lähdemateriaalia myöhempään vaiheeseen.\n\nSemanttinen samankaltaisuus\n\nOpas selittää, että toisiinsa liittyvät tekstit ovat yleensä lähellä toisiaan upotusavaruudessa. Tämä tukee katkelmien löytämistä, kun ne ilmaisevat saman aiheen tai vaatimuksen eri sanoilla. Esimerkinomainen tietopankkikysely voi kysyä pääsyn palauttamista, ja olennainen menettely käyttää eri ilmausta samasta operaatiosta. Sovellus voi verrata kyselyn vektoria tallennettuihin katkelmavektoreihin pelkän täsmällisen sanavastaavuuden sijaan.\n\nValmistajan esimerkit käyttävät yksikkönormiin normalisoituja upotuksia. Tällaisille vektoreille kosinisamankaltaisuus, pistetulo ja euklidinen etäisyys antavat yhtenäiset samankaltaisuusjärjestykset, vaikka niiden numeeriset arvot eivät ole samoja. Valitse yksi sopiva vertailumenetelmä ja sovella sitä johdonmukaisesti kysely- ja asiakirjaesityksiin.\n\nSamankaltaisuus ei todista kahden väitteen olevan keskenään vaihdettavia. Säilytä lähdeteksti ja tutki kysymykselle tärkeä ehto, päivämäärä tai tunniste. Kaksi katkelmaa voi koskea samaa aihetta mutta kuvata eri menettelyjä tai poikkeuksia. Upotus antaa hakusignaalin; valitun katkelman tulkinta on tehtävän erillinen osa.\n\nTiedonhaku ja lähteisiin perustuvat vastaukset\n\nKäytännön asiakirjatyönkulku valmistelee vektorit tietopankin katkelmille, tallentaa niiden tunnisteet ja alkuperäisen tekstin ja vertaa sitten uutta kysymystä tähän kokoelmaan. Palauta olennaiset katkelmat lähdesijainteineen. Sovellus voi näyttää katkelmat suoraan tai antaa ne tekstintuottomallille, joka kirjoittaa haettuun materiaaliin perustuvan vastauksen.\n\nSäilytä hyödyllisessä hakutuloksessa asiakirjan otsikko, osio, katkelma ja sen löytämiseen käytetty tunniste. Tukiassistentti voi sitten hakea käyttäjän kysymykselle olennaisen menettelyn ja välittää sen vastauksenkirjoitusvaiheelle. Mistral Embed suorittaa numeerisen esitysvaiheen; se ei itse luonnostele lopullista selitystä tai suorita ulkoista toimenpidettä.\n\nMuut dokumentoidut käyttökohteet\n\nValmistaja listaa upotustyönkuluiksi myös parafraasien tunnistuksen, luokittelun, ryhmittelyn ja eräkäsittelyn. Vertailutehtävä voi hakea merkitykseltään toisiinsa liittyviä katkelmia tarkasteltaviksi. Luokittelutyönkulku voi verrata syötettä merkittyihin esimerkkeihin tai käyttää vektoreita erillisen luokittimen piirteinä. Ryhmittelytyönkulku voi ryhmitellä samankaltaisia kohteita ihmisen tai myöhemmän sovellusvaiheen kuvausta varten.\n\nMäärittele esityksen tarkoitus ennen datan valmistelua. Semanttisessa haussa käytetyn katkelman tulisi säilyttää haun jälkeen tarvittava tieto; luokitteluesimerkin tulisi sisältää luokkaa erottava sanamuoto. Pidä valmistelu yhtenäisenä, jotta kysely ja tallennettu kohde esittävät vertailukelpoista materiaalia.\n\nVersio- ja tulosrajat\n\nKäytä asiakirjoille ja niiden kyselyille samaa malliversiota sekä yhteensopivaa esitystä. Toisen mallin vektori, jossa on sama koordinaattimäärä, ei automaattisesti kuulu samaan semanttiseen avaruuteen. Mallin tai esityksen vaihtaminen edellyttää tallennettujen kohteiden ja kyselyjen pysymistä yhteensopivina.\n\nTämä kuvaus koskee tekstisyötettä ja numeerista vektoritulosta valmistajan 8k-kontekstilla sekä Mistral Embedin dokumentoidulla 1024-ulotteisella esityksellä. Codestral Embedin määritettävät ulottuvuudet ja kvantisoidut muodot kuuluvat erikseen nimettyyn koodimalliin, eikä niitä pidä olettaa tässä. Kuvat, ääni, generoitu proosa ja työkalujen suoritus ovat tämän tekstiupotustuloksen ulkopuolisia erillisiä kykyjä.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "03bdd91199c9c11098e3a9b9e18910b92108d381b35fd3b8c36d578107adf202",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fi",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Mistral: Mistral Embed 2312</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sulje\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/mistral-embed-2312</code><button type=\"button\" id=\"copy-id\">Kopioi ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Mallikortin osiot\"><button type=\"button\" data-card-jump=\"overview\">Aloitus</button><button type=\"button\" data-card-jump=\"methods\">Syötteet &amp; menetelmät</button><button type=\"button\" data-card-jump=\"pricing\">Hinnoittelu</button><button type=\"button\" data-card-jump=\"examples\">Esimerkit</button><button type=\"button\" data-card-jump=\"results\">Tulokset</button><button type=\"button\" data-card-jump=\"aliases\">Aliakset</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-menetelmät\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|embeddings|/v1/embeddings|mistralai%2Fmistral-embed-2312\">Vektoriesitykset</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Aloitus</h3><p class=\"mdesc-full\">Mistral Embed 2312 muuntaa tekstin 1024-ulotteisiksi vektoreiksi semanttiseen hakuun, tiedonhakuun ja toisiinsa liittyvien tekstien analyysiin. Valmistajan sivu dokumentoi 8k-kontekstin; tulos on kuhunkin syötteeseen liitetty numeerinen esitys generoidun vastauksen sijaan.</p><dl class=\"card-io\" data-card-io><div><dt>Hyväksytyt syötteet</dt><dd>Teksti · token_ids</dd></div><div><dt>Tulokset</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Tietoa mallista</summary><p class=\"note-s\" data-model-method-boundary>Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.</p><div class=\"mabout\" id=\"m-about\"><p>Mistral Embed 2312 on Mistral AI:n tekstiupotusmalli merkityksen numeeriseen esittämiseen. Se hyväksyy tekstimerkkijonon tai merkkijonojen luettelon ja palauttaa upotuksen kullekin syötteelle. Tulos on vektori, jota sovellus käyttää samankaltaisuuteen, tiedonhakuun, luokitteluun tai ryhmittelyyn keskustelumuotoisen selityksen sijaan. Valmistajan kiinteä mallisivu yksilöi mistral-embed-2312:n.</p><p>Syöte, konteksti ja vektorimuoto</p><p>Täsmällinen mallisivu dokumentoi 8k-kontekstimerkinnän. Valmistele kukin tekstikohde sovellettavan syötekapasiteetin sisään ja säilytä kohteen identiteetti vektorin yhteydessä. Pitkä lähdeasiakirja voidaan jakaa hyödyllisiksi katkelmiksi säilyttäen asiakirjan otsikko, osio ja lähdesijainti, joita tarvitaan oikean materiaalin palauttamiseen myöhemmin.</p><p>Valmistajan Mistral Embed -opas määrittelee jokaiselle tekstiupotukselle 1024 ulottuvuutta syötteen näkyvästä pituudesta riippumatta. Lyhyellä kysymyksellä ja pidemmällä katkelmalla on siis sama vektorimuoto, vaikka niiden sisältö ja tokenmäärät eroavat. Tämä on tulosesityksen ulottuvuus, ei vastaustokenbudjetti tai säilytettyjen lähdesanojen määrän mitta.</p><p>Dokumentoitu vastaus sisältää upotukset ja tokenkäyttötiedot; päätepisteen esimerkki liittää kunkin vektorin syöteindeksiin. Säilytä yhteys useita tekstejä käsiteltäessä. Sovellus tarvitsee alkuperäisen tekstin ja sen tunnisteet numeerisen tuloksen lisäksi näyttääkseen hyödyllisen hakuosuman tai antaakseen lähdemateriaalia myöhempään vaiheeseen.</p><p>Semanttinen samankaltaisuus</p><p>Opas selittää, että toisiinsa liittyvät tekstit ovat yleensä lähellä toisiaan upotusavaruudessa. Tämä tukee katkelmien löytämistä, kun ne ilmaisevat saman aiheen tai vaatimuksen eri sanoilla. Esimerkinomainen tietopankkikysely voi kysyä pääsyn palauttamista, ja olennainen menettely käyttää eri ilmausta samasta operaatiosta. Sovellus voi verrata kyselyn vektoria tallennettuihin katkelmavektoreihin pelkän täsmällisen sanavastaavuuden sijaan.</p><p>Valmistajan esimerkit käyttävät yksikkönormiin normalisoituja upotuksia. Tällaisille vektoreille kosinisamankaltaisuus, pistetulo ja euklidinen etäisyys antavat yhtenäiset samankaltaisuusjärjestykset, vaikka niiden numeeriset arvot eivät ole samoja. Valitse yksi sopiva vertailumenetelmä ja sovella sitä johdonmukaisesti kysely- ja asiakirjaesityksiin.</p><p>Samankaltaisuus ei todista kahden väitteen olevan keskenään vaihdettavia. Säilytä lähdeteksti ja tutki kysymykselle tärkeä ehto, päivämäärä tai tunniste. Kaksi katkelmaa voi koskea samaa aihetta mutta kuvata eri menettelyjä tai poikkeuksia. Upotus antaa hakusignaalin; valitun katkelman tulkinta on tehtävän erillinen osa.</p><p>Tiedonhaku ja lähteisiin perustuvat vastaukset</p><p>Käytännön asiakirjatyönkulku valmistelee vektorit tietopankin katkelmille, tallentaa niiden tunnisteet ja alkuperäisen tekstin ja vertaa sitten uutta kysymystä tähän kokoelmaan. Palauta olennaiset katkelmat lähdesijainteineen. Sovellus voi näyttää katkelmat suoraan tai antaa ne tekstintuottomallille, joka kirjoittaa haettuun materiaaliin perustuvan vastauksen.</p><p>Säilytä hyödyllisessä hakutuloksessa asiakirjan otsikko, osio, katkelma ja sen löytämiseen käytetty tunniste. Tukiassistentti voi sitten hakea käyttäjän kysymykselle olennaisen menettelyn ja välittää sen vastauksenkirjoitusvaiheelle. Mistral Embed suorittaa numeerisen esitysvaiheen; se ei itse luonnostele lopullista selitystä tai suorita ulkoista toimenpidettä.</p><p>Muut dokumentoidut käyttökohteet</p><p>Valmistaja listaa upotustyönkuluiksi myös parafraasien tunnistuksen, luokittelun, ryhmittelyn ja eräkäsittelyn. Vertailutehtävä voi hakea merkitykseltään toisiinsa liittyviä katkelmia tarkasteltaviksi. Luokittelutyönkulku voi verrata syötettä merkittyihin esimerkkeihin tai käyttää vektoreita erillisen luokittimen piirteinä. Ryhmittelytyönkulku voi ryhmitellä samankaltaisia kohteita ihmisen tai myöhemmän sovellusvaiheen kuvausta varten.</p><p>Määrittele esityksen tarkoitus ennen datan valmistelua. Semanttisessa haussa käytetyn katkelman tulisi säilyttää haun jälkeen tarvittava tieto; luokitteluesimerkin tulisi sisältää luokkaa erottava sanamuoto. Pidä valmistelu yhtenäisenä, jotta kysely ja tallennettu kohde esittävät vertailukelpoista materiaalia.</p><p>Versio- ja tulosrajat</p><p>Käytä asiakirjoille ja niiden kyselyille samaa malliversiota sekä yhteensopivaa esitystä. Toisen mallin vektori, jossa on sama koordinaattimäärä, ei automaattisesti kuulu samaan semanttiseen avaruuteen. Mallin tai esityksen vaihtaminen edellyttää tallennettujen kohteiden ja kyselyjen pysymistä yhteensopivina.</p><p>Tämä kuvaus koskee tekstisyötettä ja numeerista vektoritulosta valmistajan 8k-kontekstilla sekä Mistral Embedin dokumentoidulla 1024-ulotteisella esityksellä. Codestral Embedin määritettävät ulottuvuudet ja kvantisoidut muodot kuuluvat erikseen nimettyyn koodimalliin, eikä niitä pidä olettaa tässä. Kuvat, ääni, generoitu proosa ja työkalujen suoritus ovat tämän tekstiupotustuloksen ulkopuolisia erillisiä kykyjä.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Saatavilla Ailootissa · syötteet &amp; menetelmät</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Vektoriesitykset</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Syötetyypit</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>Tulostyypit</dt><dd><code>embedding</code></dd></div><div><dt>Konteksti</dt><dd>8 192 tokens</dd></div><div><dt>Tulosteen muoto</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Kenttä</th><th>Tyyppi</th><th>Vaatimus</th><th>Arvot &amp; rajat</th><th>Oletus</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>mistralai/mistral-embed-2312</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string|string[]|integer[]|integer[][]</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Kohteiden vähimmäismäärä: 1</div><div>Ehdot: Ei-tyhjä, yhdenmukaisista alkioista koostuva erä. Tokenien ID:t ovat ei-negatiivisia kokonaislukuja.</div><div>Syötebudjetti: Enimmäismäärä: 8 192 · Tekstiyksikkö: UTF8-tavut · Tokenyksikkö: Token-taulukon alkiot</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">encoding_format</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>float</div></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>float</td></tr><tr data-parameter-availability=\"unsupported\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>integer</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Ei tuettu</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Vähimmäismäärä: 1</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>json_value</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Lähde sallii tämän JSON-metatietokentän; tarkka alkuperäisen palvelun semantiikka on mallikohtainen.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>json_value</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Lähde sallii tämän JSON-metatietokentän; tarkka alkuperäisen palvelun semantiikka on mallikohtainen.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>json_value</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Lähde sallii tämän JSON-metatietokentän; tarkka alkuperäisen palvelun semantiikka on mallikohtainen.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>object</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: provider.options hylätty</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Syöteaineistojen yhdistelmät</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Menetelmän parametrit ja elinkaari</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametri</th><th>Sopimus</th></tr></thead><tbody><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>content_type</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>application/json</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>required</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>model, input</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>input_shapes</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>encoding_format</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>float</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>dimensions_override</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>false</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>max_input_budget_units</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>8192</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>multimodal_objects</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>false</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>material_types</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>text, token_ids</td></tr></tbody></table></div><p>Elinkaari: <code>synchronous_json</code></p><p class=\"note-s\">Säilytä jokaisen vektorin indeksi ja ulottuvuus.</p><p class=\"note-s\">Mallin nimen multimodaalisuus ei tarkoita, että tämä nimenomainen reitti hyväksyisi kuvaolioita.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Hinnoittelu</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.</p><dl data-price-conditions><dt>Nopea tila</dt><dd>Vakiohinta <span class=\"note-s\">Kun nopea tila on valittu</span></dd><dt>Flex-tila</dt><dd>Vakiohinta <span class=\"note-s\">Kun flex-tila on valittu</span></dd><dt>Päättelyn enimmäisteho</dt><dd>Vakiohinta <span class=\"note-s\">Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-hinnat</h4><h4>Hinnat asetusten mukaan</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Asetukset</th><th>Hinnasto</th><th>Veloitus</th></tr></thead><tbody><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>Tokenien perushinnat</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>Perushinta</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · Syötetokenit</span> <b>$0.0002</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Tuloste · Tulostokenit</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistin luku</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus, 1 tunti</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. <a href=\"/docs/fi/billing/reserve/\">Varauksen ja lopullisen veloituksen toiminta →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esimerkkipyynnöt</h3><h4>Ailoot Ultra · Vektoriesitykset</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Koodivaihtoehdot\"><button class=\"cg-tab\" id=\"model-code-1903-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1903-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1903-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1903-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopioi koodi\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1903-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1903-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;mistralai/mistral-embed-2312&quot;, &quot;input&quot;: [&quot;First document&quot;, &quot;Second document&quot;]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1903-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1903-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.embeddings.create(model=&#39;mistralai/mistral-embed-2312&#39;,input=[&quot;First document&quot;,&quot;Second document&quot;])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Vastaanota ja tallenna tulokset</h3><h4>Ailoot Ultra · Vektoriesitykset</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Säilytä kaikki valmistuneet tulokset</h5><p class=\"note-s\">Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.</p><p class=\"note-s\">Säilytä jokainen vektori indekseineen. Vektorien määrän on vastattava syötteiden määrää; ulottuvuuksien on oltava yhdenmukaiset.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jos alkuperäinen vastaus on tarkistettava</h5><p class=\"note-s\">Uutta upotustehtävien päätepistettä ei oteta käyttöön.</p></div><details class=\"card-about\" data-output-fields><summary>Vastauksen kentät</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Kenttä</th><th>Tyyppi</th></tr></thead><tbody><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>integer</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>finite float[]</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Virheet ja seuraavat vaiheet</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Vastaus</th><th>Ehto</th><th>Seuraava vaihe</th></tr></thead><tbody><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Virheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Korjaa ilmoitetut kentät ennen uutta luontipyyntöä.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliakset</h3><h4>Mallin aliakset</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=mistralai%2Fmistral-embed-2312&amp;route=Ultra&amp;caller=mistralai%2Fmistral-embed-2312&amp;fmt=embeddings\"><code>mistralai/mistral-embed-2312</code></a></span></p><h4>Menetelmäpolkujen aliakset</h4><p class=\"note-s\">Käytä yllä näytettyjä menetelmäpolkuja.</p><h4>Liittyvät kutsujan ID:t</h4><p class=\"note-s\"><a href=\"#m=mistralai%2Fmistral-embed-2312&amp;route=Ultra&amp;caller=mistralai%2Fmistral-embed-2312&amp;fmt=embeddings\"><code>mistralai/mistral-embed-2312</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "mistralai/mistral-embed-2312",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "mistralai/mistral-embed-2312",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|mistralai%2Fmistral-embed-2312",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Virheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo",
                "http_status": 400,
                "recovery": "Korjaa ilmoitetut kentät ennen uutta luontipyyntöä.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Uutta upotustehtävien päätepistettä ei oteta käyttöön."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Säilytä jokainen vektori indekseineen. Vektorien määrän on vastattava syötteiden määrää; ulottuvuuksien on oltava yhdenmukaiset.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/mistral-embed-2312"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 8192,
                  "text_unit": "UTF8-tavut",
                  "token_unit": "Token-taulukon alkiot"
                },
                "conditions": "Ei-tyhjä, yhdenmukaisista alkioista koostuva erä. Tokenien ID:t ovat ei-negatiivisia kokonaislukuja.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Lähde sallii tämän JSON-metatietokentän; tarkka alkuperäisen palvelun semantiikka on mallikohtainen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Lähde sallii tämän JSON-metatietokentän; tarkka alkuperäisen palvelun semantiikka on mallikohtainen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Lähde sallii tämän JSON-metatietokentän; tarkka alkuperäisen palvelun semantiikka on mallikohtainen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options hylätty",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Säilytä jokaisen vektorin indeksi ja ulottuvuus.",
            "Mallin nimen multimodaalisuus ei tarkoita, että tämä nimenomainen reitti hyväksyisi kuvaolioita."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 8192,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenien perushinnat",
            "units": [
              {
                "amount": "0.0002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000002",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"mistralai/mistral-embed-2312\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='mistralai/mistral-embed-2312',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.2,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Nopea tila",
            "value": "Vakiohinta",
            "when": "Kun nopea tila on valittu"
          },
          {
            "label": "Flex-tila",
            "value": "Vakiohinta",
            "when": "Kun flex-tila on valittu"
          },
          {
            "label": "Päättelyn enimmäisteho",
            "value": "Vakiohinta",
            "when": "Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000002",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/mistral-embed-2312",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000002",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "mistralai/mistral-embed-2312",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "7258afecda93e788558f77e5e141e30d5f122c1b4e53cb877b40a2a5300320c9",
    "input_html_sha256": "7b8e16b409fd326bfe8d16c605a758970719420699e879f842a8e9abed10eab3",
    "private_audit_sha256": "40cba7e962c326071a60ac8ff3bbd52a3491694decef885f617e561b20a0e396",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fi/mistralai-mistral-embed-2312/",
    "description": "Mistral Embed 2312 muuntaa tekstin 1024-ulotteisiksi vektoreiksi semanttiseen hakuun, tiedonhakuun ja toisiinsa liittyvien tekstien analyysiin. Valmistajan sivu dokumentoi 8k-kontekstin; tulos on kuhunkin syötteeseen liitetty numeerinen esitys generoidun vastauksen sijaan.",
    "locale": "fi",
    "md_url": "https://ailoot.ai/models/fi/mistralai-mistral-embed-2312/index.md",
    "title": "Mistral: Mistral Embed 2312 — Ailoot",
    "url": "https://ailoot.ai/models/fi/mistralai-mistral-embed-2312/"
  },
  "rawModel": {
    "about": "Mistral Embed 2312 on Mistral AI:n tekstiupotusmalli merkityksen numeeriseen esittämiseen. Se hyväksyy tekstimerkkijonon tai merkkijonojen luettelon ja palauttaa upotuksen kullekin syötteelle. Tulos on vektori, jota sovellus käyttää samankaltaisuuteen, tiedonhakuun, luokitteluun tai ryhmittelyyn keskustelumuotoisen selityksen sijaan. Valmistajan kiinteä mallisivu yksilöi mistral-embed-2312:n.\n\nSyöte, konteksti ja vektorimuoto\n\nTäsmällinen mallisivu dokumentoi 8k-kontekstimerkinnän. Valmistele kukin tekstikohde sovellettavan syötekapasiteetin sisään ja säilytä kohteen identiteetti vektorin yhteydessä. Pitkä lähdeasiakirja voidaan jakaa hyödyllisiksi katkelmiksi säilyttäen asiakirjan otsikko, osio ja lähdesijainti, joita tarvitaan oikean materiaalin palauttamiseen myöhemmin.\n\nValmistajan Mistral Embed -opas määrittelee jokaiselle tekstiupotukselle 1024 ulottuvuutta syötteen näkyvästä pituudesta riippumatta. Lyhyellä kysymyksellä ja pidemmällä katkelmalla on siis sama vektorimuoto, vaikka niiden sisältö ja tokenmäärät eroavat. Tämä on tulosesityksen ulottuvuus, ei vastaustokenbudjetti tai säilytettyjen lähdesanojen määrän mitta.\n\nDokumentoitu vastaus sisältää upotukset ja tokenkäyttötiedot; päätepisteen esimerkki liittää kunkin vektorin syöteindeksiin. Säilytä yhteys useita tekstejä käsiteltäessä. Sovellus tarvitsee alkuperäisen tekstin ja sen tunnisteet numeerisen tuloksen lisäksi näyttääkseen hyödyllisen hakuosuman tai antaakseen lähdemateriaalia myöhempään vaiheeseen.\n\nSemanttinen samankaltaisuus\n\nOpas selittää, että toisiinsa liittyvät tekstit ovat yleensä lähellä toisiaan upotusavaruudessa. Tämä tukee katkelmien löytämistä, kun ne ilmaisevat saman aiheen tai vaatimuksen eri sanoilla. Esimerkinomainen tietopankkikysely voi kysyä pääsyn palauttamista, ja olennainen menettely käyttää eri ilmausta samasta operaatiosta. Sovellus voi verrata kyselyn vektoria tallennettuihin katkelmavektoreihin pelkän täsmällisen sanavastaavuuden sijaan.\n\nValmistajan esimerkit käyttävät yksikkönormiin normalisoituja upotuksia. Tällaisille vektoreille kosinisamankaltaisuus, pistetulo ja euklidinen etäisyys antavat yhtenäiset samankaltaisuusjärjestykset, vaikka niiden numeeriset arvot eivät ole samoja. Valitse yksi sopiva vertailumenetelmä ja sovella sitä johdonmukaisesti kysely- ja asiakirjaesityksiin.\n\nSamankaltaisuus ei todista kahden väitteen olevan keskenään vaihdettavia. Säilytä lähdeteksti ja tutki kysymykselle tärkeä ehto, päivämäärä tai tunniste. Kaksi katkelmaa voi koskea samaa aihetta mutta kuvata eri menettelyjä tai poikkeuksia. Upotus antaa hakusignaalin; valitun katkelman tulkinta on tehtävän erillinen osa.\n\nTiedonhaku ja lähteisiin perustuvat vastaukset\n\nKäytännön asiakirjatyönkulku valmistelee vektorit tietopankin katkelmille, tallentaa niiden tunnisteet ja alkuperäisen tekstin ja vertaa sitten uutta kysymystä tähän kokoelmaan. Palauta olennaiset katkelmat lähdesijainteineen. Sovellus voi näyttää katkelmat suoraan tai antaa ne tekstintuottomallille, joka kirjoittaa haettuun materiaaliin perustuvan vastauksen.\n\nSäilytä hyödyllisessä hakutuloksessa asiakirjan otsikko, osio, katkelma ja sen löytämiseen käytetty tunniste. Tukiassistentti voi sitten hakea käyttäjän kysymykselle olennaisen menettelyn ja välittää sen vastauksenkirjoitusvaiheelle. Mistral Embed suorittaa numeerisen esitysvaiheen; se ei itse luonnostele lopullista selitystä tai suorita ulkoista toimenpidettä.\n\nMuut dokumentoidut käyttökohteet\n\nValmistaja listaa upotustyönkuluiksi myös parafraasien tunnistuksen, luokittelun, ryhmittelyn ja eräkäsittelyn. Vertailutehtävä voi hakea merkitykseltään toisiinsa liittyviä katkelmia tarkasteltaviksi. Luokittelutyönkulku voi verrata syötettä merkittyihin esimerkkeihin tai käyttää vektoreita erillisen luokittimen piirteinä. Ryhmittelytyönkulku voi ryhmitellä samankaltaisia kohteita ihmisen tai myöhemmän sovellusvaiheen kuvausta varten.\n\nMäärittele esityksen tarkoitus ennen datan valmistelua. Semanttisessa haussa käytetyn katkelman tulisi säilyttää haun jälkeen tarvittava tieto; luokitteluesimerkin tulisi sisältää luokkaa erottava sanamuoto. Pidä valmistelu yhtenäisenä, jotta kysely ja tallennettu kohde esittävät vertailukelpoista materiaalia.\n\nVersio- ja tulosrajat\n\nKäytä asiakirjoille ja niiden kyselyille samaa malliversiota sekä yhteensopivaa esitystä. Toisen mallin vektori, jossa on sama koordinaattimäärä, ei automaattisesti kuulu samaan semanttiseen avaruuteen. Mallin tai esityksen vaihtaminen edellyttää tallennettujen kohteiden ja kyselyjen pysymistä yhteensopivina.\n\nTämä kuvaus koskee tekstisyötettä ja numeerista vektoritulosta valmistajan 8k-kontekstilla sekä Mistral Embedin dokumentoidulla 1024-ulotteisella esityksellä. Codestral Embedin määritettävät ulottuvuudet ja kvantisoidut muodot kuuluvat erikseen nimettyyn koodimalliin, eikä niitä pidä olettaa tässä. Kuvat, ääni, generoitu proosa ja työkalujen suoritus ovat tämän tekstiupotustuloksen ulkopuolisia erillisiä kykyjä.",
    "alias_of": null,
    "aliases": [],
    "author": "Mistral",
    "available": null,
    "canonical_model": "mistralai/mistral-embed-2312",
    "capabilities": {
      "context_length": 8192,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000002",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Konfiguraation täydet hintatiedot lisätiedoissa."
      }
    ],
    "ctx": 8192,
    "entity_type": "model",
    "formats": [
      "embeddings"
    ],
    "id": "mistralai/mistral-embed-2312",
    "input": [
      "text",
      "token_ids"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Virheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo",
                "http_status": 400,
                "recovery": "Korjaa ilmoitetut kentät ennen uutta luontipyyntöä.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Uutta upotustehtävien päätepistettä ei oteta käyttöön."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Säilytä jokainen vektori indekseineen. Vektorien määrän on vastattava syötteiden määrää; ulottuvuuksien on oltava yhdenmukaiset.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/mistral-embed-2312"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 8192,
                  "text_unit": "UTF8-tavut",
                  "token_unit": "Token-taulukon alkiot"
                },
                "conditions": "Ei-tyhjä, yhdenmukaisista alkioista koostuva erä. Tokenien ID:t ovat ei-negatiivisia kokonaislukuja.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Lähde sallii tämän JSON-metatietokentän; tarkka alkuperäisen palvelun semantiikka on mallikohtainen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Lähde sallii tämän JSON-metatietokentän; tarkka alkuperäisen palvelun semantiikka on mallikohtainen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Lähde sallii tämän JSON-metatietokentän; tarkka alkuperäisen palvelun semantiikka on mallikohtainen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options hylätty",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Säilytä jokaisen vektorin indeksi ja ulottuvuus.",
            "Mallin nimen multimodaalisuus ei tarkoita, että tämä nimenomainen reitti hyväksyisi kuvaolioita."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 8192,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenien perushinnat",
            "units": [
              {
                "amount": "0.0002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000002",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"mistralai/mistral-embed-2312\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='mistralai/mistral-embed-2312',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.2,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Nopea tila",
            "value": "Vakiohinta",
            "when": "Kun nopea tila on valittu"
          },
          {
            "label": "Flex-tila",
            "value": "Vakiohinta",
            "when": "Kun flex-tila on valittu"
          },
          {
            "label": "Päättelyn enimmäisteho",
            "value": "Vakiohinta",
            "when": "Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000002",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/mistral-embed-2312",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000002",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "mistralai/mistral-embed-2312",
        "request_model_id": "mistralai/mistral-embed-2312",
        "route_label": "Ultra"
      }
    ],
    "name": "Mistral: Mistral Embed 2312",
    "price": {
      "in": 0.2,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.2,
      "sort_out": 0,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Эмбеддинги · Base token rates",
        "units": [
          {
            "amount": "0.0002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000002",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "mistralai/mistral-embed-2312",
    "short": "Mistral Embed 2312 muuntaa tekstin 1024-ulotteisiksi vektoreiksi semanttiseen hakuun, tiedonhakuun ja toisiinsa liittyvien tekstien analyysiin. Valmistajan sivu dokumentoi 8k-kontekstin; tulos on kuhunkin syötteeseen liitetty numeerinen esitys generoidun vastauksen sijaan."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Mistral Embed 2312 muuntaa tekstin 1024-ulotteisiksi vektoreiksi semanttiseen hakuun, tiedonhakuun ja toisiinsa liittyvien tekstien analyysiin. Valmistajan sivu dokumentoi 8k-kontekstin; tulos on kuhunkin syötteeseen liitetty numeerinen esitys generoidun vastauksen sijaan.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "129ca9fdacd6444058e932a1824a328a120a68b9793ec6fcd405b6fb646dc1c9",
    "renderer_sha256": "303a59603e2bc29ba8fda690e95fd32cec68de223d92e26054a88babff801dd7"
  },
  "sourceRevision": "4f9e67555ad3ef0dbc03e977367b2d4ea3b02ae1746e62fbbd8b2fa84eccea6a"
}
