{
  "aboutHtml": "<p>voyage-4 je srednje velik besedilni model vektorskih vložitev v družini Voyage 4 podjetja Voyage AI. Besedilo poizvedb in dokumentov pretvori v numerične vektorje za splošno in večjezično iskanje. Osrednja zmožnost družine je skupni prostor vložitev: voyage-4, voyage-4-large, voyage-4-lite in voyage-4-nano ustvarjajo združljive predstavitve, zato lahko strani poizvedb in dokumentov pri iskalni nalogi uporabljata različna modela te družine.</p><h4>Skupni prostor in asimetrično iskanje</h4><p>Proizvajalec uporabo različnih modelov za poizvedbe in korpus imenuje asimetrično iskanje. En dokumentirani vzorec je priprava korpusa z voyage-4-large in iskanje po njem z vložitvami poizvedb voyage-4. Vložitve korpusa se izdelajo enkrat ali ob spremembi izvornega gradiva, vektorji poizvedb pa nastajajo ob prihodu iskanj. Skupni prostor omogoča spremembo izbire modela na strani poizvedb znotraj družine, ne da bi bilo treba zgolj zaradi te zamenjave ponovno izdelati vložitve korpusa.</p><p>Ohranite združljivo izhodno dimenzijo in predstavitev primerjanih vektorjev. Navedba skupnega prostora se nanaša na poimensko določene besedilne modele Voyage 4; ne izhaja zgolj iz tega, da dva nepovezana modela vračata enako dolga polja. Praktična naloga lahko zato uporablja voyage-4 na obeh straneh iskanja ali njegove vektorje poizvedb z obstoječim indeksom dokumentov voyage-4-large, kadar se nastavitve predstavitve ujemajo.</p><h4>Vlogi poizvedbe in dokumenta</h4><p>Voyage za iskanje priporoča označitev vhodnega besedila kot poizvedbe ali dokumenta. Možnost vhodne vloge pred vektorizacijo doda ustrezno iskalno navodilo. Odlomke korpusa pripravite kot dokumente, uporabnikovo iskalno besedilo pa kot poizvedbo ter ob vsakem shranjenem vektorju ohranite dejansko izvorno besedilo in identifikatorje.</p><p>Zbirka za iskanje znanja lahko na primer indeksira tehnična navodila in razlage izdelkov. Poizvedba o dogajanju po neuspelem uvozu mora vrniti izvorni odlomek, ki to vedenje opisuje. Z odlomkom ohranite naslove, ustrezne pogoje in mesto v viru, da je najdeni zadetek mogoče pregledati ali uporabiti na poznejši stopnji odgovarjanja RAG. Vektorska vložitev je numerična predstavitev za iskanje; osnovni odlomek je dokazno gradivo, uporabljeno na tej poznejši stopnji.</p><h4>Dimenzije in izhodni podatkovni tipi</h4><p>Dokumentirano kontekstno okno na besedilo je 32 000 žetonov. Izbirne dimenzije so 256, 512, 1024 in 2048, privzeta pa je 1024. Učenje Matryoshka zagotavlja te vgnezdene velikosti predstavitev. Izhod lahko uporablja 32-bitna števila s plavajočo vejico, predznačena ali nepredznačena 8-bitna cela števila ali pakirane binarne vrednosti, kar omogoča priprava družine z upoštevanjem kvantizacije.</p><p>Pri pakiranem binarnem izhodu vsak vrnjeni bajt shrani osem bitov vložitve, zato je dolžina seznama bajtov ena osmina izbrane dimenzije. Število bajtov in dimenzija vložitve imata različen pomen. Izberite predstavitev, ki jo lahko vaš iskalni indeks interpretira, ter pred izbiro stisnjene konfiguracije preverite relevantnost kandidatov pri vprašanjih in jezikih, ki jih zbirka dejansko uporablja.</p><h4>Dolžina vhoda, paketi in krajšanje</h4><p>Proizvajalčev trenutni vodnik za besedilne vektorske vložitve dovoljuje do 1000 nizov in skupno 320 000 žetonov v zahtevi voyage-4. Paketna omejitev je ločena od okna 32 000 žetonov za posamezni vhod. Krajšanje je privzeto vključeno: predolgo besedilo se skrajša, da se prilega. Če je krajšanje izključeno, predolg element namesto tega povzroči napako.</p><p>Pri dolgem poročilu ali prepisu premišljeno pripravite odlomke, ki vsebujejo odgovor, namesto da se zanašate na rez na vhodni meji. Vsak odlomek povežite z nadrejenim dokumentom in različico vira. Običajni vhodi vložitev voyage-4 so posamezna besedila; obdelava skupin odsekov s kontekstom pripada ločeno dokumentiranim modelom kontekstualnih vložitev.</p><h4>Uporabite rezultat iskanja</h4><p>Vektorje shranite z besedilom odlomka in stabilnimi identifikatorji vira, vsak vektor poizvedbe primerjajte z združljivimi vektorji dokumentov ter vrnite kandidatne odlomke. Izdaja družine ocenjuje iskanje po gradivu, ki vključuje tehnične dokumente, pogovore, dolge dokumente, kodo, pravo, finance in spletno besedilo. Ločen model za ponovno razvrščanje lahko izboljša izbor kandidatov, poznejša stopnja odgovarjanja pa uporabi njihovo besedilo. Vrnjene odlomke ocenite glede na nalogo; združljivost skupnega prostora omogoča kombinacijo modelov, uporabnost rezultata pa je še vedno odvisna od izvornega gradiva in vprašanja.</p>",
  "aboutText": "voyage-4 je srednje velik besedilni model vektorskih vložitev v družini Voyage 4 podjetja Voyage AI. Besedilo poizvedb in dokumentov pretvori v numerične vektorje za splošno in večjezično iskanje. Osrednja zmožnost družine je skupni prostor vložitev: voyage-4, voyage-4-large, voyage-4-lite in voyage-4-nano ustvarjajo združljive predstavitve, zato lahko strani poizvedb in dokumentov pri iskalni nalogi uporabljata različna modela te družine.\n\n### Skupni prostor in asimetrično iskanje\n\nProizvajalec uporabo različnih modelov za poizvedbe in korpus imenuje asimetrično iskanje. En dokumentirani vzorec je priprava korpusa z voyage-4-large in iskanje po njem z vložitvami poizvedb voyage-4. Vložitve korpusa se izdelajo enkrat ali ob spremembi izvornega gradiva, vektorji poizvedb pa nastajajo ob prihodu iskanj. Skupni prostor omogoča spremembo izbire modela na strani poizvedb znotraj družine, ne da bi bilo treba zgolj zaradi te zamenjave ponovno izdelati vložitve korpusa.\n\nOhranite združljivo izhodno dimenzijo in predstavitev primerjanih vektorjev. Navedba skupnega prostora se nanaša na poimensko določene besedilne modele Voyage 4; ne izhaja zgolj iz tega, da dva nepovezana modela vračata enako dolga polja. Praktična naloga lahko zato uporablja voyage-4 na obeh straneh iskanja ali njegove vektorje poizvedb z obstoječim indeksom dokumentov voyage-4-large, kadar se nastavitve predstavitve ujemajo.\n\n### Vlogi poizvedbe in dokumenta\n\nVoyage za iskanje priporoča označitev vhodnega besedila kot poizvedbe ali dokumenta. Možnost vhodne vloge pred vektorizacijo doda ustrezno iskalno navodilo. Odlomke korpusa pripravite kot dokumente, uporabnikovo iskalno besedilo pa kot poizvedbo ter ob vsakem shranjenem vektorju ohranite dejansko izvorno besedilo in identifikatorje.\n\nZbirka za iskanje znanja lahko na primer indeksira tehnična navodila in razlage izdelkov. Poizvedba o dogajanju po neuspelem uvozu mora vrniti izvorni odlomek, ki to vedenje opisuje. Z odlomkom ohranite naslove, ustrezne pogoje in mesto v viru, da je najdeni zadetek mogoče pregledati ali uporabiti na poznejši stopnji odgovarjanja RAG. Vektorska vložitev je numerična predstavitev za iskanje; osnovni odlomek je dokazno gradivo, uporabljeno na tej poznejši stopnji.\n\n### Dimenzije in izhodni podatkovni tipi\n\nDokumentirano kontekstno okno na besedilo je 32 000 žetonov. Izbirne dimenzije so 256, 512, 1024 in 2048, privzeta pa je 1024. Učenje Matryoshka zagotavlja te vgnezdene velikosti predstavitev. Izhod lahko uporablja 32-bitna števila s plavajočo vejico, predznačena ali nepredznačena 8-bitna cela števila ali pakirane binarne vrednosti, kar omogoča priprava družine z upoštevanjem kvantizacije.\n\nPri pakiranem binarnem izhodu vsak vrnjeni bajt shrani osem bitov vložitve, zato je dolžina seznama bajtov ena osmina izbrane dimenzije. Število bajtov in dimenzija vložitve imata različen pomen. Izberite predstavitev, ki jo lahko vaš iskalni indeks interpretira, ter pred izbiro stisnjene konfiguracije preverite relevantnost kandidatov pri vprašanjih in jezikih, ki jih zbirka dejansko uporablja.\n\n### Dolžina vhoda, paketi in krajšanje\n\nProizvajalčev trenutni vodnik za besedilne vektorske vložitve dovoljuje do 1000 nizov in skupno 320 000 žetonov v zahtevi voyage-4. Paketna omejitev je ločena od okna 32 000 žetonov za posamezni vhod. Krajšanje je privzeto vključeno: predolgo besedilo se skrajša, da se prilega. Če je krajšanje izključeno, predolg element namesto tega povzroči napako.\n\nPri dolgem poročilu ali prepisu premišljeno pripravite odlomke, ki vsebujejo odgovor, namesto da se zanašate na rez na vhodni meji. Vsak odlomek povežite z nadrejenim dokumentom in različico vira. Običajni vhodi vložitev voyage-4 so posamezna besedila; obdelava skupin odsekov s kontekstom pripada ločeno dokumentiranim modelom kontekstualnih vložitev.\n\n### Uporabite rezultat iskanja\n\nVektorje shranite z besedilom odlomka in stabilnimi identifikatorji vira, vsak vektor poizvedbe primerjajte z združljivimi vektorji dokumentov ter vrnite kandidatne odlomke. Izdaja družine ocenjuje iskanje po gradivu, ki vključuje tehnične dokumente, pogovore, dolge dokumente, kodo, pravo, finance in spletno besedilo. Ločen model za ponovno razvrščanje lahko izboljša izbor kandidatov, poznejša stopnja odgovarjanja pa uporabi njihovo besedilo. Vrnjene odlomke ocenite glede na nalogo; združljivost skupnega prostora omogoča kombinacijo modelov, uporabnost rezultata pa je še vedno odvisna od izvornega gradiva in vprašanja.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a61aba1ee19d4f2c16e9d908d8e18bac3a32b6e9579c962621f95c76f80d75e0",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sl",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">VoyageAI by MongoDB: voyage-4</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zapri\">×</button></div><div class=\"idline\"><span>VoyageAI by MongoDB /</span><code>voyageai/voyage-4</code><button type=\"button\" id=\"copy-id\">Kopiraj ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Razdelki kartice modela\"><button type=\"button\" data-card-jump=\"overview\">Začetek</button><button type=\"button\" data-card-jump=\"methods\">Vhodi in metode</button><button type=\"button\" data-card-jump=\"pricing\">Cenik</button><button type=\"button\" data-card-jump=\"examples\">Primeri</button><button type=\"button\" data-card-jump=\"results\">Rezultati</button><button type=\"button\" data-card-jump=\"aliases\">Druga imena</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metode API\"><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|voyageai%2Fvoyage-4\">Vektorske predstavitve</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\">Začetek</h3><p class=\"mdesc-full\">voyage-4 izdeluje vektorske vložitve besedila za splošno in večjezično iskanje v skupnem vektorskem prostoru družine Voyage 4. Podpira vhode do 32 000 žetonov, izbiro izhodov z 256–2048 dimenzijami ter vlogi query/document za iskanje in RAG.</p><dl class=\"card-io\" data-card-io><div><dt>Dovoljeni vhodi</dt><dd>Besedilo · token_ids</dd></div><div><dt>Rezultati</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.</p><div class=\"mabout\" id=\"m-about\"><p>voyage-4 je srednje velik besedilni model vektorskih vložitev v družini Voyage 4 podjetja Voyage AI. Besedilo poizvedb in dokumentov pretvori v numerične vektorje za splošno in večjezično iskanje. Osrednja zmožnost družine je skupni prostor vložitev: voyage-4, voyage-4-large, voyage-4-lite in voyage-4-nano ustvarjajo združljive predstavitve, zato lahko strani poizvedb in dokumentov pri iskalni nalogi uporabljata različna modela te družine.</p><h4>Skupni prostor in asimetrično iskanje</h4><p>Proizvajalec uporabo različnih modelov za poizvedbe in korpus imenuje asimetrično iskanje. En dokumentirani vzorec je priprava korpusa z voyage-4-large in iskanje po njem z vložitvami poizvedb voyage-4. Vložitve korpusa se izdelajo enkrat ali ob spremembi izvornega gradiva, vektorji poizvedb pa nastajajo ob prihodu iskanj. Skupni prostor omogoča spremembo izbire modela na strani poizvedb znotraj družine, ne da bi bilo treba zgolj zaradi te zamenjave ponovno izdelati vložitve korpusa.</p><p>Ohranite združljivo izhodno dimenzijo in predstavitev primerjanih vektorjev. Navedba skupnega prostora se nanaša na poimensko določene besedilne modele Voyage 4; ne izhaja zgolj iz tega, da dva nepovezana modela vračata enako dolga polja. Praktična naloga lahko zato uporablja voyage-4 na obeh straneh iskanja ali njegove vektorje poizvedb z obstoječim indeksom dokumentov voyage-4-large, kadar se nastavitve predstavitve ujemajo.</p><h4>Vlogi poizvedbe in dokumenta</h4><p>Voyage za iskanje priporoča označitev vhodnega besedila kot poizvedbe ali dokumenta. Možnost vhodne vloge pred vektorizacijo doda ustrezno iskalno navodilo. Odlomke korpusa pripravite kot dokumente, uporabnikovo iskalno besedilo pa kot poizvedbo ter ob vsakem shranjenem vektorju ohranite dejansko izvorno besedilo in identifikatorje.</p><p>Zbirka za iskanje znanja lahko na primer indeksira tehnična navodila in razlage izdelkov. Poizvedba o dogajanju po neuspelem uvozu mora vrniti izvorni odlomek, ki to vedenje opisuje. Z odlomkom ohranite naslove, ustrezne pogoje in mesto v viru, da je najdeni zadetek mogoče pregledati ali uporabiti na poznejši stopnji odgovarjanja RAG. Vektorska vložitev je numerična predstavitev za iskanje; osnovni odlomek je dokazno gradivo, uporabljeno na tej poznejši stopnji.</p><h4>Dimenzije in izhodni podatkovni tipi</h4><p>Dokumentirano kontekstno okno na besedilo je 32 000 žetonov. Izbirne dimenzije so 256, 512, 1024 in 2048, privzeta pa je 1024. Učenje Matryoshka zagotavlja te vgnezdene velikosti predstavitev. Izhod lahko uporablja 32-bitna števila s plavajočo vejico, predznačena ali nepredznačena 8-bitna cela števila ali pakirane binarne vrednosti, kar omogoča priprava družine z upoštevanjem kvantizacije.</p><p>Pri pakiranem binarnem izhodu vsak vrnjeni bajt shrani osem bitov vložitve, zato je dolžina seznama bajtov ena osmina izbrane dimenzije. Število bajtov in dimenzija vložitve imata različen pomen. Izberite predstavitev, ki jo lahko vaš iskalni indeks interpretira, ter pred izbiro stisnjene konfiguracije preverite relevantnost kandidatov pri vprašanjih in jezikih, ki jih zbirka dejansko uporablja.</p><h4>Dolžina vhoda, paketi in krajšanje</h4><p>Proizvajalčev trenutni vodnik za besedilne vektorske vložitve dovoljuje do 1000 nizov in skupno 320 000 žetonov v zahtevi voyage-4. Paketna omejitev je ločena od okna 32 000 žetonov za posamezni vhod. Krajšanje je privzeto vključeno: predolgo besedilo se skrajša, da se prilega. Če je krajšanje izključeno, predolg element namesto tega povzroči napako.</p><p>Pri dolgem poročilu ali prepisu premišljeno pripravite odlomke, ki vsebujejo odgovor, namesto da se zanašate na rez na vhodni meji. Vsak odlomek povežite z nadrejenim dokumentom in različico vira. Običajni vhodi vložitev voyage-4 so posamezna besedila; obdelava skupin odsekov s kontekstom pripada ločeno dokumentiranim modelom kontekstualnih vložitev.</p><h4>Uporabite rezultat iskanja</h4><p>Vektorje shranite z besedilom odlomka in stabilnimi identifikatorji vira, vsak vektor poizvedbe primerjajte z združljivimi vektorji dokumentov ter vrnite kandidatne odlomke. Izdaja družine ocenjuje iskanje po gradivu, ki vključuje tehnične dokumente, pogovore, dolge dokumente, kodo, pravo, finance in spletno besedilo. Ločen model za ponovno razvrščanje lahko izboljša izbor kandidatov, poznejša stopnja odgovarjanja pa uporabi njihovo besedilo. Vrnjene odlomke ocenite glede na nalogo; združljivost skupnega prostora omogoča kombinacijo modelov, uporabnost rezultata pa je še vedno odvisna od izvornega gradiva in vprašanja.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Na voljo v Ailoot · vhodi in metode</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Vektorske predstavitve</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Vhod</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>Izhod</dt><dd><code>embedding</code></dd></div><div><dt>Kontekst</dt><dd>32.000 tokens</dd></div><div><dt>Izhodni format</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Polje</th><th>Vrsta</th><th>Zahteva</th><th>Vrednosti in omejitve</th><th>Privzeto</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>voyageai/voyage-4</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string|string[]|integer[]|integer[][]</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Najmanjše število elementov: 1</div><div>Pogoji: Neprazen paket istovrstnih vhodnih podatkov. Identifikatorji žetonov so nenegativna cela števila.</div><div>Vhodni proračun: Največ: 32.000 · Besedilna enota: bajti UTF8 · Enota žetonov: elementi polja žetonov</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">encoding_format</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>float</div></td><td data-cell-label=\"Privzeto\" data-default=\"known\"><span class=\"card-cell-label\">Privzeto</span>float</td></tr><tr data-parameter-availability=\"unsupported\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>integer</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Ni podprto</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Najmanj: 1</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>json_value</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Pogoji: Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela.</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>json_value</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Pogoji: Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela.</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>json_value</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Pogoji: Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela.</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>object</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Pogoji: provider.options je zavrnjen</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinacije vhodnih gradiv</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Parametri in življenjski cikel metode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Specifikacija</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=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</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=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>model, input</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>input_shapes</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>encoding_format</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>float</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>dimensions_override</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>false</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>max_input_budget_units</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>32000</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>multimodal_objects</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>false</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=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>text, token_ids</td></tr></tbody></table></div><p>Življenjski cikel: <code>synchronous_json</code></p><p class=\"note-s\">Shranite indeks in dimenzijo vsakega vektorja.</p><p class=\"note-s\">Ime multimodalnega modela ne pomeni, da so na tej točno določeni poti dovoljeni slikovni objekti.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Cenik</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.</p><dl data-price-conditions><dt>Hitri način</dt><dd>Standardna tarifa <span class=\"note-s\">Ko je izbran hitri način</span></dd><dt>Način flex</dt><dd>Standardna tarifa <span class=\"note-s\">Ko je izbran način flex</span></dd><dt>Najvišja raven razmišljanja</dt><dd>Standardna tarifa <span class=\"note-s\">Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Cene Ailoot</h4><h4>Cene po nastavitvah</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Nastavitev</th><th>Cenovna lestvica</th><th>Strošek</th></tr></thead><tbody><tr><th data-cell-label=\"Nastavitev\" scope=\"row\"><span class=\"card-cell-label\">Nastavitev</span>Osnovne cene za žetone</th><td data-cell-label=\"Cenovna lestvica\"><span class=\"card-cell-label\">Cenovna lestvica</span>Osnovna cena</td><td data-cell-label=\"Strošek\"><span class=\"card-cell-label\">Strošek</span><div><span>Vhod · Vhodni žetoni</span> <b>$0.00012</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Izhod · Izhodni žetoni</span> <b>$0</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Branje predpomnilnika</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Zapis v predpomnilnik</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Zapis v predpomnilnik, 1 ura</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. <a href=\"/docs/sl/billing/reserve/\">Kako delujeta rezervacija in obračun →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Primeri zahtev</h3><h4>Ailoot Ultra · Vektorske predstavitve</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Primeri kode\"><button class=\"cg-tab\" id=\"model-code-2701-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2701-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-2701-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2701-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiraj kodo\"><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-2701-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2701-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;voyageai/voyage-4&quot;, &quot;input&quot;: [&quot;First document&quot;, &quot;Second document&quot;]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2701-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2701-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.embeddings.create(model=&#39;voyageai/voyage-4&#39;,input=[&quot;First document&quot;,&quot;Second document&quot;])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Prejmi in shrani rezultate</h3><h4>Ailoot Ultra · Vektorske predstavitve</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Ohrani vse dokončane rezultate</h5><p class=\"note-s\">Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.</p><p class=\"note-s\">Shranite vsak vektor skupaj z njegovim indeksom. Število vektorjev mora biti enako številu vhodov; dimenzije morajo biti skladne.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Če je treba preveriti izvirni odgovor</h5><p class=\"note-s\">Končna točka za opravila ustvarjanja vektorskih predstavitev se ne uvaja.</p></div><details class=\"card-about\" data-output-fields><summary>Polja odgovora</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Polje</th><th>Vrsta</th></tr></thead><tbody><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>string</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>string</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>integer</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>finite float[]</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Napake in naslednji koraki</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odgovor</th><th>Pogoj</th><th>Naslednji korak</th></tr></thead><tbody><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Neveljavna obvezna polja, predstavitev gradiva ali vrednost parametra</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Pred novo zahtevo za ustvarjanje popravite navedena polja.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Druga imena</h3><h4>Druga imena modelov</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=voyageai%2Fvoyage-4&amp;route=Ultra&amp;caller=voyageai%2Fvoyage-4&amp;fmt=embeddings\"><code>voyageai/voyage-4</code></a></span></p><h4>Druga imena poti metod</h4><p class=\"note-s\">Uporabite zgoraj navedene poti metod.</p><h4>Povezani ID-ji za klic</h4><p class=\"note-s\"><a href=\"#m=voyageai%2Fvoyage-4&amp;route=Ultra&amp;caller=voyageai%2Fvoyage-4&amp;fmt=embeddings\"><code>voyageai/voyage-4</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyageai/voyage-4",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyageai/voyage-4",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyageai%2Fvoyage-4",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Neveljavna obvezna polja, predstavitev gradiva ali vrednost parametra",
                "http_status": 400,
                "recovery": "Pred novo zahtevo za ustvarjanje popravite navedena polja.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Končna točka za opravila ustvarjanja vektorskih predstavitev se ne uvaja."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Shranite vsak vektor skupaj z njegovim indeksom. Število vektorjev mora biti enako številu vhodov; dimenzije morajo biti skladne.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "voyageai/voyage-4"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 32000,
                  "text_unit": "bajti UTF8",
                  "token_unit": "elementi polja žetonov"
                },
                "conditions": "Neprazen paket istovrstnih vhodnih podatkov. Identifikatorji žetonov so nenegativna cela števila.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options je zavrnjen",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Shranite indeks in dimenzijo vsakega vektorja.",
            "Ime multimodalnega modela ne pomeni, da so na tej točno določeni poti dovoljeni slikovni objekti."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 32000,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 32000,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Osnovne cene za žetone",
            "units": [
              {
                "amount": "0.00012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000012",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"voyageai/voyage-4\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='voyageai/voyage-4',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.12,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Hitri način",
            "value": "Standardna tarifa",
            "when": "Ko je izbran hitri način"
          },
          {
            "label": "Način flex",
            "value": "Standardna tarifa",
            "when": "Ko je izbran način flex"
          },
          {
            "label": "Najvišja raven razmišljanja",
            "value": "Standardna tarifa",
            "when": "Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)"
          }
        ],
        "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.00012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000012",
                "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": "voyageai/voyage-4",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000012",
            "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": "voyageai/voyage-4",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "57ee5032ee0f26a94286527ef73d558eebf9a194c1960ddce10f78d2a6ea9068",
    "input_html_sha256": "98954194d5192cb8cfdb22d69f0cfc9852c67154ae73641bac1af1e41066acc3",
    "private_audit_sha256": "62c225b7ae009211805f6bee3a30d9b44d3ea96ae6bee056e073098cc3d99647",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sl/voyageai-voyage-4/",
    "description": "voyage-4 izdeluje vektorske vložitve besedila za splošno in večjezično iskanje v skupnem vektorskem prostoru družine Voyage 4. Podpira vhode do 32 000 žetonov, izbiro izhodov z 256–2048 dimenzijami ter vlogi query/document za iskanje in RAG.",
    "locale": "sl",
    "md_url": "https://ailoot.ai/models/sl/voyageai-voyage-4/index.md",
    "title": "VoyageAI by MongoDB: voyage-4 — Ailoot",
    "url": "https://ailoot.ai/models/sl/voyageai-voyage-4/"
  },
  "rawModel": {
    "about": "voyage-4 je srednje velik besedilni model vektorskih vložitev v družini Voyage 4 podjetja Voyage AI. Besedilo poizvedb in dokumentov pretvori v numerične vektorje za splošno in večjezično iskanje. Osrednja zmožnost družine je skupni prostor vložitev: voyage-4, voyage-4-large, voyage-4-lite in voyage-4-nano ustvarjajo združljive predstavitve, zato lahko strani poizvedb in dokumentov pri iskalni nalogi uporabljata različna modela te družine.\n\n### Skupni prostor in asimetrično iskanje\n\nProizvajalec uporabo različnih modelov za poizvedbe in korpus imenuje asimetrično iskanje. En dokumentirani vzorec je priprava korpusa z voyage-4-large in iskanje po njem z vložitvami poizvedb voyage-4. Vložitve korpusa se izdelajo enkrat ali ob spremembi izvornega gradiva, vektorji poizvedb pa nastajajo ob prihodu iskanj. Skupni prostor omogoča spremembo izbire modela na strani poizvedb znotraj družine, ne da bi bilo treba zgolj zaradi te zamenjave ponovno izdelati vložitve korpusa.\n\nOhranite združljivo izhodno dimenzijo in predstavitev primerjanih vektorjev. Navedba skupnega prostora se nanaša na poimensko določene besedilne modele Voyage 4; ne izhaja zgolj iz tega, da dva nepovezana modela vračata enako dolga polja. Praktična naloga lahko zato uporablja voyage-4 na obeh straneh iskanja ali njegove vektorje poizvedb z obstoječim indeksom dokumentov voyage-4-large, kadar se nastavitve predstavitve ujemajo.\n\n### Vlogi poizvedbe in dokumenta\n\nVoyage za iskanje priporoča označitev vhodnega besedila kot poizvedbe ali dokumenta. Možnost vhodne vloge pred vektorizacijo doda ustrezno iskalno navodilo. Odlomke korpusa pripravite kot dokumente, uporabnikovo iskalno besedilo pa kot poizvedbo ter ob vsakem shranjenem vektorju ohranite dejansko izvorno besedilo in identifikatorje.\n\nZbirka za iskanje znanja lahko na primer indeksira tehnična navodila in razlage izdelkov. Poizvedba o dogajanju po neuspelem uvozu mora vrniti izvorni odlomek, ki to vedenje opisuje. Z odlomkom ohranite naslove, ustrezne pogoje in mesto v viru, da je najdeni zadetek mogoče pregledati ali uporabiti na poznejši stopnji odgovarjanja RAG. Vektorska vložitev je numerična predstavitev za iskanje; osnovni odlomek je dokazno gradivo, uporabljeno na tej poznejši stopnji.\n\n### Dimenzije in izhodni podatkovni tipi\n\nDokumentirano kontekstno okno na besedilo je 32 000 žetonov. Izbirne dimenzije so 256, 512, 1024 in 2048, privzeta pa je 1024. Učenje Matryoshka zagotavlja te vgnezdene velikosti predstavitev. Izhod lahko uporablja 32-bitna števila s plavajočo vejico, predznačena ali nepredznačena 8-bitna cela števila ali pakirane binarne vrednosti, kar omogoča priprava družine z upoštevanjem kvantizacije.\n\nPri pakiranem binarnem izhodu vsak vrnjeni bajt shrani osem bitov vložitve, zato je dolžina seznama bajtov ena osmina izbrane dimenzije. Število bajtov in dimenzija vložitve imata različen pomen. Izberite predstavitev, ki jo lahko vaš iskalni indeks interpretira, ter pred izbiro stisnjene konfiguracije preverite relevantnost kandidatov pri vprašanjih in jezikih, ki jih zbirka dejansko uporablja.\n\n### Dolžina vhoda, paketi in krajšanje\n\nProizvajalčev trenutni vodnik za besedilne vektorske vložitve dovoljuje do 1000 nizov in skupno 320 000 žetonov v zahtevi voyage-4. Paketna omejitev je ločena od okna 32 000 žetonov za posamezni vhod. Krajšanje je privzeto vključeno: predolgo besedilo se skrajša, da se prilega. Če je krajšanje izključeno, predolg element namesto tega povzroči napako.\n\nPri dolgem poročilu ali prepisu premišljeno pripravite odlomke, ki vsebujejo odgovor, namesto da se zanašate na rez na vhodni meji. Vsak odlomek povežite z nadrejenim dokumentom in različico vira. Običajni vhodi vložitev voyage-4 so posamezna besedila; obdelava skupin odsekov s kontekstom pripada ločeno dokumentiranim modelom kontekstualnih vložitev.\n\n### Uporabite rezultat iskanja\n\nVektorje shranite z besedilom odlomka in stabilnimi identifikatorji vira, vsak vektor poizvedbe primerjajte z združljivimi vektorji dokumentov ter vrnite kandidatne odlomke. Izdaja družine ocenjuje iskanje po gradivu, ki vključuje tehnične dokumente, pogovore, dolge dokumente, kodo, pravo, finance in spletno besedilo. Ločen model za ponovno razvrščanje lahko izboljša izbor kandidatov, poznejša stopnja odgovarjanja pa uporabi njihovo besedilo. Vrnjene odlomke ocenite glede na nalogo; združljivost skupnega prostora omogoča kombinacijo modelov, uporabnost rezultata pa je še vedno odvisna od izvornega gradiva in vprašanja.",
    "alias_of": null,
    "aliases": [],
    "author": "VoyageAI by MongoDB",
    "available": null,
    "canonical_model": "voyageai/voyage-4",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000012",
            "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": "Celoten cenik konfiguracije je v podrobnostih."
      }
    ],
    "ctx": 32000,
    "entity_type": "model",
    "formats": [
      "embeddings"
    ],
    "id": "voyageai/voyage-4",
    "input": [
      "text",
      "token_ids"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Neveljavna obvezna polja, predstavitev gradiva ali vrednost parametra",
                "http_status": 400,
                "recovery": "Pred novo zahtevo za ustvarjanje popravite navedena polja.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Končna točka za opravila ustvarjanja vektorskih predstavitev se ne uvaja."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Shranite vsak vektor skupaj z njegovim indeksom. Število vektorjev mora biti enako številu vhodov; dimenzije morajo biti skladne.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "voyageai/voyage-4"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 32000,
                  "text_unit": "bajti UTF8",
                  "token_unit": "elementi polja žetonov"
                },
                "conditions": "Neprazen paket istovrstnih vhodnih podatkov. Identifikatorji žetonov so nenegativna cela števila.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options je zavrnjen",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Shranite indeks in dimenzijo vsakega vektorja.",
            "Ime multimodalnega modela ne pomeni, da so na tej točno določeni poti dovoljeni slikovni objekti."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 32000,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 32000,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Osnovne cene za žetone",
            "units": [
              {
                "amount": "0.00012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000012",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"voyageai/voyage-4\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='voyageai/voyage-4',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.12,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Hitri način",
            "value": "Standardna tarifa",
            "when": "Ko je izbran hitri način"
          },
          {
            "label": "Način flex",
            "value": "Standardna tarifa",
            "when": "Ko je izbran način flex"
          },
          {
            "label": "Najvišja raven razmišljanja",
            "value": "Standardna tarifa",
            "when": "Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)"
          }
        ],
        "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.00012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000012",
                "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": "voyageai/voyage-4",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000012",
            "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": "voyageai/voyage-4",
        "request_model_id": "voyageai/voyage-4",
        "route_label": "Ultra"
      }
    ],
    "name": "VoyageAI by MongoDB: voyage-4",
    "price": {
      "in": 0.12,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.12,
      "sort_out": 0,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Эмбеддинги · Base token rates",
        "units": [
          {
            "amount": "0.00012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000012",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "voyageai/voyage-4",
    "short": "voyage-4 izdeluje vektorske vložitve besedila za splošno in večjezično iskanje v skupnem vektorskem prostoru družine Voyage 4. Podpira vhode do 32 000 žetonov, izbiro izhodov z 256–2048 dimenzijami ter vlogi query/document za iskanje in RAG."
  },
  "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-4 izdeluje vektorske vložitve besedila za splošno in večjezično iskanje v skupnem vektorskem prostoru družine Voyage 4. Podpira vhode do 32 000 žetonov, izbiro izhodov z 256–2048 dimenzijami ter vlogi query/document za iskanje in RAG.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "e76daec72a4923597f0e2b005492dc3c783582746c5510a9d6e7c6f48a7b0e90",
    "renderer_sha256": "dcba2271c18b0f9570a8b166e8d1e3166f121e096a58609c3a46da31562a1bf2"
  },
  "sourceRevision": "db530cc40e99d2405b6a3e75d327d0820a37d12c30fc51269a94bf955f5c20c5"
}
