{
  "aboutHtml": "<p>voyage-4 — Voyage AI’ning Voyage 4 oilasidagi o‘rta hajmli matn embedding modeli. U umumiy maqsadli va ko‘p tilli qidiruv uchun so‘rov hamda hujjat matnini raqamli vektorlarga aylantiradi. Oilaning o‘ziga xos imkoniyati umumiy embedding makonidir: voyage-4, voyage-4-large, voyage-4-lite va voyage-4-nano mos ifodalar hosil qiladi; qidiruv vazifasining so‘rov va hujjat tomonlari shu oiladagi turli modellardan foydalanishi mumkin.</p><h4>Umumiy makon va asimmetrik qidiruv</h4><p>Ishlab chiqaruvchi turli so‘rov va korpus modellaridan foydalanishni asimmetrik qidiruv deb ataydi. Hujjatlashtirilgan namunalardan biri korpusni voyage-4-large bilan tayyorlash va voyage-4 so‘rov embeddinglari bilan qidirishdir. Korpus bir marta yoki manba materiali o‘zgarganda embedding qilinadi; so‘rov vektorlari esa qidiruvlar kelganda yaratiladi. Umumiy makon oila ichida so‘rov modelini faqat shu almashuv uchun korpusni qayta embedding qilmasdan o‘zgartirish imkonini beradi.</p><p>Taqqoslanayotgan vektorlarda chiqish o‘lchami va ifoda mos bo‘lsin. Umumiy makon bayonoti nomlangan Voyage 4 matn modellariga tegishli; ikki aloqasiz model bir uzunlikdagi massiv qaytarishining o‘zi buni isbotlamaydi. Amaliy vazifa qidiruvning ikkala tomonida voyage-4’dan foydalanishi yoki ifoda sozlamalari mos bo‘lsa, uning so‘rov vektorlarini mavjud voyage-4-large hujjat indeksi bilan ishlatishi mumkin.</p><h4>Query va document rollari</h4><p>Qidiruv uchun Voyage kirish matnini query yoki document sifatida belgilashni tavsiya qiladi. Kirish roli tanlovi vektorlashtirishdan oldin tegishli qidiruv ko‘rsatmasini beradi. Korpus parchalarini hujjatlar, foydalanuvchining qidiruv ifodasini so‘rov qilib tayyorlang; har saqlangan vektor yonida haqiqiy manba matni va identifikatorlarni saqlang.</p><p>Masalan, bilim qidiruv to‘plami texnik ko‘rsatmalar va mahsulot izohlarini indekslashi mumkin. Muvaffaqiyatsiz importdan keyin nima bo‘lishi haqidagi so‘rov shu xulqni tavsiflaydigan manba parchasini qaytarishi kerak. Hosil bo‘lgan qidiruv natijasini tekshirish yoki keyingi RAG javob bosqichida ishlatish uchun sarlavhalar, tegishli shartlar va manba joyini parcha bilan saqlang. Embedding raqamli qidiruv ifodasi; asosdagi parcha esa keyingi bosqichda ishlatiladigan dalildir.</p><h4>O‘lchamlar va chiqish ma’lumot turlari</h4><p>Hujjatlashtirilgan har matn kontekst oynasi 32 000 token. Tanlanadigan o‘lchamlar 256, 512, 1024 va 2048, odatiysi 1024. Matryoshka o‘rganishi shu ichma-ich ifoda hajmlarini beradi. Oilaning kvantlashni hisobga olgan tayyorlash usuli tufayli chiqish 32 bitli suzuvchi nuqtali, ishorali yoki ishorasiz 8 bitli butun sonli yoxud zichlangan ikkilik qiymatlar bo‘lishi mumkin.</p><p>Zichlangan ikkilik chiqishda har qaytgan bayt sakkiz embedding bitini saqlaydi; baytlar ro‘yxati uzunligi tanlangan o‘lchamning sakkizdan biriga teng. Bayt soni va embedding o‘lchami turli ma’nolarga ega. Qidiruv indeksi talqin qila oladigan ifodani tanlang; siqilgan konfiguratsiyani tanlashdan oldin nomzodlar dolzarbligini to‘plam haqiqatan ishlatadigan savollar va tillarda tekshiring.</p><h4>Kirish uzunligi, batch va kesish</h4><p>Ishlab chiqaruvchining joriy matn embedding qo‘llanmasi voyage-4 so‘rovida ko‘pi bilan 1 000 satr va jami 320 000 tokenga ruxsat beradi. Batch budjeti har kirishning 32 000 tokenli oynasidan alohida. Odatiy holatda kesish yoqilgan: haddan uzun matn sig‘ishi uchun qisqartiriladi. Kesish o‘chirilsa, haddan uzun element xato beradi.</p><p>Uzun hisobot yoki transkriptda kirish chegarasidagi kesishga tayanish o‘rniga javob bor parchalarni ongli tayyorlang. Har parchani asosiy hujjat va manba versiyasiga bog‘liq saqlang. Oddiy voyage-4 embedding kirishlari alohida matnlardir; kontekstli bo‘lak guruhlarini qayta ishlash alohida hujjatlashtirilgan kontekstli embedding modellariga tegishli.</p><h4>Qidiruv natijasidan foydalaning</h4><p>Vektorlarni parcha matni va barqaror manba identifikatorlari bilan saqlang, har so‘rov vektorini mos hujjat vektorlari bilan taqqoslang va nomzod parchalarni qaytaring. Oila relizi texnik hujjatlar, suhbatlar, uzun hujjatlar, kod, huquq, moliya va veb matnlar kabi materiallarda qidiruvni baholaydi. Alohida qayta reytinglovchi model nomzodlarni aniqlashtirishi, keyingi javob bosqichi esa ularning matnidan foydalanishi mumkin. Qaytgan parchalarni vazifa bo‘yicha baholang; umumiy makon mosligi modellarni birlashtirishga imkon beradi, natija foydasi esa baribir manba materiali va savolga bog‘liq.</p>",
  "aboutText": "voyage-4 — Voyage AI’ning Voyage 4 oilasidagi o‘rta hajmli matn embedding modeli. U umumiy maqsadli va ko‘p tilli qidiruv uchun so‘rov hamda hujjat matnini raqamli vektorlarga aylantiradi. Oilaning o‘ziga xos imkoniyati umumiy embedding makonidir: voyage-4, voyage-4-large, voyage-4-lite va voyage-4-nano mos ifodalar hosil qiladi; qidiruv vazifasining so‘rov va hujjat tomonlari shu oiladagi turli modellardan foydalanishi mumkin.\n\n### Umumiy makon va asimmetrik qidiruv\n\nIshlab chiqaruvchi turli so‘rov va korpus modellaridan foydalanishni asimmetrik qidiruv deb ataydi. Hujjatlashtirilgan namunalardan biri korpusni voyage-4-large bilan tayyorlash va voyage-4 so‘rov embeddinglari bilan qidirishdir. Korpus bir marta yoki manba materiali o‘zgarganda embedding qilinadi; so‘rov vektorlari esa qidiruvlar kelganda yaratiladi. Umumiy makon oila ichida so‘rov modelini faqat shu almashuv uchun korpusni qayta embedding qilmasdan o‘zgartirish imkonini beradi.\n\nTaqqoslanayotgan vektorlarda chiqish o‘lchami va ifoda mos bo‘lsin. Umumiy makon bayonoti nomlangan Voyage 4 matn modellariga tegishli; ikki aloqasiz model bir uzunlikdagi massiv qaytarishining o‘zi buni isbotlamaydi. Amaliy vazifa qidiruvning ikkala tomonida voyage-4’dan foydalanishi yoki ifoda sozlamalari mos bo‘lsa, uning so‘rov vektorlarini mavjud voyage-4-large hujjat indeksi bilan ishlatishi mumkin.\n\n### Query va document rollari\n\nQidiruv uchun Voyage kirish matnini query yoki document sifatida belgilashni tavsiya qiladi. Kirish roli tanlovi vektorlashtirishdan oldin tegishli qidiruv ko‘rsatmasini beradi. Korpus parchalarini hujjatlar, foydalanuvchining qidiruv ifodasini so‘rov qilib tayyorlang; har saqlangan vektor yonida haqiqiy manba matni va identifikatorlarni saqlang.\n\nMasalan, bilim qidiruv to‘plami texnik ko‘rsatmalar va mahsulot izohlarini indekslashi mumkin. Muvaffaqiyatsiz importdan keyin nima bo‘lishi haqidagi so‘rov shu xulqni tavsiflaydigan manba parchasini qaytarishi kerak. Hosil bo‘lgan qidiruv natijasini tekshirish yoki keyingi RAG javob bosqichida ishlatish uchun sarlavhalar, tegishli shartlar va manba joyini parcha bilan saqlang. Embedding raqamli qidiruv ifodasi; asosdagi parcha esa keyingi bosqichda ishlatiladigan dalildir.\n\n### O‘lchamlar va chiqish ma’lumot turlari\n\nHujjatlashtirilgan har matn kontekst oynasi 32 000 token. Tanlanadigan o‘lchamlar 256, 512, 1024 va 2048, odatiysi 1024. Matryoshka o‘rganishi shu ichma-ich ifoda hajmlarini beradi. Oilaning kvantlashni hisobga olgan tayyorlash usuli tufayli chiqish 32 bitli suzuvchi nuqtali, ishorali yoki ishorasiz 8 bitli butun sonli yoxud zichlangan ikkilik qiymatlar bo‘lishi mumkin.\n\nZichlangan ikkilik chiqishda har qaytgan bayt sakkiz embedding bitini saqlaydi; baytlar ro‘yxati uzunligi tanlangan o‘lchamning sakkizdan biriga teng. Bayt soni va embedding o‘lchami turli ma’nolarga ega. Qidiruv indeksi talqin qila oladigan ifodani tanlang; siqilgan konfiguratsiyani tanlashdan oldin nomzodlar dolzarbligini to‘plam haqiqatan ishlatadigan savollar va tillarda tekshiring.\n\n### Kirish uzunligi, batch va kesish\n\nIshlab chiqaruvchining joriy matn embedding qo‘llanmasi voyage-4 so‘rovida ko‘pi bilan 1 000 satr va jami 320 000 tokenga ruxsat beradi. Batch budjeti har kirishning 32 000 tokenli oynasidan alohida. Odatiy holatda kesish yoqilgan: haddan uzun matn sig‘ishi uchun qisqartiriladi. Kesish o‘chirilsa, haddan uzun element xato beradi.\n\nUzun hisobot yoki transkriptda kirish chegarasidagi kesishga tayanish o‘rniga javob bor parchalarni ongli tayyorlang. Har parchani asosiy hujjat va manba versiyasiga bog‘liq saqlang. Oddiy voyage-4 embedding kirishlari alohida matnlardir; kontekstli bo‘lak guruhlarini qayta ishlash alohida hujjatlashtirilgan kontekstli embedding modellariga tegishli.\n\n### Qidiruv natijasidan foydalaning\n\nVektorlarni parcha matni va barqaror manba identifikatorlari bilan saqlang, har so‘rov vektorini mos hujjat vektorlari bilan taqqoslang va nomzod parchalarni qaytaring. Oila relizi texnik hujjatlar, suhbatlar, uzun hujjatlar, kod, huquq, moliya va veb matnlar kabi materiallarda qidiruvni baholaydi. Alohida qayta reytinglovchi model nomzodlarni aniqlashtirishi, keyingi javob bosqichi esa ularning matnidan foydalanishi mumkin. Qaytgan parchalarni vazifa bo‘yicha baholang; umumiy makon mosligi modellarni birlashtirishga imkon beradi, natija foydasi esa baribir manba materiali va savolga bog‘liq.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "f2805f9c54904c81065cbfc89befc0c54b660552627b2ca2d24b0828b9f1fbdd",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "uz",
  "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=\"Yopish\">×</button></div><div class=\"idline\"><span>VoyageAI by MongoDB /</span><code>voyageai/voyage-4</code><button type=\"button\" id=\"copy-id\">ID ni nusxalash</button></div><nav class=\"card-jump-nav\" aria-label=\"Model kartochkasi bo‘limlari\"><button type=\"button\" data-card-jump=\"overview\">Boshlash</button><button type=\"button\" data-card-jump=\"methods\">Kirish ma’lumotlari va usullar</button><button type=\"button\" data-card-jump=\"pricing\">Tariflar</button><button type=\"button\" data-card-jump=\"examples\">Namunalar</button><button type=\"button\" data-card-jump=\"results\">Natijalar</button><button type=\"button\" data-card-jump=\"aliases\">Taxalluslar</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API usullari\"><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\">Embeddinglar</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\">Boshlash</h3><p class=\"mdesc-full\">voyage-4 umumiy maqsadli va ko‘p tilli qidiruv uchun matnni embedding qiladi; Voyage 4 oilasida umumiy vektor makoni bor. U 32 000 tokenli kirishlar, tanlanadigan 256–2048 o‘lchamli chiqishlar va qidiruv hamda RAG uchun query/document rollarini qo‘llaydi.</p><dl class=\"card-io\" data-card-io><div><dt>Qabul qilinadigan kirish ma’lumotlari</dt><dd>Matn · token_ids</dd></div><div><dt>Natijalar</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Model haqida</summary><p class=\"note-s\" data-model-method-boundary>Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.</p><div class=\"mabout\" id=\"m-about\"><p>voyage-4 — Voyage AI’ning Voyage 4 oilasidagi o‘rta hajmli matn embedding modeli. U umumiy maqsadli va ko‘p tilli qidiruv uchun so‘rov hamda hujjat matnini raqamli vektorlarga aylantiradi. Oilaning o‘ziga xos imkoniyati umumiy embedding makonidir: voyage-4, voyage-4-large, voyage-4-lite va voyage-4-nano mos ifodalar hosil qiladi; qidiruv vazifasining so‘rov va hujjat tomonlari shu oiladagi turli modellardan foydalanishi mumkin.</p><h4>Umumiy makon va asimmetrik qidiruv</h4><p>Ishlab chiqaruvchi turli so‘rov va korpus modellaridan foydalanishni asimmetrik qidiruv deb ataydi. Hujjatlashtirilgan namunalardan biri korpusni voyage-4-large bilan tayyorlash va voyage-4 so‘rov embeddinglari bilan qidirishdir. Korpus bir marta yoki manba materiali o‘zgarganda embedding qilinadi; so‘rov vektorlari esa qidiruvlar kelganda yaratiladi. Umumiy makon oila ichida so‘rov modelini faqat shu almashuv uchun korpusni qayta embedding qilmasdan o‘zgartirish imkonini beradi.</p><p>Taqqoslanayotgan vektorlarda chiqish o‘lchami va ifoda mos bo‘lsin. Umumiy makon bayonoti nomlangan Voyage 4 matn modellariga tegishli; ikki aloqasiz model bir uzunlikdagi massiv qaytarishining o‘zi buni isbotlamaydi. Amaliy vazifa qidiruvning ikkala tomonida voyage-4’dan foydalanishi yoki ifoda sozlamalari mos bo‘lsa, uning so‘rov vektorlarini mavjud voyage-4-large hujjat indeksi bilan ishlatishi mumkin.</p><h4>Query va document rollari</h4><p>Qidiruv uchun Voyage kirish matnini query yoki document sifatida belgilashni tavsiya qiladi. Kirish roli tanlovi vektorlashtirishdan oldin tegishli qidiruv ko‘rsatmasini beradi. Korpus parchalarini hujjatlar, foydalanuvchining qidiruv ifodasini so‘rov qilib tayyorlang; har saqlangan vektor yonida haqiqiy manba matni va identifikatorlarni saqlang.</p><p>Masalan, bilim qidiruv to‘plami texnik ko‘rsatmalar va mahsulot izohlarini indekslashi mumkin. Muvaffaqiyatsiz importdan keyin nima bo‘lishi haqidagi so‘rov shu xulqni tavsiflaydigan manba parchasini qaytarishi kerak. Hosil bo‘lgan qidiruv natijasini tekshirish yoki keyingi RAG javob bosqichida ishlatish uchun sarlavhalar, tegishli shartlar va manba joyini parcha bilan saqlang. Embedding raqamli qidiruv ifodasi; asosdagi parcha esa keyingi bosqichda ishlatiladigan dalildir.</p><h4>O‘lchamlar va chiqish ma’lumot turlari</h4><p>Hujjatlashtirilgan har matn kontekst oynasi 32 000 token. Tanlanadigan o‘lchamlar 256, 512, 1024 va 2048, odatiysi 1024. Matryoshka o‘rganishi shu ichma-ich ifoda hajmlarini beradi. Oilaning kvantlashni hisobga olgan tayyorlash usuli tufayli chiqish 32 bitli suzuvchi nuqtali, ishorali yoki ishorasiz 8 bitli butun sonli yoxud zichlangan ikkilik qiymatlar bo‘lishi mumkin.</p><p>Zichlangan ikkilik chiqishda har qaytgan bayt sakkiz embedding bitini saqlaydi; baytlar ro‘yxati uzunligi tanlangan o‘lchamning sakkizdan biriga teng. Bayt soni va embedding o‘lchami turli ma’nolarga ega. Qidiruv indeksi talqin qila oladigan ifodani tanlang; siqilgan konfiguratsiyani tanlashdan oldin nomzodlar dolzarbligini to‘plam haqiqatan ishlatadigan savollar va tillarda tekshiring.</p><h4>Kirish uzunligi, batch va kesish</h4><p>Ishlab chiqaruvchining joriy matn embedding qo‘llanmasi voyage-4 so‘rovida ko‘pi bilan 1 000 satr va jami 320 000 tokenga ruxsat beradi. Batch budjeti har kirishning 32 000 tokenli oynasidan alohida. Odatiy holatda kesish yoqilgan: haddan uzun matn sig‘ishi uchun qisqartiriladi. Kesish o‘chirilsa, haddan uzun element xato beradi.</p><p>Uzun hisobot yoki transkriptda kirish chegarasidagi kesishga tayanish o‘rniga javob bor parchalarni ongli tayyorlang. Har parchani asosiy hujjat va manba versiyasiga bog‘liq saqlang. Oddiy voyage-4 embedding kirishlari alohida matnlardir; kontekstli bo‘lak guruhlarini qayta ishlash alohida hujjatlashtirilgan kontekstli embedding modellariga tegishli.</p><h4>Qidiruv natijasidan foydalaning</h4><p>Vektorlarni parcha matni va barqaror manba identifikatorlari bilan saqlang, har so‘rov vektorini mos hujjat vektorlari bilan taqqoslang va nomzod parchalarni qaytaring. Oila relizi texnik hujjatlar, suhbatlar, uzun hujjatlar, kod, huquq, moliya va veb matnlar kabi materiallarda qidiruvni baholaydi. Alohida qayta reytinglovchi model nomzodlarni aniqlashtirishi, keyingi javob bosqichi esa ularning matnidan foydalanishi mumkin. Qaytgan parchalarni vazifa bo‘yicha baholang; umumiy makon mosligi modellarni birlashtirishga imkon beradi, natija foydasi esa baribir manba materiali va savolga bog‘liq.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot da mavjud · kirish ma’lumotlari va usullar</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Embeddinglar</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Kirish</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>Chiqish</dt><dd><code>embedding</code></dd></div><div><dt>Kontekst</dt><dd>32 000 tokens</dd></div><div><dt>Chiqish formati</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Maydon</th><th>Tur</th><th>Talab</th><th>Qiymatlar va cheklovlar</th><th>Standart</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>voyageai/voyage-4</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string|string[]|integer[]|integer[][]</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Elementlarning eng kam soni: 1</div><div>Shartlar: Bo‘sh bo‘lmagan, bir xil turdagi elementlardan iborat paket. Token ID lari manfiy bo‘lmagan butun sonlardir.</div><div>Kirish budjeti: Eng ko‘p: 32 000 · Matn birligi: UTF8 baytlari · Token birligi: Tokenlar massivi elementlari</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">encoding_format</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>float</div></td><td data-cell-label=\"Standart\" data-default=\"known\"><span class=\"card-cell-label\">Standart</span>float</td></tr><tr data-parameter-availability=\"unsupported\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>integer</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Qo‘llab-quvvatlanmaydi</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Eng kam: 1</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>json_value</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Shartlar: Manba ushbu JSON metama’lumot maydoniga ruxsat beradi; uning ta’minotchi xizmatidagi aniq ma’nosi modelga bog‘liq.</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>json_value</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Shartlar: Manba ushbu JSON metama’lumot maydoniga ruxsat beradi; uning ta’minotchi xizmatidagi aniq ma’nosi modelga bog‘liq.</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>json_value</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Shartlar: Manba ushbu JSON metama’lumot maydoniga ruxsat beradi; uning ta’minotchi xizmatidagi aniq ma’nosi modelga bog‘liq.</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>object</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Shartlar: provider.options rad etildi</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kirish materiallari birikmalari</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Usul parametrlari va hayot sikli</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Parametr talablari</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>model, input</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>input_shapes</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>encoding_format</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>float</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>dimensions_override</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>false</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>max_input_budget_units</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>32000</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>multimodal_objects</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>false</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>text, token_ids</td></tr></tbody></table></div><p>Hayot sikli: <code>synchronous_json</code></p><p class=\"note-s\">Har bir vektorning indeksi va o‘lchamini saqlang.</p><p class=\"note-s\">Model nomida multimodal deyilgani aynan shu yo‘nalishda rasm obyektlariga ruxsat borligini anglatmaydi.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tariflar</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.</p><dl data-price-conditions><dt>Tezkor rejim</dt><dd>Standart tarif <span class=\"note-s\">Tezkor rejim tanlanganda</span></dd><dt>Flex rejimi</dt><dd>Standart tarif <span class=\"note-s\">flex rejimi tanlanganda</span></dd><dt>Maksimal fikrlash darajasi</dt><dd>Standart tarif <span class=\"note-s\">Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot tariflari</h4><h4>Sozlamalar bo‘yicha narxlar</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>Tariflar jadvali</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Tokenlar uchun bazaviy tariflar</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>Asosiy tarif</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.00012</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish, 1 soat</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. <a href=\"/docs/uz/billing/reserve/\">Summani band qilish va to‘lovni hisoblash tartibi →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">So‘rov namunalari</h3><h4>Ailoot Ultra · Embeddinglar</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kod variantlari\"><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=\"Kodni nusxalash\"><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\">Natijalarni olish va saqlash</h3><h4>Ailoot Ultra · Embeddinglar</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Barcha tayyor natijalarni saqlash</h5><p class=\"note-s\">Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.</p><p class=\"note-s\">Har bir vektorni indeksi bilan saqlang. Vektorlar soni kirish elementlari soniga teng bo‘lishi va o‘lchamlar bir xil bo‘lishi kerak.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">Embedding vazifalari uchun endpoint qo‘shilmaydi.</p></div><details class=\"card-about\" data-output-fields><summary>Javob maydonlari</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Maydon</th><th>Tur</th></tr></thead><tbody><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>integer</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>finite float[]</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Xatolar va keyingi qadamlar</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Javob</th><th>Shart</th><th>Keyingi qadam</th></tr></thead><tbody><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Taxalluslar</h3><h4>Model taxalluslari</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>Usul yo‘llari taxalluslari</h4><p class=\"note-s\">Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.</p><h4>Chaqirish uchun tegishli ID lar</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": "Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri",
                "http_status": 400,
                "recovery": "Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Embedding vazifalari uchun endpoint qo‘shilmaydi."
            },
            "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": "Har bir vektorni indeksi bilan saqlang. Vektorlar soni kirish elementlari soniga teng bo‘lishi va o‘lchamlar bir xil bo‘lishi kerak.",
              "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": "UTF8 baytlari",
                  "token_unit": "Tokenlar massivi elementlari"
                },
                "conditions": "Bo‘sh bo‘lmagan, bir xil turdagi elementlardan iborat paket. Token ID lari manfiy bo‘lmagan butun sonlardir.",
                "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": "Manba ushbu JSON metama’lumot maydoniga ruxsat beradi; uning ta’minotchi xizmatidagi aniq ma’nosi modelga bog‘liq.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Manba ushbu JSON metama’lumot maydoniga ruxsat beradi; uning ta’minotchi xizmatidagi aniq ma’nosi modelga bog‘liq.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Manba ushbu JSON metama’lumot maydoniga ruxsat beradi; uning ta’minotchi xizmatidagi aniq ma’nosi modelga bog‘liq.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options rad etildi",
                "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": [
            "Har bir vektorning indeksi va o‘lchamini saqlang.",
            "Model nomida multimodal deyilgani aynan shu yo‘nalishda rasm obyektlariga ruxsat borligini anglatmaydi."
          ],
          "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": "Tokenlar uchun bazaviy tariflar",
            "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": "Tezkor rejim",
            "value": "Standart tarif",
            "when": "Tezkor rejim tanlanganda"
          },
          {
            "label": "Flex rejimi",
            "value": "Standart tarif",
            "when": "flex rejimi tanlanganda"
          },
          {
            "label": "Maksimal fikrlash darajasi",
            "value": "Standart tarif",
            "when": "Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda"
          }
        ],
        "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": "986abdf708b138bbaa100baf05db722691b9d6f1790c632a5f04ca8eda4767ca",
    "input_html_sha256": "fda029d79d748cd33d3e3875e7322dc154c9c8c3d4b5cc4bf6bb0a7850695a3f",
    "private_audit_sha256": "70f58b7623335177f4108a58462d62c9aae701fd49e95180a4cc6c8db9f379f9",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/voyageai-voyage-4/",
    "description": "voyage-4 umumiy maqsadli va ko‘p tilli qidiruv uchun matnni embedding qiladi; Voyage 4 oilasida umumiy vektor makoni bor. U 32 000 tokenli kirishlar, tanlanadigan 256–2048 o‘lchamli chiqishlar va qidiruv hamda RAG uchun query/document rollarini qo‘llaydi.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/voyageai-voyage-4/index.md",
    "title": "VoyageAI by MongoDB: voyage-4 — Ailoot",
    "url": "https://ailoot.ai/models/uz/voyageai-voyage-4/"
  },
  "rawModel": {
    "about": "voyage-4 — Voyage AI’ning Voyage 4 oilasidagi o‘rta hajmli matn embedding modeli. U umumiy maqsadli va ko‘p tilli qidiruv uchun so‘rov hamda hujjat matnini raqamli vektorlarga aylantiradi. Oilaning o‘ziga xos imkoniyati umumiy embedding makonidir: voyage-4, voyage-4-large, voyage-4-lite va voyage-4-nano mos ifodalar hosil qiladi; qidiruv vazifasining so‘rov va hujjat tomonlari shu oiladagi turli modellardan foydalanishi mumkin.\n\n### Umumiy makon va asimmetrik qidiruv\n\nIshlab chiqaruvchi turli so‘rov va korpus modellaridan foydalanishni asimmetrik qidiruv deb ataydi. Hujjatlashtirilgan namunalardan biri korpusni voyage-4-large bilan tayyorlash va voyage-4 so‘rov embeddinglari bilan qidirishdir. Korpus bir marta yoki manba materiali o‘zgarganda embedding qilinadi; so‘rov vektorlari esa qidiruvlar kelganda yaratiladi. Umumiy makon oila ichida so‘rov modelini faqat shu almashuv uchun korpusni qayta embedding qilmasdan o‘zgartirish imkonini beradi.\n\nTaqqoslanayotgan vektorlarda chiqish o‘lchami va ifoda mos bo‘lsin. Umumiy makon bayonoti nomlangan Voyage 4 matn modellariga tegishli; ikki aloqasiz model bir uzunlikdagi massiv qaytarishining o‘zi buni isbotlamaydi. Amaliy vazifa qidiruvning ikkala tomonida voyage-4’dan foydalanishi yoki ifoda sozlamalari mos bo‘lsa, uning so‘rov vektorlarini mavjud voyage-4-large hujjat indeksi bilan ishlatishi mumkin.\n\n### Query va document rollari\n\nQidiruv uchun Voyage kirish matnini query yoki document sifatida belgilashni tavsiya qiladi. Kirish roli tanlovi vektorlashtirishdan oldin tegishli qidiruv ko‘rsatmasini beradi. Korpus parchalarini hujjatlar, foydalanuvchining qidiruv ifodasini so‘rov qilib tayyorlang; har saqlangan vektor yonida haqiqiy manba matni va identifikatorlarni saqlang.\n\nMasalan, bilim qidiruv to‘plami texnik ko‘rsatmalar va mahsulot izohlarini indekslashi mumkin. Muvaffaqiyatsiz importdan keyin nima bo‘lishi haqidagi so‘rov shu xulqni tavsiflaydigan manba parchasini qaytarishi kerak. Hosil bo‘lgan qidiruv natijasini tekshirish yoki keyingi RAG javob bosqichida ishlatish uchun sarlavhalar, tegishli shartlar va manba joyini parcha bilan saqlang. Embedding raqamli qidiruv ifodasi; asosdagi parcha esa keyingi bosqichda ishlatiladigan dalildir.\n\n### O‘lchamlar va chiqish ma’lumot turlari\n\nHujjatlashtirilgan har matn kontekst oynasi 32 000 token. Tanlanadigan o‘lchamlar 256, 512, 1024 va 2048, odatiysi 1024. Matryoshka o‘rganishi shu ichma-ich ifoda hajmlarini beradi. Oilaning kvantlashni hisobga olgan tayyorlash usuli tufayli chiqish 32 bitli suzuvchi nuqtali, ishorali yoki ishorasiz 8 bitli butun sonli yoxud zichlangan ikkilik qiymatlar bo‘lishi mumkin.\n\nZichlangan ikkilik chiqishda har qaytgan bayt sakkiz embedding bitini saqlaydi; baytlar ro‘yxati uzunligi tanlangan o‘lchamning sakkizdan biriga teng. Bayt soni va embedding o‘lchami turli ma’nolarga ega. Qidiruv indeksi talqin qila oladigan ifodani tanlang; siqilgan konfiguratsiyani tanlashdan oldin nomzodlar dolzarbligini to‘plam haqiqatan ishlatadigan savollar va tillarda tekshiring.\n\n### Kirish uzunligi, batch va kesish\n\nIshlab chiqaruvchining joriy matn embedding qo‘llanmasi voyage-4 so‘rovida ko‘pi bilan 1 000 satr va jami 320 000 tokenga ruxsat beradi. Batch budjeti har kirishning 32 000 tokenli oynasidan alohida. Odatiy holatda kesish yoqilgan: haddan uzun matn sig‘ishi uchun qisqartiriladi. Kesish o‘chirilsa, haddan uzun element xato beradi.\n\nUzun hisobot yoki transkriptda kirish chegarasidagi kesishga tayanish o‘rniga javob bor parchalarni ongli tayyorlang. Har parchani asosiy hujjat va manba versiyasiga bog‘liq saqlang. Oddiy voyage-4 embedding kirishlari alohida matnlardir; kontekstli bo‘lak guruhlarini qayta ishlash alohida hujjatlashtirilgan kontekstli embedding modellariga tegishli.\n\n### Qidiruv natijasidan foydalaning\n\nVektorlarni parcha matni va barqaror manba identifikatorlari bilan saqlang, har so‘rov vektorini mos hujjat vektorlari bilan taqqoslang va nomzod parchalarni qaytaring. Oila relizi texnik hujjatlar, suhbatlar, uzun hujjatlar, kod, huquq, moliya va veb matnlar kabi materiallarda qidiruvni baholaydi. Alohida qayta reytinglovchi model nomzodlarni aniqlashtirishi, keyingi javob bosqichi esa ularning matnidan foydalanishi mumkin. Qaytgan parchalarni vazifa bo‘yicha baholang; umumiy makon mosligi modellarni birlashtirishga imkon beradi, natija foydasi esa baribir manba materiali va savolga bog‘liq.",
    "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": "Konfiguratsiya narxlari tafsilotlarda to‘liq ko‘rsatilgan."
      }
    ],
    "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": "Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri",
                "http_status": 400,
                "recovery": "Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Embedding vazifalari uchun endpoint qo‘shilmaydi."
            },
            "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": "Har bir vektorni indeksi bilan saqlang. Vektorlar soni kirish elementlari soniga teng bo‘lishi va o‘lchamlar bir xil bo‘lishi kerak.",
              "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": "UTF8 baytlari",
                  "token_unit": "Tokenlar massivi elementlari"
                },
                "conditions": "Bo‘sh bo‘lmagan, bir xil turdagi elementlardan iborat paket. Token ID lari manfiy bo‘lmagan butun sonlardir.",
                "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": "Manba ushbu JSON metama’lumot maydoniga ruxsat beradi; uning ta’minotchi xizmatidagi aniq ma’nosi modelga bog‘liq.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Manba ushbu JSON metama’lumot maydoniga ruxsat beradi; uning ta’minotchi xizmatidagi aniq ma’nosi modelga bog‘liq.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Manba ushbu JSON metama’lumot maydoniga ruxsat beradi; uning ta’minotchi xizmatidagi aniq ma’nosi modelga bog‘liq.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options rad etildi",
                "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": [
            "Har bir vektorning indeksi va o‘lchamini saqlang.",
            "Model nomida multimodal deyilgani aynan shu yo‘nalishda rasm obyektlariga ruxsat borligini anglatmaydi."
          ],
          "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": "Tokenlar uchun bazaviy tariflar",
            "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": "Tezkor rejim",
            "value": "Standart tarif",
            "when": "Tezkor rejim tanlanganda"
          },
          {
            "label": "Flex rejimi",
            "value": "Standart tarif",
            "when": "flex rejimi tanlanganda"
          },
          {
            "label": "Maksimal fikrlash darajasi",
            "value": "Standart tarif",
            "when": "Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda"
          }
        ],
        "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 umumiy maqsadli va ko‘p tilli qidiruv uchun matnni embedding qiladi; Voyage 4 oilasida umumiy vektor makoni bor. U 32 000 tokenli kirishlar, tanlanadigan 256–2048 o‘lchamli chiqishlar va qidiruv hamda RAG uchun query/document rollarini qo‘llaydi."
  },
  "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 umumiy maqsadli va ko‘p tilli qidiruv uchun matnni embedding qiladi; Voyage 4 oilasida umumiy vektor makoni bor. U 32 000 tokenli kirishlar, tanlanadigan 256–2048 o‘lchamli chiqishlar va qidiruv hamda RAG uchun query/document rollarini qo‘llaydi.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "9a40cf1e5d474eff02c5f92ede80e283506886b16353317e27498de466561eb9",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "52e4102d17c517d82429314315bd7b1ca548141f1638b89047fcbc7912cfa7c2"
}
