{
  "aboutHtml": "<p>voyage-4 je stredne veľký model textových embeddingov Voyage AI v rodine Voyage 4. Text dopytov a dokumentov premieňa na číselné vektory na všeobecné a viacjazyčné vyhľadávanie. Určujúcou schopnosťou rodiny je spoločný priestor embeddingov: voyage-4, voyage-4-large, voyage-4-lite a voyage-4-nano vytvárajú kompatibilné reprezentácie, takže strana dopytov a dokumentov vyhľadávacej úlohy môže používať rôzne modely tejto rodiny.</p><h4>Spoločný priestor a asymetrické vyhľadávanie</h4><p>Výrobca nazýva použitie odlišných modelov pre dopyty a korpus asymetrickým vyhľadávaním. Jedným zdokumentovaným postupom je pripraviť korpus pomocou voyage-4-large a prehľadávať ho embeddingmi dopytov voyage-4. Embeddingy korpusu sa vytvoria raz alebo pri zmene zdrojového materiálu, zatiaľ čo vektory dopytov vznikajú pri príchode vyhľadávaní. Spoločný priestor umožňuje meniť model na strane dopytov v rodine bez potreby opätovne vytvárať embeddingy korpusu iba kvôli tejto zmene.</p><p>Výstupný rozmer a reprezentáciu udržujte kompatibilné medzi porovnávanými vektormi. Tvrdenie o spoločnom priestore sa týka pomenovaných textových modelov Voyage 4; samotné polia rovnakej dĺžky z dvoch nesúvisiacich modelov ho nepreukazujú. Praktická úloha preto môže používať voyage-4 na oboch stranách vyhľadávania alebo jeho vektory dopytov s existujúcim dokumentovým indexom voyage-4-large, keď sa zhodujú nastavenia reprezentácie.</p><h4>Roly dopytu a dokumentu</h4><p>Pri vyhľadávaní Voyage odporúča označiť vstupný text ako dopyt alebo dokument. Voľba vstupnej roly pred vektorizáciou poskytne príslušnú vyhľadávaciu inštrukciu. Pasáže korpusu pripravte ako dokumenty a znenie vyhľadávania používateľa ako dopyt, pričom skutočný zdrojový text a identifikátory uchovajte vedľa každého uloženého vektora.</p><p>Napríklad znalostná vyhľadávacia kolekcia môže indexovať technické pokyny a vysvetlenia produktov. Dopyt o tom, čo sa stane po neúspešnom importe, má vrátiť zdrojovú pasáž opisujúcu toto správanie. Nadpisy, relevantné podmienky a umiestnenie zdroja zachovajte s pasážou, aby sa výsledný nález dal preskúmať alebo použiť v neskoršej fáze odpovede RAG. Embedding je číselná vyhľadávacia reprezentácia; pôvodná pasáž je dôkazom používaným v tejto neskoršej fáze.</p><h4>Rozmery a výstupné dátové typy</h4><p>Zdokumentované kontextové okno na text je 32 000 tokenov. Voliteľné rozmery sú 256, 512, 1024 a 2048 s predvolenými 1024. Učenie Matryoshka poskytuje tieto vnorené veľkosti reprezentácií. Výstup môže používať 32-bitové čísla s pohyblivou rádovou čiarkou, 8-bitové celé čísla so znamienkom či bez znamienka alebo zbalené binárne hodnoty, ktoré umožňuje príprava rodiny zohľadňujúca kvantovanie.</p><p>Pri zbalenom binárnom výstupe každý vrátený bajt uchováva osem bitov embeddingu, takže dĺžka zoznamu bajtov je jednou osminou zvoleného rozmeru. Počet bajtov a rozmer embeddingu majú odlišný význam. Vyberte reprezentáciu, ktorú vyhľadávací index dokáže interpretovať, a pred voľbou komprimovanej konfigurácie preskúmajte relevantnosť kandidátov na otázkach a jazykoch skutočne používaných kolekciou.</p><h4>Dĺžka vstupu, dávky a skracovanie</h4><p>Aktuálna príručka textových embeddingov výrobcu povoľuje v požiadavke voyage-4 najviac 1000 reťazcov a celkovo 320 000 tokenov. Limit dávky je oddelený od okna 32 000 tokenov pre každý vstup. Skracovanie je predvolene zapnuté: príliš dlhý text sa skráti, aby sa zmestil. Ak je skracovanie vypnuté, príliš dlhá položka namiesto toho vyvolá chybu.</p><p>Pri dlhom reporte alebo prepise zámerne pripravte pasáže obsahujúce odpoveď namiesto spoliehania sa na odrezanie na hranici vstupu. Každú pasáž ponechajte prepojenú s nadradeným dokumentom a verziou zdroja. Bežné vstupy embeddingov voyage-4 sú jednotlivé texty; kontextové spracovanie skupín častí patrí samostatne zdokumentovaným kontextovým modelom embeddingov.</p><h4>Použite výsledok vyhľadávania</h4><p>Vektory uložte s textom pasáže a stabilnými identifikátormi zdrojov, každý vektor dopytu porovnajte s kompatibilnými vektormi dokumentov a vráťte kandidátske pasáže. Vydanie rodiny hodnotí vyhľadávanie v materiáloch vrátane technických dokumentov, konverzácií, dlhých dokumentov, kódu, práva, financií a webového textu. Samostatný model na preusporiadanie môže spresniť kandidátov a neskoršia fáza odpovede použiť ich text. Vrátené pasáže vyhodnoťte vzhľadom na úlohu; kompatibilita spoločného priestoru umožňuje kombináciu modelov, zatiaľ čo užitočnosť výsledku stále závisí od zdrojového materiálu a otázky.</p>",
  "aboutText": "voyage-4 je stredne veľký model textových embeddingov Voyage AI v rodine Voyage 4. Text dopytov a dokumentov premieňa na číselné vektory na všeobecné a viacjazyčné vyhľadávanie. Určujúcou schopnosťou rodiny je spoločný priestor embeddingov: voyage-4, voyage-4-large, voyage-4-lite a voyage-4-nano vytvárajú kompatibilné reprezentácie, takže strana dopytov a dokumentov vyhľadávacej úlohy môže používať rôzne modely tejto rodiny.\n\n### Spoločný priestor a asymetrické vyhľadávanie\n\nVýrobca nazýva použitie odlišných modelov pre dopyty a korpus asymetrickým vyhľadávaním. Jedným zdokumentovaným postupom je pripraviť korpus pomocou voyage-4-large a prehľadávať ho embeddingmi dopytov voyage-4. Embeddingy korpusu sa vytvoria raz alebo pri zmene zdrojového materiálu, zatiaľ čo vektory dopytov vznikajú pri príchode vyhľadávaní. Spoločný priestor umožňuje meniť model na strane dopytov v rodine bez potreby opätovne vytvárať embeddingy korpusu iba kvôli tejto zmene.\n\nVýstupný rozmer a reprezentáciu udržujte kompatibilné medzi porovnávanými vektormi. Tvrdenie o spoločnom priestore sa týka pomenovaných textových modelov Voyage 4; samotné polia rovnakej dĺžky z dvoch nesúvisiacich modelov ho nepreukazujú. Praktická úloha preto môže používať voyage-4 na oboch stranách vyhľadávania alebo jeho vektory dopytov s existujúcim dokumentovým indexom voyage-4-large, keď sa zhodujú nastavenia reprezentácie.\n\n### Roly dopytu a dokumentu\n\nPri vyhľadávaní Voyage odporúča označiť vstupný text ako dopyt alebo dokument. Voľba vstupnej roly pred vektorizáciou poskytne príslušnú vyhľadávaciu inštrukciu. Pasáže korpusu pripravte ako dokumenty a znenie vyhľadávania používateľa ako dopyt, pričom skutočný zdrojový text a identifikátory uchovajte vedľa každého uloženého vektora.\n\nNapríklad znalostná vyhľadávacia kolekcia môže indexovať technické pokyny a vysvetlenia produktov. Dopyt o tom, čo sa stane po neúspešnom importe, má vrátiť zdrojovú pasáž opisujúcu toto správanie. Nadpisy, relevantné podmienky a umiestnenie zdroja zachovajte s pasážou, aby sa výsledný nález dal preskúmať alebo použiť v neskoršej fáze odpovede RAG. Embedding je číselná vyhľadávacia reprezentácia; pôvodná pasáž je dôkazom používaným v tejto neskoršej fáze.\n\n### Rozmery a výstupné dátové typy\n\nZdokumentované kontextové okno na text je 32 000 tokenov. Voliteľné rozmery sú 256, 512, 1024 a 2048 s predvolenými 1024. Učenie Matryoshka poskytuje tieto vnorené veľkosti reprezentácií. Výstup môže používať 32-bitové čísla s pohyblivou rádovou čiarkou, 8-bitové celé čísla so znamienkom či bez znamienka alebo zbalené binárne hodnoty, ktoré umožňuje príprava rodiny zohľadňujúca kvantovanie.\n\nPri zbalenom binárnom výstupe každý vrátený bajt uchováva osem bitov embeddingu, takže dĺžka zoznamu bajtov je jednou osminou zvoleného rozmeru. Počet bajtov a rozmer embeddingu majú odlišný význam. Vyberte reprezentáciu, ktorú vyhľadávací index dokáže interpretovať, a pred voľbou komprimovanej konfigurácie preskúmajte relevantnosť kandidátov na otázkach a jazykoch skutočne používaných kolekciou.\n\n### Dĺžka vstupu, dávky a skracovanie\n\nAktuálna príručka textových embeddingov výrobcu povoľuje v požiadavke voyage-4 najviac 1000 reťazcov a celkovo 320 000 tokenov. Limit dávky je oddelený od okna 32 000 tokenov pre každý vstup. Skracovanie je predvolene zapnuté: príliš dlhý text sa skráti, aby sa zmestil. Ak je skracovanie vypnuté, príliš dlhá položka namiesto toho vyvolá chybu.\n\nPri dlhom reporte alebo prepise zámerne pripravte pasáže obsahujúce odpoveď namiesto spoliehania sa na odrezanie na hranici vstupu. Každú pasáž ponechajte prepojenú s nadradeným dokumentom a verziou zdroja. Bežné vstupy embeddingov voyage-4 sú jednotlivé texty; kontextové spracovanie skupín častí patrí samostatne zdokumentovaným kontextovým modelom embeddingov.\n\n### Použite výsledok vyhľadávania\n\nVektory uložte s textom pasáže a stabilnými identifikátormi zdrojov, každý vektor dopytu porovnajte s kompatibilnými vektormi dokumentov a vráťte kandidátske pasáže. Vydanie rodiny hodnotí vyhľadávanie v materiáloch vrátane technických dokumentov, konverzácií, dlhých dokumentov, kódu, práva, financií a webového textu. Samostatný model na preusporiadanie môže spresniť kandidátov a neskoršia fáza odpovede použiť ich text. Vrátené pasáže vyhodnoťte vzhľadom na úlohu; kompatibilita spoločného priestoru umožňuje kombináciu modelov, zatiaľ čo užitočnosť výsledku stále závisí od zdrojového materiálu a otázky.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "03ad34a30fa2f396b65a4881a6ace703fbd16c3bf9d794ccc25a4feb49e45ed9",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sk",
  "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=\"Zavrieť\">×</button></div><div class=\"idline\"><span>VoyageAI by MongoDB /</span><code>voyageai/voyage-4</code><button type=\"button\" id=\"copy-id\">Skopírovať ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sekcie karty modelu\"><button type=\"button\" data-card-jump=\"overview\">Úvod</button><button type=\"button\" data-card-jump=\"methods\">Vstupy a metódy</button><button type=\"button\" data-card-jump=\"pricing\">Cenník</button><button type=\"button\" data-card-jump=\"examples\">Príklady</button><button type=\"button\" data-card-jump=\"results\">Výsledky</button><button type=\"button\" data-card-jump=\"aliases\">Aliasy</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metódy 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\">Embeddingy</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\">Úvod</h3><p class=\"mdesc-full\">voyage-4 vytvára embeddingy textu na všeobecné a viacjazyčné vyhľadávanie v spoločnom vektorovom priestore rodiny Voyage 4. Podporuje vstupy s 32 000 tokenmi, voliteľné výstupy s 256–2048 rozmermi a roly query/document pre vyhľadávanie a RAG.</p><dl class=\"card-io\" data-card-io><div><dt>Povolené vstupy</dt><dd>Text · token_ids</dd></div><div><dt>Výsledky</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>O modeli</summary><p class=\"note-s\" data-model-method-boundary>Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.</p><div class=\"mabout\" id=\"m-about\"><p>voyage-4 je stredne veľký model textových embeddingov Voyage AI v rodine Voyage 4. Text dopytov a dokumentov premieňa na číselné vektory na všeobecné a viacjazyčné vyhľadávanie. Určujúcou schopnosťou rodiny je spoločný priestor embeddingov: voyage-4, voyage-4-large, voyage-4-lite a voyage-4-nano vytvárajú kompatibilné reprezentácie, takže strana dopytov a dokumentov vyhľadávacej úlohy môže používať rôzne modely tejto rodiny.</p><h4>Spoločný priestor a asymetrické vyhľadávanie</h4><p>Výrobca nazýva použitie odlišných modelov pre dopyty a korpus asymetrickým vyhľadávaním. Jedným zdokumentovaným postupom je pripraviť korpus pomocou voyage-4-large a prehľadávať ho embeddingmi dopytov voyage-4. Embeddingy korpusu sa vytvoria raz alebo pri zmene zdrojového materiálu, zatiaľ čo vektory dopytov vznikajú pri príchode vyhľadávaní. Spoločný priestor umožňuje meniť model na strane dopytov v rodine bez potreby opätovne vytvárať embeddingy korpusu iba kvôli tejto zmene.</p><p>Výstupný rozmer a reprezentáciu udržujte kompatibilné medzi porovnávanými vektormi. Tvrdenie o spoločnom priestore sa týka pomenovaných textových modelov Voyage 4; samotné polia rovnakej dĺžky z dvoch nesúvisiacich modelov ho nepreukazujú. Praktická úloha preto môže používať voyage-4 na oboch stranách vyhľadávania alebo jeho vektory dopytov s existujúcim dokumentovým indexom voyage-4-large, keď sa zhodujú nastavenia reprezentácie.</p><h4>Roly dopytu a dokumentu</h4><p>Pri vyhľadávaní Voyage odporúča označiť vstupný text ako dopyt alebo dokument. Voľba vstupnej roly pred vektorizáciou poskytne príslušnú vyhľadávaciu inštrukciu. Pasáže korpusu pripravte ako dokumenty a znenie vyhľadávania používateľa ako dopyt, pričom skutočný zdrojový text a identifikátory uchovajte vedľa každého uloženého vektora.</p><p>Napríklad znalostná vyhľadávacia kolekcia môže indexovať technické pokyny a vysvetlenia produktov. Dopyt o tom, čo sa stane po neúspešnom importe, má vrátiť zdrojovú pasáž opisujúcu toto správanie. Nadpisy, relevantné podmienky a umiestnenie zdroja zachovajte s pasážou, aby sa výsledný nález dal preskúmať alebo použiť v neskoršej fáze odpovede RAG. Embedding je číselná vyhľadávacia reprezentácia; pôvodná pasáž je dôkazom používaným v tejto neskoršej fáze.</p><h4>Rozmery a výstupné dátové typy</h4><p>Zdokumentované kontextové okno na text je 32 000 tokenov. Voliteľné rozmery sú 256, 512, 1024 a 2048 s predvolenými 1024. Učenie Matryoshka poskytuje tieto vnorené veľkosti reprezentácií. Výstup môže používať 32-bitové čísla s pohyblivou rádovou čiarkou, 8-bitové celé čísla so znamienkom či bez znamienka alebo zbalené binárne hodnoty, ktoré umožňuje príprava rodiny zohľadňujúca kvantovanie.</p><p>Pri zbalenom binárnom výstupe každý vrátený bajt uchováva osem bitov embeddingu, takže dĺžka zoznamu bajtov je jednou osminou zvoleného rozmeru. Počet bajtov a rozmer embeddingu majú odlišný význam. Vyberte reprezentáciu, ktorú vyhľadávací index dokáže interpretovať, a pred voľbou komprimovanej konfigurácie preskúmajte relevantnosť kandidátov na otázkach a jazykoch skutočne používaných kolekciou.</p><h4>Dĺžka vstupu, dávky a skracovanie</h4><p>Aktuálna príručka textových embeddingov výrobcu povoľuje v požiadavke voyage-4 najviac 1000 reťazcov a celkovo 320 000 tokenov. Limit dávky je oddelený od okna 32 000 tokenov pre každý vstup. Skracovanie je predvolene zapnuté: príliš dlhý text sa skráti, aby sa zmestil. Ak je skracovanie vypnuté, príliš dlhá položka namiesto toho vyvolá chybu.</p><p>Pri dlhom reporte alebo prepise zámerne pripravte pasáže obsahujúce odpoveď namiesto spoliehania sa na odrezanie na hranici vstupu. Každú pasáž ponechajte prepojenú s nadradeným dokumentom a verziou zdroja. Bežné vstupy embeddingov voyage-4 sú jednotlivé texty; kontextové spracovanie skupín častí patrí samostatne zdokumentovaným kontextovým modelom embeddingov.</p><h4>Použite výsledok vyhľadávania</h4><p>Vektory uložte s textom pasáže a stabilnými identifikátormi zdrojov, každý vektor dopytu porovnajte s kompatibilnými vektormi dokumentov a vráťte kandidátske pasáže. Vydanie rodiny hodnotí vyhľadávanie v materiáloch vrátane technických dokumentov, konverzácií, dlhých dokumentov, kódu, práva, financií a webového textu. Samostatný model na preusporiadanie môže spresniť kandidátov a neskoršia fáza odpovede použiť ich text. Vrátené pasáže vyhodnoťte vzhľadom na úlohu; kompatibilita spoločného priestoru umožňuje kombináciu modelov, zatiaľ čo užitočnosť výsledku stále závisí od zdrojového materiálu a otázky.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Dostupné v Ailoot · vstupy a metódy</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Embeddingy</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Vstup</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>Výstup</dt><dd><code>embedding</code></dd></div><div><dt>Kontext</dt><dd>32 000 tokens</dd></div><div><dt>Výstupný formát</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Požiadavka</th><th>Hodnoty a limity</th><th>Predvolené</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>voyageai/voyage-4</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string|string[]|integer[]|integer[][]</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Minimálny počet položiek: 1</div><div>Podmienky: Neprázdna homogénna dávka. ID tokenov sú nezáporné celé čísla.</div><div>Vstupný rozpočet: Maximum: 32 000 · Textová jednotka: bajty UTF8 · Jednotka tokenov: prvky poľa tokenov</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">encoding_format</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Voliteľné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>float</div></td><td data-cell-label=\"Predvolené\" data-default=\"known\"><span class=\"card-cell-label\">Predvolené</span>float</td></tr><tr data-parameter-availability=\"unsupported\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>integer</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Nepodporované</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Minimum: 1</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>json_value</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Voliteľné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Podmienky: Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu.</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>json_value</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Voliteľné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Podmienky: Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu.</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>json_value</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Voliteľné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Podmienky: Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu.</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object</code></td><td data-cell-label=\"Požiadavka\"><span class=\"card-cell-label\">Požiadavka</span>Voliteľné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Podmienky: provider.options sa odmieta</div></td><td data-cell-label=\"Predvolené\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predvolené</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinácie vstupných podkladov</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Parametre a životný cyklus metódy</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Špecifikácia</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=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</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=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</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=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</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=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</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=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</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=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</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=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</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=\"Špecifikácia\"><span class=\"card-cell-label\">Špecifikácia</span>text, token_ids</td></tr></tbody></table></div><p>Životný cyklus: <code>synchronous_json</code></p><p class=\"note-s\">Uchovajte každý index a rozmer vektora.</p><p class=\"note-s\">Názov multimodálneho modelu neznamená, že na tejto konkrétnej trase možno použiť objekty obrázkov.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Cenník</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.</p><dl data-price-conditions><dt>Rýchly režim</dt><dd>Štandardná sadzba <span class=\"note-s\">Keď je zvolený rýchly režim</span></dd><dt>Režim Flex</dt><dd>Štandardná sadzba <span class=\"note-s\">Keď je zvolený režim flex</span></dd><dt>Maximálna úroveň uvažovania</dt><dd>Štandardná sadzba <span class=\"note-s\">Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Sadzby Ailoot</h4><h4>Ceny podľa konfigurácie</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurácia</th><th>Sadzobník</th><th>Poplatok</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurácia\" scope=\"row\"><span class=\"card-cell-label\">Konfigurácia</span>Základné sadzby za tokeny</th><td data-cell-label=\"Sadzobník\"><span class=\"card-cell-label\">Sadzobník</span>Základná sadzba</td><td data-cell-label=\"Poplatok\"><span class=\"card-cell-label\">Poplatok</span><div><span>Vstup · Vstupné tokeny</span> <b>$0.00012</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Výstup · Výstupné tokeny</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Vstup · Čítanie cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Vstup · Zápis do cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div><div><span>Vstup · Zápis do cache, 1 hod</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenov</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. <a href=\"/docs/sk/billing/reserve/\">Ako funguje rezervácia a vyúčtovanie →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Príklady požiadaviek</h3><h4>Ailoot Ultra · Embeddingy</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianty kódu\"><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=\"Skopírovať kód\"><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\">Prijať a uložiť výsledky</h3><h4>Ailoot Ultra · Embeddingy</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Uchovať všetky dokončené výsledky</h5><p class=\"note-s\">Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.</p><p class=\"note-s\">Uchovajte každý vektor spolu s jeho indexom. Počet vektorov sa musí rovnať počtu vstupov; rozmery musia byť konzistentné.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Ak treba overiť pôvodnú odpoveď</h5><p class=\"note-s\">Nezavádza sa žiadny koncový bod pre úlohy tvorby embeddingov.</p></div><details class=\"card-about\" data-output-fields><summary>Polia odpovede</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Pole</th><th>Typ</th></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>finite float[]</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Chyby a ďalšie kroky</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odpoveď</th><th>Podmienka</th><th>Ďalší krok</th></tr></thead><tbody><tr><th data-cell-label=\"Odpoveď\" scope=\"row\"><span class=\"card-cell-label\">Odpoveď</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Podmienka\"><span class=\"card-cell-label\">Podmienka</span>Neplatné povinné polia, reprezentácia materiálu alebo hodnota parametra</td><td data-cell-label=\"Ďalší krok\"><span class=\"card-cell-label\">Ďalší krok</span>Pred novou požiadavkou na vytvorenie opravte uvedené polia.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasy</h3><h4>Aliasy 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>Aliasy ciest metód</h4><p class=\"note-s\">Použite cesty metód uvedené vyššie.</p><h4>Súvisiace ID na volanie</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": "Neplatné povinné polia, reprezentácia materiálu alebo hodnota parametra",
                "http_status": 400,
                "recovery": "Pred novou požiadavkou na vytvorenie opravte uvedené polia.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Nezavádza sa žiadny koncový bod pre úlohy tvorby embeddingov."
            },
            "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": "Uchovajte každý vektor spolu s jeho indexom. Počet vektorov sa musí rovnať počtu vstupov; rozmery musia byť konzistentné.",
              "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": "bajty UTF8",
                  "token_unit": "prvky poľa tokenov"
                },
                "conditions": "Neprázdna homogénna dávka. ID tokenov sú nezáporné celé čísla.",
                "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": "Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options sa odmieta",
                "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": [
            "Uchovajte každý index a rozmer vektora.",
            "Názov multimodálneho modelu neznamená, že na tejto konkrétnej trase možno použiť objekty obrázkov."
          ],
          "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": "Základné sadzby za tokeny",
            "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": "Rýchly režim",
            "value": "Štandardná sadzba",
            "when": "Keď je zvolený rýchly režim"
          },
          {
            "label": "Režim Flex",
            "value": "Štandardná sadzba",
            "when": "Keď je zvolený režim flex"
          },
          {
            "label": "Maximálna úroveň uvažovania",
            "value": "Štandardná sadzba",
            "when": "Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (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": "1869f970c3e0d2e15e75da939610fe2d0f8b53f293e70426f7cc856dd7806bb9",
    "input_html_sha256": "53b513109267aef85760610a7844bf68c3c9519544e8c8b8871c3d6ebbaa65cc",
    "private_audit_sha256": "7d00a99ffa1381066deee7d6e7efec9e9a2110c2f11527c2095ca30006d12cd8",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sk/voyageai-voyage-4/",
    "description": "voyage-4 vytvára embeddingy textu na všeobecné a viacjazyčné vyhľadávanie v spoločnom vektorovom priestore rodiny Voyage 4. Podporuje vstupy s 32 000 tokenmi, voliteľné výstupy s 256–2048 rozmermi a roly query/document pre vyhľadávanie a RAG.",
    "locale": "sk",
    "md_url": "https://ailoot.ai/models/sk/voyageai-voyage-4/index.md",
    "title": "VoyageAI by MongoDB: voyage-4 — Ailoot",
    "url": "https://ailoot.ai/models/sk/voyageai-voyage-4/"
  },
  "rawModel": {
    "about": "voyage-4 je stredne veľký model textových embeddingov Voyage AI v rodine Voyage 4. Text dopytov a dokumentov premieňa na číselné vektory na všeobecné a viacjazyčné vyhľadávanie. Určujúcou schopnosťou rodiny je spoločný priestor embeddingov: voyage-4, voyage-4-large, voyage-4-lite a voyage-4-nano vytvárajú kompatibilné reprezentácie, takže strana dopytov a dokumentov vyhľadávacej úlohy môže používať rôzne modely tejto rodiny.\n\n### Spoločný priestor a asymetrické vyhľadávanie\n\nVýrobca nazýva použitie odlišných modelov pre dopyty a korpus asymetrickým vyhľadávaním. Jedným zdokumentovaným postupom je pripraviť korpus pomocou voyage-4-large a prehľadávať ho embeddingmi dopytov voyage-4. Embeddingy korpusu sa vytvoria raz alebo pri zmene zdrojového materiálu, zatiaľ čo vektory dopytov vznikajú pri príchode vyhľadávaní. Spoločný priestor umožňuje meniť model na strane dopytov v rodine bez potreby opätovne vytvárať embeddingy korpusu iba kvôli tejto zmene.\n\nVýstupný rozmer a reprezentáciu udržujte kompatibilné medzi porovnávanými vektormi. Tvrdenie o spoločnom priestore sa týka pomenovaných textových modelov Voyage 4; samotné polia rovnakej dĺžky z dvoch nesúvisiacich modelov ho nepreukazujú. Praktická úloha preto môže používať voyage-4 na oboch stranách vyhľadávania alebo jeho vektory dopytov s existujúcim dokumentovým indexom voyage-4-large, keď sa zhodujú nastavenia reprezentácie.\n\n### Roly dopytu a dokumentu\n\nPri vyhľadávaní Voyage odporúča označiť vstupný text ako dopyt alebo dokument. Voľba vstupnej roly pred vektorizáciou poskytne príslušnú vyhľadávaciu inštrukciu. Pasáže korpusu pripravte ako dokumenty a znenie vyhľadávania používateľa ako dopyt, pričom skutočný zdrojový text a identifikátory uchovajte vedľa každého uloženého vektora.\n\nNapríklad znalostná vyhľadávacia kolekcia môže indexovať technické pokyny a vysvetlenia produktov. Dopyt o tom, čo sa stane po neúspešnom importe, má vrátiť zdrojovú pasáž opisujúcu toto správanie. Nadpisy, relevantné podmienky a umiestnenie zdroja zachovajte s pasážou, aby sa výsledný nález dal preskúmať alebo použiť v neskoršej fáze odpovede RAG. Embedding je číselná vyhľadávacia reprezentácia; pôvodná pasáž je dôkazom používaným v tejto neskoršej fáze.\n\n### Rozmery a výstupné dátové typy\n\nZdokumentované kontextové okno na text je 32 000 tokenov. Voliteľné rozmery sú 256, 512, 1024 a 2048 s predvolenými 1024. Učenie Matryoshka poskytuje tieto vnorené veľkosti reprezentácií. Výstup môže používať 32-bitové čísla s pohyblivou rádovou čiarkou, 8-bitové celé čísla so znamienkom či bez znamienka alebo zbalené binárne hodnoty, ktoré umožňuje príprava rodiny zohľadňujúca kvantovanie.\n\nPri zbalenom binárnom výstupe každý vrátený bajt uchováva osem bitov embeddingu, takže dĺžka zoznamu bajtov je jednou osminou zvoleného rozmeru. Počet bajtov a rozmer embeddingu majú odlišný význam. Vyberte reprezentáciu, ktorú vyhľadávací index dokáže interpretovať, a pred voľbou komprimovanej konfigurácie preskúmajte relevantnosť kandidátov na otázkach a jazykoch skutočne používaných kolekciou.\n\n### Dĺžka vstupu, dávky a skracovanie\n\nAktuálna príručka textových embeddingov výrobcu povoľuje v požiadavke voyage-4 najviac 1000 reťazcov a celkovo 320 000 tokenov. Limit dávky je oddelený od okna 32 000 tokenov pre každý vstup. Skracovanie je predvolene zapnuté: príliš dlhý text sa skráti, aby sa zmestil. Ak je skracovanie vypnuté, príliš dlhá položka namiesto toho vyvolá chybu.\n\nPri dlhom reporte alebo prepise zámerne pripravte pasáže obsahujúce odpoveď namiesto spoliehania sa na odrezanie na hranici vstupu. Každú pasáž ponechajte prepojenú s nadradeným dokumentom a verziou zdroja. Bežné vstupy embeddingov voyage-4 sú jednotlivé texty; kontextové spracovanie skupín častí patrí samostatne zdokumentovaným kontextovým modelom embeddingov.\n\n### Použite výsledok vyhľadávania\n\nVektory uložte s textom pasáže a stabilnými identifikátormi zdrojov, každý vektor dopytu porovnajte s kompatibilnými vektormi dokumentov a vráťte kandidátske pasáže. Vydanie rodiny hodnotí vyhľadávanie v materiáloch vrátane technických dokumentov, konverzácií, dlhých dokumentov, kódu, práva, financií a webového textu. Samostatný model na preusporiadanie môže spresniť kandidátov a neskoršia fáza odpovede použiť ich text. Vrátené pasáže vyhodnoťte vzhľadom na úlohu; kompatibilita spoločného priestoru umožňuje kombináciu modelov, zatiaľ čo užitočnosť výsledku stále závisí od zdrojového materiálu a otázky.",
    "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": "Úplný cenník konfigurácie nájdete v podrobnostiach."
      }
    ],
    "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": "Neplatné povinné polia, reprezentácia materiálu alebo hodnota parametra",
                "http_status": 400,
                "recovery": "Pred novou požiadavkou na vytvorenie opravte uvedené polia.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Nezavádza sa žiadny koncový bod pre úlohy tvorby embeddingov."
            },
            "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": "Uchovajte každý vektor spolu s jeho indexom. Počet vektorov sa musí rovnať počtu vstupov; rozmery musia byť konzistentné.",
              "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": "bajty UTF8",
                  "token_unit": "prvky poľa tokenov"
                },
                "conditions": "Neprázdna homogénna dávka. ID tokenov sú nezáporné celé čísla.",
                "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": "Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options sa odmieta",
                "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": [
            "Uchovajte každý index a rozmer vektora.",
            "Názov multimodálneho modelu neznamená, že na tejto konkrétnej trase možno použiť objekty obrázkov."
          ],
          "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": "Základné sadzby za tokeny",
            "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": "Rýchly režim",
            "value": "Štandardná sadzba",
            "when": "Keď je zvolený rýchly režim"
          },
          {
            "label": "Režim Flex",
            "value": "Štandardná sadzba",
            "when": "Keď je zvolený režim flex"
          },
          {
            "label": "Maximálna úroveň uvažovania",
            "value": "Štandardná sadzba",
            "when": "Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (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 vytvára embeddingy textu na všeobecné a viacjazyčné vyhľadávanie v spoločnom vektorovom priestore rodiny Voyage 4. Podporuje vstupy s 32 000 tokenmi, voliteľné výstupy s 256–2048 rozmermi a roly query/document pre vyhľadávanie a 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 vytvára embeddingy textu na všeobecné a viacjazyčné vyhľadávanie v spoločnom vektorovom priestore rodiny Voyage 4. Podporuje vstupy s 32 000 tokenmi, voliteľné výstupy s 256–2048 rozmermi a roly query/document pre vyhľadávanie a RAG.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "28986b43635f9ebb826020cbed94c0ed4ebc79ca376ad1a9f944c48465191924",
    "renderer_sha256": "94893ba0fa4d7b7d32370787b705f436a4c2569f84ec7b33063549adc74b07e0"
  },
  "sourceRevision": "3e96a608fd008bda9f245e7c841595668edcc142f462dce1fba0236de0ea03c3"
}
