{
  "aboutHtml": "<p>Voyage Finance 2 er en tekstinnbyggingsmodell spesialisert på gjenfinning i finansielt materiale. Den gjør oppgitte avsnitt og søkespørsmål om til vektorer som hjelper en applikasjon med å finne relevant kildetekst. Produsentens finansielle evaluering omfatter offentlig innsendte selskapsdokumenter, finansrapporter, selskapsnyheter og materiale med finansielle spørsmål og svar, noe som gjenspeiler utgavens vekt på å finne faglig relevant kildegrunnlag.</p><p>Klargjør korpuset slik at den finansielle meningen overlever uttrekket. Behold et tall sammen med betegnelsen, perioden, enheten og forklaringen rundt. En omsetningsverdi uten selskapsnavn eller rapporteringsperiode er vanskelig å tolke riktig i et søkeresultat. For en tabell som gjøres om til tekst, behold rad- og kolonneoverskrifter og identifiser hvilke verdier som hører sammen. Behold originaldokumentet og side- eller seksjonsplasseringen for gjennomgang.</p><p>Modellen støtter et kontekstvindu på 32000 tokener og returnerer innbygginger med 1024 dimensjoner. Bruk den tilgjengelige plassen for inndata til komplette, forståelige avsnitt, og velg samtidig grenser som passer det tiltenkte resultatet. En bred seksjon kan hjelpe med å finne en rapport; et avgrenset avsnitt kan vise den konkrete formuleringen som besvarer et spørsmål. Behold både dokumentkoblingen og avsnittsplasseringen i indeksmetadataene.</p><p>Skriv gjenfinningsspørsmål med skillene som er viktige for oppgaven. «Hva forklarer endringen i driftsmarginen for det siste rapporterte kvartalet?» krever et annet avsnitt enn et spørsmål som bare etterspør selve marginverdien. Ta med selskap, rapporteringsperiode eller forretningssegment når det er kjent. Test lignende spørsmål mot dokumenter med nærliggende datoer og sammenlignbar terminologi for å se om riktig kildegrunnlag returneres.</p><p>Bruk samme modell for å bygge inn korpuset og søkespørringene. Behold koblingen mellom hver utdatavektor og inndataavsnittet, og bruk deretter gjenfinningsresultatet til å vise originalteksten og kildereferansen. En finansassistent kan sende utvalgt kildegrunnlag videre til et trinn for svargenerering og samtidig beholde henvisningene som trengs for å kontrollere et oppgitt beløp eller en forklaring.</p><p>Skill rapporter, nyheter og forklarende materiale gjennom metadata når applikasjonen trenger disse skillene. Lagre publiseringsdato og rapporteringsperiode uavhengig av hverandre; de beskriver forskjellige sider ved en finansiell post. Når et dokument revideres, behold versjonsforholdet og oppdater de berørte avsnittene, slik at et søkeresultat leder til den tiltenkte kilden.</p><p>Vurder systemet med spørsmål der svarene avhenger av finansiell terminologi og dokumentkontekst. Nyttige tilfeller omfatter et avsnitt som forklarer en endring, en tabell med den nødvendige verdien og flere rapporter som bruker samme mål for forskjellige perioder. Undersøk om den returnerte teksten inneholder nok informasjon til å identifisere riktig enhet og periode uten å gjette ut fra spørringen.</p><p>Modellen leverer gjenfinningsvektorer til en finansiell kunnskapsbase, et forskningsarkiv eller en prosess for valg av kildegrunnlag. Behold tallkontroll og lesing av det underliggende dokumentet i applikasjonens gjennomgangsprosess. Et relevant avsnitt er et utgangspunkt for å kontrollere en verdi, en sammenheng eller en påstand; kildeinnholdet er fortsatt grunnlaget for den endelige forklaringen. Behold et sett med virkelige spørsmål og forventede avsnitt, slik at forbedringer i uttrekk og indeksering kan vurderes på de samme finansielle oppgavene.</p>",
  "aboutText": "Voyage Finance 2 er en tekstinnbyggingsmodell spesialisert på gjenfinning i finansielt materiale. Den gjør oppgitte avsnitt og søkespørsmål om til vektorer som hjelper en applikasjon med å finne relevant kildetekst. Produsentens finansielle evaluering omfatter offentlig innsendte selskapsdokumenter, finansrapporter, selskapsnyheter og materiale med finansielle spørsmål og svar, noe som gjenspeiler utgavens vekt på å finne faglig relevant kildegrunnlag.\n\nKlargjør korpuset slik at den finansielle meningen overlever uttrekket. Behold et tall sammen med betegnelsen, perioden, enheten og forklaringen rundt. En omsetningsverdi uten selskapsnavn eller rapporteringsperiode er vanskelig å tolke riktig i et søkeresultat. For en tabell som gjøres om til tekst, behold rad- og kolonneoverskrifter og identifiser hvilke verdier som hører sammen. Behold originaldokumentet og side- eller seksjonsplasseringen for gjennomgang.\n\nModellen støtter et kontekstvindu på 32000 tokener og returnerer innbygginger med 1024 dimensjoner. Bruk den tilgjengelige plassen for inndata til komplette, forståelige avsnitt, og velg samtidig grenser som passer det tiltenkte resultatet. En bred seksjon kan hjelpe med å finne en rapport; et avgrenset avsnitt kan vise den konkrete formuleringen som besvarer et spørsmål. Behold både dokumentkoblingen og avsnittsplasseringen i indeksmetadataene.\n\nSkriv gjenfinningsspørsmål med skillene som er viktige for oppgaven. «Hva forklarer endringen i driftsmarginen for det siste rapporterte kvartalet?» krever et annet avsnitt enn et spørsmål som bare etterspør selve marginverdien. Ta med selskap, rapporteringsperiode eller forretningssegment når det er kjent. Test lignende spørsmål mot dokumenter med nærliggende datoer og sammenlignbar terminologi for å se om riktig kildegrunnlag returneres.\n\nBruk samme modell for å bygge inn korpuset og søkespørringene. Behold koblingen mellom hver utdatavektor og inndataavsnittet, og bruk deretter gjenfinningsresultatet til å vise originalteksten og kildereferansen. En finansassistent kan sende utvalgt kildegrunnlag videre til et trinn for svargenerering og samtidig beholde henvisningene som trengs for å kontrollere et oppgitt beløp eller en forklaring.\n\nSkill rapporter, nyheter og forklarende materiale gjennom metadata når applikasjonen trenger disse skillene. Lagre publiseringsdato og rapporteringsperiode uavhengig av hverandre; de beskriver forskjellige sider ved en finansiell post. Når et dokument revideres, behold versjonsforholdet og oppdater de berørte avsnittene, slik at et søkeresultat leder til den tiltenkte kilden.\n\nVurder systemet med spørsmål der svarene avhenger av finansiell terminologi og dokumentkontekst. Nyttige tilfeller omfatter et avsnitt som forklarer en endring, en tabell med den nødvendige verdien og flere rapporter som bruker samme mål for forskjellige perioder. Undersøk om den returnerte teksten inneholder nok informasjon til å identifisere riktig enhet og periode uten å gjette ut fra spørringen.\n\nModellen leverer gjenfinningsvektorer til en finansiell kunnskapsbase, et forskningsarkiv eller en prosess for valg av kildegrunnlag. Behold tallkontroll og lesing av det underliggende dokumentet i applikasjonens gjennomgangsprosess. Et relevant avsnitt er et utgangspunkt for å kontrollere en verdi, en sammenheng eller en påstand; kildeinnholdet er fortsatt grunnlaget for den endelige forklaringen. Behold et sett med virkelige spørsmål og forventede avsnitt, slik at forbedringer i uttrekk og indeksering kan vurderes på de samme finansielle oppgavene.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "4ee0e3ab9268100ee7ea5ff30b9000f1787238e2ca500e1645aabcc097e48129",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "nb",
  "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=\"Lukk\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-finance-2</code><button type=\"button\" id=\"copy-id\">Kopier ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Seksjoner i modellkortet\"><button type=\"button\" data-card-jump=\"overview\">Start</button><button type=\"button\" data-card-jump=\"methods\">Inndata &amp; metoder</button><button type=\"button\" data-card-jump=\"pricing\">Priser</button><button type=\"button\" data-card-jump=\"examples\">Eksempler</button><button type=\"button\" data-card-jump=\"results\">Resultater</button><button type=\"button\" data-card-jump=\"aliases\">Aliaser</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-metoder\"><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\">Vektorrepresentasjoner</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\">Start</h3><p class=\"mdesc-full\">Voyage Finance 2 bygger inn finansiell tekst for dokumentgjenfinning og RAG. Et vindu på 32000 tokener og vektorer med 1024 dimensjoner støtter søk i innsendte selskapsdokumenter, finansrapporter og finansnyheter, samtidig som resultatene beholder koblingen til originalkildene.</p><dl class=\"card-io\" data-card-io><div><dt>Godkjente inndata</dt><dd>Tekst</dd></div><div><dt>Resultater</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Om modellen</summary><p class=\"note-s\" data-model-method-boundary>Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.</p><div class=\"mabout\" id=\"m-about\"><p>Voyage Finance 2 er en tekstinnbyggingsmodell spesialisert på gjenfinning i finansielt materiale. Den gjør oppgitte avsnitt og søkespørsmål om til vektorer som hjelper en applikasjon med å finne relevant kildetekst. Produsentens finansielle evaluering omfatter offentlig innsendte selskapsdokumenter, finansrapporter, selskapsnyheter og materiale med finansielle spørsmål og svar, noe som gjenspeiler utgavens vekt på å finne faglig relevant kildegrunnlag.</p><p>Klargjør korpuset slik at den finansielle meningen overlever uttrekket. Behold et tall sammen med betegnelsen, perioden, enheten og forklaringen rundt. En omsetningsverdi uten selskapsnavn eller rapporteringsperiode er vanskelig å tolke riktig i et søkeresultat. For en tabell som gjøres om til tekst, behold rad- og kolonneoverskrifter og identifiser hvilke verdier som hører sammen. Behold originaldokumentet og side- eller seksjonsplasseringen for gjennomgang.</p><p>Modellen støtter et kontekstvindu på 32000 tokener og returnerer innbygginger med 1024 dimensjoner. Bruk den tilgjengelige plassen for inndata til komplette, forståelige avsnitt, og velg samtidig grenser som passer det tiltenkte resultatet. En bred seksjon kan hjelpe med å finne en rapport; et avgrenset avsnitt kan vise den konkrete formuleringen som besvarer et spørsmål. Behold både dokumentkoblingen og avsnittsplasseringen i indeksmetadataene.</p><p>Skriv gjenfinningsspørsmål med skillene som er viktige for oppgaven. «Hva forklarer endringen i driftsmarginen for det siste rapporterte kvartalet?» krever et annet avsnitt enn et spørsmål som bare etterspør selve marginverdien. Ta med selskap, rapporteringsperiode eller forretningssegment når det er kjent. Test lignende spørsmål mot dokumenter med nærliggende datoer og sammenlignbar terminologi for å se om riktig kildegrunnlag returneres.</p><p>Bruk samme modell for å bygge inn korpuset og søkespørringene. Behold koblingen mellom hver utdatavektor og inndataavsnittet, og bruk deretter gjenfinningsresultatet til å vise originalteksten og kildereferansen. En finansassistent kan sende utvalgt kildegrunnlag videre til et trinn for svargenerering og samtidig beholde henvisningene som trengs for å kontrollere et oppgitt beløp eller en forklaring.</p><p>Skill rapporter, nyheter og forklarende materiale gjennom metadata når applikasjonen trenger disse skillene. Lagre publiseringsdato og rapporteringsperiode uavhengig av hverandre; de beskriver forskjellige sider ved en finansiell post. Når et dokument revideres, behold versjonsforholdet og oppdater de berørte avsnittene, slik at et søkeresultat leder til den tiltenkte kilden.</p><p>Vurder systemet med spørsmål der svarene avhenger av finansiell terminologi og dokumentkontekst. Nyttige tilfeller omfatter et avsnitt som forklarer en endring, en tabell med den nødvendige verdien og flere rapporter som bruker samme mål for forskjellige perioder. Undersøk om den returnerte teksten inneholder nok informasjon til å identifisere riktig enhet og periode uten å gjette ut fra spørringen.</p><p>Modellen leverer gjenfinningsvektorer til en finansiell kunnskapsbase, et forskningsarkiv eller en prosess for valg av kildegrunnlag. Behold tallkontroll og lesing av det underliggende dokumentet i applikasjonens gjennomgangsprosess. Et relevant avsnitt er et utgangspunkt for å kontrollere en verdi, en sammenheng eller en påstand; kildeinnholdet er fortsatt grunnlaget for den endelige forklaringen. Behold et sett med virkelige spørsmål og forventede avsnitt, slik at forbedringer i uttrekk og indeksering kan vurderes på de samme finansielle oppgavene.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tilgjengelig i Ailoot · inndata &amp; metoder</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Vektorrepresentasjoner</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Inndatatyper</dt><dd><code>text</code></dd></div><div><dt>Utdatatyper</dt><dd><code>embedding</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Felt</th><th>Type</th><th>Krav</th><th>Verdier &amp; grenser</th><th>Standard</th></tr></thead><tbody><tr><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Påkrevd</td><td data-cell-label=\"Verdier &amp; grenser\"><span class=\"card-cell-label\">Verdier &amp; grenser</span><div>voyage-finance-2</div><div>Vilkår: Bruk den eksakte modellvelgeren for Ailoot.</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string or array&lt;string&gt;</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Påkrevd</td><td data-cell-label=\"Verdier &amp; grenser\"><span class=\"card-cell-label\">Verdier &amp; grenser</span><div>Vilkår: En tekst eller en liste med tekster; behold én vektor for hvert returnert dataelement og den tilhørende indeksen.</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Metodeparametere og livssyklus</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Avtale</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Avtale\"><span class=\"card-cell-label\">Avtale</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Avtale\"><span class=\"card-cell-label\">Avtale</span>model, input</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>optional</code></th><td data-cell-label=\"Avtale\"><span class=\"card-cell-label\">Avtale</span></td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Avtale\"><span class=\"card-cell-label\">Avtale</span>text</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>conditions</code></th><td data-cell-label=\"Avtale\"><span class=\"card-cell-label\">Avtale</span>Send tekst med den valgte modellen; behold hver returnert vektor og dens indeks.</td></tr></tbody></table></div><p>Livssyklus: <code>synchronous</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Priser</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.</p><dl data-price-conditions><dt>Hurtigmodus</dt><dd>Ikke angitt <span class=\"note-s\">Når hurtigmodus er valgt</span></dd><dt>Flex-modus</dt><dd>Ikke angitt <span class=\"note-s\">Når flex-modus er valgt</span></dd><dt>Maksimal resonneringsinnsats</dt><dd>Ikke angitt <span class=\"note-s\">Når justeringen «default» brukes for maksimal resonneringsinnsats</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-satser</h4><h4>Priser etter konfigurasjon</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurasjon</th><th>Prisplan</th><th>Kostnad</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurasjon\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasjon</span>Grunnpriser for tokener</th><td data-cell-label=\"Prisplan\"><span class=\"card-cell-label\">Prisplan</span>Grunnsats</td><td data-cell-label=\"Kostnad\"><span class=\"card-cell-label\">Kostnad</span><div><span>Inndata · Inngående tokener</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K tokener</span></div><div><span>Utdata · Utgående tokener</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokener</span></div><div><span>Inndata · Lesing fra hurtigbuffer</span> <b>—</b> <span class=\"price-unit\">/ 1K tokener</span></div><div><span>Inndata · Skriving til hurtigbuffer</span> <b>—</b> <span class=\"price-unit\">/ 1K tokener</span></div><div><span>Inndata · Skriving til hurtigbuffer, 1 time</span> <b>—</b> <span class=\"price-unit\">/ 1K tokener</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. <a href=\"/docs/nb/billing/reserve/\">Slik fungerer reservasjon og oppgjør →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Eksempelforespørsler</h3><h4>Ailoot Ultra · Vektorrepresentasjoner</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodevarianter\"><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 · lagre alle vektorer og bruksdata</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopier kode\"><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\">Motta og lagre resultater</h3></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliaser</h3><h4>Modellaliaser</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>Aliaser for metodestier</h4><p class=\"note-s\">Bruk metodestiene som vises ovenfor.</p><h4>Tilknyttede anroper-ID-er</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": "Behold det opprinnelige svaret og X-Client-Request-ID for avstemming. Et tvetydig svar gir ikke tillatelse til å sende inn den samme opprettelsesforespørselen på nytt.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Lagre hele JSON-svaret, hver vektor med tilhørende indeks, alle felt med bruksdata og forespørselshoder.",
              "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": "Bruk den eksakte modellvelgeren for Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-finance-2"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "En tekst eller en liste med tekster; behold én vektor for hvert returnert dataelement og den tilhørende indeksen.",
                "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": [
              "Send tekst med den valgte modellen; behold hver returnert vektor og dens indeks."
            ],
            "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": "Grunnpriser for tokener",
            "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": "Vektorrepresentasjoner",
        "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": "5becb490b7e0f0171f48d1f902ee40b743d548f7005d90d8ceaa58e52decb698",
    "input_html_sha256": "04a7ce6799d4e25b898c49f5349075211553cefcd81016f6ba35078c0d6381ba",
    "private_audit_sha256": "478e2b18d110ec41f65b21d4d3ef09fadb6dd507661a20af49bf2b495acc426b",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/nb/voyage-finance-2/",
    "description": "Voyage Finance 2 bygger inn finansiell tekst for dokumentgjenfinning og RAG. Et vindu på 32000 tokener og vektorer med 1024 dimensjoner støtter søk i innsendte selskapsdokumenter, finansrapporter og finansnyheter, samtidig som resultatene beholder koblingen til originalkildene.",
    "locale": "nb",
    "md_url": "https://ailoot.ai/models/nb/voyage-finance-2/index.md",
    "title": "Voyage AI: Voyage Finance 2 — Ailoot",
    "url": "https://ailoot.ai/models/nb/voyage-finance-2/"
  },
  "rawModel": {
    "about": "Voyage Finance 2 er en tekstinnbyggingsmodell spesialisert på gjenfinning i finansielt materiale. Den gjør oppgitte avsnitt og søkespørsmål om til vektorer som hjelper en applikasjon med å finne relevant kildetekst. Produsentens finansielle evaluering omfatter offentlig innsendte selskapsdokumenter, finansrapporter, selskapsnyheter og materiale med finansielle spørsmål og svar, noe som gjenspeiler utgavens vekt på å finne faglig relevant kildegrunnlag.\n\nKlargjør korpuset slik at den finansielle meningen overlever uttrekket. Behold et tall sammen med betegnelsen, perioden, enheten og forklaringen rundt. En omsetningsverdi uten selskapsnavn eller rapporteringsperiode er vanskelig å tolke riktig i et søkeresultat. For en tabell som gjøres om til tekst, behold rad- og kolonneoverskrifter og identifiser hvilke verdier som hører sammen. Behold originaldokumentet og side- eller seksjonsplasseringen for gjennomgang.\n\nModellen støtter et kontekstvindu på 32000 tokener og returnerer innbygginger med 1024 dimensjoner. Bruk den tilgjengelige plassen for inndata til komplette, forståelige avsnitt, og velg samtidig grenser som passer det tiltenkte resultatet. En bred seksjon kan hjelpe med å finne en rapport; et avgrenset avsnitt kan vise den konkrete formuleringen som besvarer et spørsmål. Behold både dokumentkoblingen og avsnittsplasseringen i indeksmetadataene.\n\nSkriv gjenfinningsspørsmål med skillene som er viktige for oppgaven. «Hva forklarer endringen i driftsmarginen for det siste rapporterte kvartalet?» krever et annet avsnitt enn et spørsmål som bare etterspør selve marginverdien. Ta med selskap, rapporteringsperiode eller forretningssegment når det er kjent. Test lignende spørsmål mot dokumenter med nærliggende datoer og sammenlignbar terminologi for å se om riktig kildegrunnlag returneres.\n\nBruk samme modell for å bygge inn korpuset og søkespørringene. Behold koblingen mellom hver utdatavektor og inndataavsnittet, og bruk deretter gjenfinningsresultatet til å vise originalteksten og kildereferansen. En finansassistent kan sende utvalgt kildegrunnlag videre til et trinn for svargenerering og samtidig beholde henvisningene som trengs for å kontrollere et oppgitt beløp eller en forklaring.\n\nSkill rapporter, nyheter og forklarende materiale gjennom metadata når applikasjonen trenger disse skillene. Lagre publiseringsdato og rapporteringsperiode uavhengig av hverandre; de beskriver forskjellige sider ved en finansiell post. Når et dokument revideres, behold versjonsforholdet og oppdater de berørte avsnittene, slik at et søkeresultat leder til den tiltenkte kilden.\n\nVurder systemet med spørsmål der svarene avhenger av finansiell terminologi og dokumentkontekst. Nyttige tilfeller omfatter et avsnitt som forklarer en endring, en tabell med den nødvendige verdien og flere rapporter som bruker samme mål for forskjellige perioder. Undersøk om den returnerte teksten inneholder nok informasjon til å identifisere riktig enhet og periode uten å gjette ut fra spørringen.\n\nModellen leverer gjenfinningsvektorer til en finansiell kunnskapsbase, et forskningsarkiv eller en prosess for valg av kildegrunnlag. Behold tallkontroll og lesing av det underliggende dokumentet i applikasjonens gjennomgangsprosess. Et relevant avsnitt er et utgangspunkt for å kontrollere en verdi, en sammenheng eller en påstand; kildeinnholdet er fortsatt grunnlaget for den endelige forklaringen. Behold et sett med virkelige spørsmål og forventede avsnitt, slik at forbedringer i uttrekk og indeksering kan vurderes på de samme finansielle oppgavene.",
    "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": "Fullstendige priser for konfigurasjonen finnes i detaljene."
      }
    ],
    "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": "Behold det opprinnelige svaret og X-Client-Request-ID for avstemming. Et tvetydig svar gir ikke tillatelse til å sende inn den samme opprettelsesforespørselen på nytt.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Lagre hele JSON-svaret, hver vektor med tilhørende indeks, alle felt med bruksdata og forespørselshoder.",
              "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": "Bruk den eksakte modellvelgeren for Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-finance-2"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "En tekst eller en liste med tekster; behold én vektor for hvert returnert dataelement og den tilhørende indeksen.",
                "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": [
              "Send tekst med den valgte modellen; behold hver returnert vektor og dens indeks."
            ],
            "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": "Grunnpriser for tokener",
            "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": "Vektorrepresentasjoner",
        "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 bygger inn finansiell tekst for dokumentgjenfinning og RAG. Et vindu på 32000 tokener og vektorer med 1024 dimensjoner støtter søk i innsendte selskapsdokumenter, finansrapporter og finansnyheter, samtidig som resultatene beholder koblingen til originalkildene.",
    "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 bygger inn finansiell tekst for dokumentgjenfinning og RAG. Et vindu på 32000 tokener og vektorer med 1024 dimensjoner støtter søk i innsendte selskapsdokumenter, finansrapporter og finansnyheter, samtidig som resultatene beholder koblingen til originalkildene.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "2a298c1b321bbf470f31d71d78742c68f67d107d31c5a14d98c1751ed0c7f13c",
    "renderer_sha256": "c8cb5a92c10b47373d294dee7465d66796cd4710c6626fd81459dc0625fc6d26"
  },
  "sourceRevision": "f5264d6805e3232070a2a7c1134d9d7919669c8fbe341530744c8914e338d50c"
}
