{
  "aboutHtml": "<p>Voyage Finance 2 on talousaineiston hakuun erikoistunut tekstin vektorointimalli. Se muuntaa annetut katkelmat ja hakukysymykset vektoreiksi, jotka auttavat sovellusta löytämään olennaisen lähdetekstin. Valmistajan talousalan arviointi sisältää julkisia viranomaisasiakirjoja, talousraportteja, yritysuutisia sekä talousaiheista kysymys-vastausaineistoa, mikä kuvastaa version painotusta alan kannalta olennaisen näytön löytämiseen.</p><p>Valmistele aineisto niin, että taloudellinen merkitys säilyy poiminnassa. Pidä luku yhdessä sen selitteen, ajanjakson, yksikön ja ympäröivän selityksen kanssa. Liikevaihtolukua on vaikea tulkita hakutuloksessa oikein ilman yrityksen nimeä tai raportointikautta. Säilytä tekstiksi muunnetussa taulukossa rivi- ja sarakeotsikot ja osoita, mitkä arvot kuuluvat yhteen. Säilytä alkuperäinen asiakirja ja sivun tai osion sijainti tarkistusta varten.</p><p>Malli tukee 32000 tokenin konteksti-ikkunaa ja palauttaa 1024-ulotteisia vektoriesityksiä. Käytä saatavilla olevaa syötetilaa kokonaisiin, ymmärrettäviin katkelmiin ja valitse rajat aiotun tuloksen mukaan. Yksi laaja osio voi auttaa raportin löytämisessä; rajattu katkelma voi näyttää kysymykseen vastaavan täsmällisen väitteen. Säilytä indeksin metatiedoissa sekä yhteys asiakirjaan että katkelman sijainti.</p><p>Kirjoita hakukysymykset tehtävän kannalta olennaisine eroineen. ”Mikä selittää liikevoittomarginaalin muutoksen viimeisimmällä raportoidulla vuosineljänneksellä?” edellyttää eri katkelmaa kuin pelkkää marginaalin arvoa kysyvä kysymys. Sisällytä yritys, raportointikausi tai liiketoimintasegmentti, kun se on tiedossa. Testaa samankaltaisia kysymyksiä asiakirjoilla, joiden päivämäärät ovat lähellä toisiaan ja terminologia samankaltaista, nähdäksesi, palautetaanko oikea näyttö.</p><p>Käytä samaa mallia aineiston ja hakukyselyjen vektorointiin. Säilytä jokaisen tulosvektorin yhteys syötekatkelmaansa ja käytä hakutulosta alkuperäisen tekstin ja lähdeviitteen näyttämiseen. Talousavustaja voi välittää valitun näytön vastausten tuottamisvaiheeseen ja säilyttää samalla viitteet, joita tarvitaan esitetyn summan tai selityksen tarkistamiseen.</p><p>Erota raportit, uutiset ja selittävä aineisto metatiedoilla, kun sovellus tarvitsee nämä erot. Tallenna julkaisupäivä ja raportointikausi erikseen; ne kuvaavat taloustietueen eri puolia. Kun asiakirjaa tarkistetaan, säilytä versioiden välinen yhteys ja päivitä asianomaiset katkelmat, jotta hakutulos johtaa tarkoitettuun lähteeseen.</p><p>Arvioi järjestelmää kysymyksillä, joiden vastaukset riippuvat talousterminologiasta ja asiakirjakontekstista. Hyödyllisiä tapauksia ovat muutosta selittävä katkelma, tarvittavan arvon sisältävä taulukko ja useat raportit, jotka käyttävät samaa mittaria eri ajanjaksoille. Tarkista, sisältääkö palautettu teksti riittävästi tietoa asianomaisen toimijan ja ajanjakson tunnistamiseen ilman kyselystä arvailua.</p><p>Malli toimittaa hakuvektoreita talouden tietopankkiin, tutkimusarkistoon tai näytön valintatyönkulkuun. Säilytä lukujen tarkistaminen ja taustalla olevan asiakirjan lukeminen osana sovelluksen tarkistusprosessia. Olennainen katkelma on lähtökohta arvon, suhteen tai väitteen tarkistamiseen; sen lähdesisältö on edelleen lopullisen selityksen perusta. Säilytä todellinen kysymysjoukko odotettuine katkelmineen, jotta poiminnan ja indeksoinnin parannuksia voidaan arvioida samoilla talousalan tehtävillä.</p>",
  "aboutText": "Voyage Finance 2 on talousaineiston hakuun erikoistunut tekstin vektorointimalli. Se muuntaa annetut katkelmat ja hakukysymykset vektoreiksi, jotka auttavat sovellusta löytämään olennaisen lähdetekstin. Valmistajan talousalan arviointi sisältää julkisia viranomaisasiakirjoja, talousraportteja, yritysuutisia sekä talousaiheista kysymys-vastausaineistoa, mikä kuvastaa version painotusta alan kannalta olennaisen näytön löytämiseen.\n\nValmistele aineisto niin, että taloudellinen merkitys säilyy poiminnassa. Pidä luku yhdessä sen selitteen, ajanjakson, yksikön ja ympäröivän selityksen kanssa. Liikevaihtolukua on vaikea tulkita hakutuloksessa oikein ilman yrityksen nimeä tai raportointikautta. Säilytä tekstiksi muunnetussa taulukossa rivi- ja sarakeotsikot ja osoita, mitkä arvot kuuluvat yhteen. Säilytä alkuperäinen asiakirja ja sivun tai osion sijainti tarkistusta varten.\n\nMalli tukee 32000 tokenin konteksti-ikkunaa ja palauttaa 1024-ulotteisia vektoriesityksiä. Käytä saatavilla olevaa syötetilaa kokonaisiin, ymmärrettäviin katkelmiin ja valitse rajat aiotun tuloksen mukaan. Yksi laaja osio voi auttaa raportin löytämisessä; rajattu katkelma voi näyttää kysymykseen vastaavan täsmällisen väitteen. Säilytä indeksin metatiedoissa sekä yhteys asiakirjaan että katkelman sijainti.\n\nKirjoita hakukysymykset tehtävän kannalta olennaisine eroineen. ”Mikä selittää liikevoittomarginaalin muutoksen viimeisimmällä raportoidulla vuosineljänneksellä?” edellyttää eri katkelmaa kuin pelkkää marginaalin arvoa kysyvä kysymys. Sisällytä yritys, raportointikausi tai liiketoimintasegmentti, kun se on tiedossa. Testaa samankaltaisia kysymyksiä asiakirjoilla, joiden päivämäärät ovat lähellä toisiaan ja terminologia samankaltaista, nähdäksesi, palautetaanko oikea näyttö.\n\nKäytä samaa mallia aineiston ja hakukyselyjen vektorointiin. Säilytä jokaisen tulosvektorin yhteys syötekatkelmaansa ja käytä hakutulosta alkuperäisen tekstin ja lähdeviitteen näyttämiseen. Talousavustaja voi välittää valitun näytön vastausten tuottamisvaiheeseen ja säilyttää samalla viitteet, joita tarvitaan esitetyn summan tai selityksen tarkistamiseen.\n\nErota raportit, uutiset ja selittävä aineisto metatiedoilla, kun sovellus tarvitsee nämä erot. Tallenna julkaisupäivä ja raportointikausi erikseen; ne kuvaavat taloustietueen eri puolia. Kun asiakirjaa tarkistetaan, säilytä versioiden välinen yhteys ja päivitä asianomaiset katkelmat, jotta hakutulos johtaa tarkoitettuun lähteeseen.\n\nArvioi järjestelmää kysymyksillä, joiden vastaukset riippuvat talousterminologiasta ja asiakirjakontekstista. Hyödyllisiä tapauksia ovat muutosta selittävä katkelma, tarvittavan arvon sisältävä taulukko ja useat raportit, jotka käyttävät samaa mittaria eri ajanjaksoille. Tarkista, sisältääkö palautettu teksti riittävästi tietoa asianomaisen toimijan ja ajanjakson tunnistamiseen ilman kyselystä arvailua.\n\nMalli toimittaa hakuvektoreita talouden tietopankkiin, tutkimusarkistoon tai näytön valintatyönkulkuun. Säilytä lukujen tarkistaminen ja taustalla olevan asiakirjan lukeminen osana sovelluksen tarkistusprosessia. Olennainen katkelma on lähtökohta arvon, suhteen tai väitteen tarkistamiseen; sen lähdesisältö on edelleen lopullisen selityksen perusta. Säilytä todellinen kysymysjoukko odotettuine katkelmineen, jotta poiminnan ja indeksoinnin parannuksia voidaan arvioida samoilla talousalan tehtävillä.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "5307488ebe895cbf431277fb198c0f9a7ebf0848808e6cdb7299a8f26bc9722b",
    "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\">Voyage AI: Voyage Finance 2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sulje\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-finance-2</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|voyage-finance-2\">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\">Voyage Finance 2 vektoroi taloustekstin asiakirjahakua ja RAG-käyttöä varten. Sen 32000 tokenin ikkuna ja 1024-ulotteiset vektorit tukevat hakua viranomaisille toimitetuista asiakirjoista, talousraporteista ja talousuutisista säilyttäen tulosten yhteyden alkuperäiseen näyttöön.</p><dl class=\"card-io\" data-card-io><div><dt>Hyväksytyt syötteet</dt><dd>Teksti</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>Voyage Finance 2 on talousaineiston hakuun erikoistunut tekstin vektorointimalli. Se muuntaa annetut katkelmat ja hakukysymykset vektoreiksi, jotka auttavat sovellusta löytämään olennaisen lähdetekstin. Valmistajan talousalan arviointi sisältää julkisia viranomaisasiakirjoja, talousraportteja, yritysuutisia sekä talousaiheista kysymys-vastausaineistoa, mikä kuvastaa version painotusta alan kannalta olennaisen näytön löytämiseen.</p><p>Valmistele aineisto niin, että taloudellinen merkitys säilyy poiminnassa. Pidä luku yhdessä sen selitteen, ajanjakson, yksikön ja ympäröivän selityksen kanssa. Liikevaihtolukua on vaikea tulkita hakutuloksessa oikein ilman yrityksen nimeä tai raportointikautta. Säilytä tekstiksi muunnetussa taulukossa rivi- ja sarakeotsikot ja osoita, mitkä arvot kuuluvat yhteen. Säilytä alkuperäinen asiakirja ja sivun tai osion sijainti tarkistusta varten.</p><p>Malli tukee 32000 tokenin konteksti-ikkunaa ja palauttaa 1024-ulotteisia vektoriesityksiä. Käytä saatavilla olevaa syötetilaa kokonaisiin, ymmärrettäviin katkelmiin ja valitse rajat aiotun tuloksen mukaan. Yksi laaja osio voi auttaa raportin löytämisessä; rajattu katkelma voi näyttää kysymykseen vastaavan täsmällisen väitteen. Säilytä indeksin metatiedoissa sekä yhteys asiakirjaan että katkelman sijainti.</p><p>Kirjoita hakukysymykset tehtävän kannalta olennaisine eroineen. ”Mikä selittää liikevoittomarginaalin muutoksen viimeisimmällä raportoidulla vuosineljänneksellä?” edellyttää eri katkelmaa kuin pelkkää marginaalin arvoa kysyvä kysymys. Sisällytä yritys, raportointikausi tai liiketoimintasegmentti, kun se on tiedossa. Testaa samankaltaisia kysymyksiä asiakirjoilla, joiden päivämäärät ovat lähellä toisiaan ja terminologia samankaltaista, nähdäksesi, palautetaanko oikea näyttö.</p><p>Käytä samaa mallia aineiston ja hakukyselyjen vektorointiin. Säilytä jokaisen tulosvektorin yhteys syötekatkelmaansa ja käytä hakutulosta alkuperäisen tekstin ja lähdeviitteen näyttämiseen. Talousavustaja voi välittää valitun näytön vastausten tuottamisvaiheeseen ja säilyttää samalla viitteet, joita tarvitaan esitetyn summan tai selityksen tarkistamiseen.</p><p>Erota raportit, uutiset ja selittävä aineisto metatiedoilla, kun sovellus tarvitsee nämä erot. Tallenna julkaisupäivä ja raportointikausi erikseen; ne kuvaavat taloustietueen eri puolia. Kun asiakirjaa tarkistetaan, säilytä versioiden välinen yhteys ja päivitä asianomaiset katkelmat, jotta hakutulos johtaa tarkoitettuun lähteeseen.</p><p>Arvioi järjestelmää kysymyksillä, joiden vastaukset riippuvat talousterminologiasta ja asiakirjakontekstista. Hyödyllisiä tapauksia ovat muutosta selittävä katkelma, tarvittavan arvon sisältävä taulukko ja useat raportit, jotka käyttävät samaa mittaria eri ajanjaksoille. Tarkista, sisältääkö palautettu teksti riittävästi tietoa asianomaisen toimijan ja ajanjakson tunnistamiseen ilman kyselystä arvailua.</p><p>Malli toimittaa hakuvektoreita talouden tietopankkiin, tutkimusarkistoon tai näytön valintatyönkulkuun. Säilytä lukujen tarkistaminen ja taustalla olevan asiakirjan lukeminen osana sovelluksen tarkistusprosessia. Olennainen katkelma on lähtökohta arvon, suhteen tai väitteen tarkistamiseen; sen lähdesisältö on edelleen lopullisen selityksen perusta. Säilytä todellinen kysymysjoukko odotettuine katkelmineen, jotta poiminnan ja indeksoinnin parannuksia voidaan arvioida samoilla talousalan tehtävillä.</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></dd></div><div><dt>Tulostyypit</dt><dd><code>embedding</code></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><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>voyage-finance-2</div><div>Ehdot: Käytä täsmällistä Ailoot-mallin valitsinta.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><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 or array&lt;string&gt;</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>Ehdot: Teksti tai tekstiluettelo; säilytä yksi vektori jokaista palautettua data-alkiota ja sen indeksiä kohden.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr></tbody></table></div><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>optional</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span></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</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>conditions</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>Lähetä teksti valitulle mallille; säilytä jokainen palautettu vektori ja sen indeksi.</td></tr></tbody></table></div><p>Elinkaari: <code>synchronous</code></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>Ei määritetty <span class=\"note-s\">Kun nopea tila on valittu</span></dd><dt>Flex-tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun flex-tila on valittu</span></dd><dt>Päättelyn enimmäisteho</dt><dd>Ei määritetty <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.0004</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-2792-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2792-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · tallenna kaikki vektorit ja käyttötiedot</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-2792-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2792-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; request.json &lt;&lt;&#39;JSON&#39;\n{\n  &quot;model&quot;: &quot;voyage-finance-2&quot;,\n  &quot;input&quot;: &quot;The quick brown fox jumps over the lazy dog&quot;\n}\nJSON\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 embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Vastaanota ja tallenna tulokset</h3></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=voyage-finance-2&amp;route=Ultra&amp;caller=voyage-finance-2&amp;fmt=embeddings\"><code>voyage-finance-2</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=voyage-finance-2&amp;route=Ultra&amp;caller=voyage-finance-2&amp;fmt=embeddings\"><code>voyage-finance-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-finance-2",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-finance-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-finance-2",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "Säilytä alkuperäinen vastaus ja X-Client-Request-ID täsmäytystä varten. Epäselvä vastaus ei anna lupaa lähettää samaa luontipyyntöä uudelleen.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Tallenna koko JSON-vastaus, jokainen vektori ja sen indeksi, kaikki käyttötietokentät sekä pyynnön otsakkeet.",
              "every_actual_output": true,
              "family": "embedding",
              "fields": [
                {
                  "name": "object",
                  "type": "string"
                },
                {
                  "name": "model",
                  "type": "string"
                },
                {
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "name": "data[].embedding",
                  "type": "array<number>"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "usage.prompt_tokens",
                  "type": "integer"
                },
                {
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ]
            },
            "parameters": [
              {
                "conditions": "Käytä täsmällistä Ailoot-mallin valitsinta.",
                "default_known": false,
                "enum": [
                  "voyage-finance-2"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Teksti tai tekstiluettelo; säilytä yksi vektori jokaista palautettua data-alkiota ja sen indeksiä kohden.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "input",
                "oneOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                ],
                "required": true,
                "type": "string or array<string>"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "voyage-finance-2"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-finance-2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Lähetä teksti valitulle mallille; säilytä jokainen palautettu vektori ja sen indeksi."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/embeddings"
            },
            "mode": "synchronous",
            "status": [],
            "unknown": "Keep the original response and X-Client-Request-ID for reconciliation. An ambiguous response is not permission to submit the same creation again.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "output": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "every_actual_output": true,
            "family": "embedding",
            "fields": [
              {
                "name": "object",
                "type": "string"
              },
              {
                "name": "model",
                "type": "string"
              },
              {
                "name": "data[].index",
                "type": "integer"
              },
              {
                "name": "data[].embedding",
                "type": "array<number>"
              },
              {
                "name": "usage",
                "type": "object"
              },
              {
                "name": "usage.prompt_tokens",
                "type": "integer"
              },
              {
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenien perushinnat",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-finance-2\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\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 embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Vektoriesitykset",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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": "voyage-finance-2",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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": "voyage-finance-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6575686034f3a1bb08d110d05768826744aa85c1ef59ea6685084e4d21be7b8a",
    "input_html_sha256": "6253fb4a7b9a44f51a5ce05f1f234791eff33879b47fbcd008acada354c5aaac",
    "private_audit_sha256": "e7978bd18fbd4969c0e0f557911c21643ee1f9f950fcf19fe3e38d9e8e158cab",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fi/voyage-finance-2/",
    "description": "Voyage Finance 2 vektoroi taloustekstin asiakirjahakua ja RAG-käyttöä varten. Sen 32000 tokenin ikkuna ja 1024-ulotteiset vektorit tukevat hakua viranomaisille toimitetuista asiakirjoista, talousraporteista ja talousuutisista säilyttäen tulosten yhteyden alkuperäiseen näyttöön.",
    "locale": "fi",
    "md_url": "https://ailoot.ai/models/fi/voyage-finance-2/index.md",
    "title": "Voyage AI: Voyage Finance 2 — Ailoot",
    "url": "https://ailoot.ai/models/fi/voyage-finance-2/"
  },
  "rawModel": {
    "about": "Voyage Finance 2 on talousaineiston hakuun erikoistunut tekstin vektorointimalli. Se muuntaa annetut katkelmat ja hakukysymykset vektoreiksi, jotka auttavat sovellusta löytämään olennaisen lähdetekstin. Valmistajan talousalan arviointi sisältää julkisia viranomaisasiakirjoja, talousraportteja, yritysuutisia sekä talousaiheista kysymys-vastausaineistoa, mikä kuvastaa version painotusta alan kannalta olennaisen näytön löytämiseen.\n\nValmistele aineisto niin, että taloudellinen merkitys säilyy poiminnassa. Pidä luku yhdessä sen selitteen, ajanjakson, yksikön ja ympäröivän selityksen kanssa. Liikevaihtolukua on vaikea tulkita hakutuloksessa oikein ilman yrityksen nimeä tai raportointikautta. Säilytä tekstiksi muunnetussa taulukossa rivi- ja sarakeotsikot ja osoita, mitkä arvot kuuluvat yhteen. Säilytä alkuperäinen asiakirja ja sivun tai osion sijainti tarkistusta varten.\n\nMalli tukee 32000 tokenin konteksti-ikkunaa ja palauttaa 1024-ulotteisia vektoriesityksiä. Käytä saatavilla olevaa syötetilaa kokonaisiin, ymmärrettäviin katkelmiin ja valitse rajat aiotun tuloksen mukaan. Yksi laaja osio voi auttaa raportin löytämisessä; rajattu katkelma voi näyttää kysymykseen vastaavan täsmällisen väitteen. Säilytä indeksin metatiedoissa sekä yhteys asiakirjaan että katkelman sijainti.\n\nKirjoita hakukysymykset tehtävän kannalta olennaisine eroineen. ”Mikä selittää liikevoittomarginaalin muutoksen viimeisimmällä raportoidulla vuosineljänneksellä?” edellyttää eri katkelmaa kuin pelkkää marginaalin arvoa kysyvä kysymys. Sisällytä yritys, raportointikausi tai liiketoimintasegmentti, kun se on tiedossa. Testaa samankaltaisia kysymyksiä asiakirjoilla, joiden päivämäärät ovat lähellä toisiaan ja terminologia samankaltaista, nähdäksesi, palautetaanko oikea näyttö.\n\nKäytä samaa mallia aineiston ja hakukyselyjen vektorointiin. Säilytä jokaisen tulosvektorin yhteys syötekatkelmaansa ja käytä hakutulosta alkuperäisen tekstin ja lähdeviitteen näyttämiseen. Talousavustaja voi välittää valitun näytön vastausten tuottamisvaiheeseen ja säilyttää samalla viitteet, joita tarvitaan esitetyn summan tai selityksen tarkistamiseen.\n\nErota raportit, uutiset ja selittävä aineisto metatiedoilla, kun sovellus tarvitsee nämä erot. Tallenna julkaisupäivä ja raportointikausi erikseen; ne kuvaavat taloustietueen eri puolia. Kun asiakirjaa tarkistetaan, säilytä versioiden välinen yhteys ja päivitä asianomaiset katkelmat, jotta hakutulos johtaa tarkoitettuun lähteeseen.\n\nArvioi järjestelmää kysymyksillä, joiden vastaukset riippuvat talousterminologiasta ja asiakirjakontekstista. Hyödyllisiä tapauksia ovat muutosta selittävä katkelma, tarvittavan arvon sisältävä taulukko ja useat raportit, jotka käyttävät samaa mittaria eri ajanjaksoille. Tarkista, sisältääkö palautettu teksti riittävästi tietoa asianomaisen toimijan ja ajanjakson tunnistamiseen ilman kyselystä arvailua.\n\nMalli toimittaa hakuvektoreita talouden tietopankkiin, tutkimusarkistoon tai näytön valintatyönkulkuun. Säilytä lukujen tarkistaminen ja taustalla olevan asiakirjan lukeminen osana sovelluksen tarkistusprosessia. Olennainen katkelma on lähtökohta arvon, suhteen tai väitteen tarkistamiseen; sen lähdesisältö on edelleen lopullisen selityksen perusta. Säilytä todellinen kysymysjoukko odotettuine katkelmineen, jotta poiminnan ja indeksoinnin parannuksia voidaan arvioida samoilla talousalan tehtävillä.",
    "about_sha256": "db4a1cc717225917205707160c888d82c14d3b79b36609ce5c035f373f993fbd",
    "alias_of": null,
    "aliases": [],
    "author": "Voyage AI",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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": null,
    "display_name": "Voyage AI: Voyage Finance 2",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-finance-2",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "Säilytä alkuperäinen vastaus ja X-Client-Request-ID täsmäytystä varten. Epäselvä vastaus ei anna lupaa lähettää samaa luontipyyntöä uudelleen.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Tallenna koko JSON-vastaus, jokainen vektori ja sen indeksi, kaikki käyttötietokentät sekä pyynnön otsakkeet.",
              "every_actual_output": true,
              "family": "embedding",
              "fields": [
                {
                  "name": "object",
                  "type": "string"
                },
                {
                  "name": "model",
                  "type": "string"
                },
                {
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "name": "data[].embedding",
                  "type": "array<number>"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "usage.prompt_tokens",
                  "type": "integer"
                },
                {
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ]
            },
            "parameters": [
              {
                "conditions": "Käytä täsmällistä Ailoot-mallin valitsinta.",
                "default_known": false,
                "enum": [
                  "voyage-finance-2"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Teksti tai tekstiluettelo; säilytä yksi vektori jokaista palautettua data-alkiota ja sen indeksiä kohden.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "input",
                "oneOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                ],
                "required": true,
                "type": "string or array<string>"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "voyage-finance-2"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-finance-2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Lähetä teksti valitulle mallille; säilytä jokainen palautettu vektori ja sen indeksi."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/embeddings"
            },
            "mode": "synchronous",
            "status": [],
            "unknown": "Keep the original response and X-Client-Request-ID for reconciliation. An ambiguous response is not permission to submit the same creation again.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "output": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "every_actual_output": true,
            "family": "embedding",
            "fields": [
              {
                "name": "object",
                "type": "string"
              },
              {
                "name": "model",
                "type": "string"
              },
              {
                "name": "data[].index",
                "type": "integer"
              },
              {
                "name": "data[].embedding",
                "type": "array<number>"
              },
              {
                "name": "usage",
                "type": "object"
              },
              {
                "name": "usage.prompt_tokens",
                "type": "integer"
              },
              {
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenien perushinnat",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-finance-2\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\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 embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Vektoriesitykset",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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": "voyage-finance-2",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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": "voyage-finance-2",
        "request_model_id": "voyage-finance-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage Finance 2",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 0,
      "varies": false
    },
    "short": "Voyage Finance 2 vektoroi taloustekstin asiakirjahakua ja RAG-käyttöä varten. Sen 32000 tokenin ikkuna ja 1024-ulotteiset vektorit tukevat hakua viranomaisille toimitetuista asiakirjoista, talousraporteista ja talousuutisista säilyttäen tulosten yhteyden alkuperäiseen näyttöön.",
    "short_sha256": "3c81b808a4fda5f645a3be957e4fb11c82e590d12b842053bed5d8051f98ec8a"
  },
  "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": "Voyage Finance 2 vektoroi taloustekstin asiakirjahakua ja RAG-käyttöä varten. Sen 32000 tokenin ikkuna ja 1024-ulotteiset vektorit tukevat hakua viranomaisille toimitetuista asiakirjoista, talousraporteista ja talousuutisista säilyttäen tulosten yhteyden alkuperäiseen näyttöön.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "e5c5c4de855d6904da640c495b5230da8a9bd69035c2a6363baa12f174882207",
    "renderer_sha256": "303a59603e2bc29ba8fda690e95fd32cec68de223d92e26054a88babff801dd7"
  },
  "sourceRevision": "5f403b51aabe28a134e0ab0eafb412421041bc5cffcb5640f0c4172bc5459599"
}
