Source: https://ailoot.ai/models/uz/mistralai-mistral-small-2603/
Canonical: https://ailoot.ai/models/uz/mistralai-mistral-small-2603/
Language: uz

# Mistral: Mistral Small 4

[Markdown](https://ailoot.ai/models/uz/mistralai-mistral-small-2603/index.md) · [JSON](https://ailoot.ai/models/uz/mistralai-mistral-small-2603/facts.json)

## [Mistral: Mistral Small 4](https://ailoot.ai/models/uz/mistralai-mistral-small-2603/)

Mistral Small 4 — ko‘rsatma, mulohaza va dasturlash imkoniyatlariga ega gibrid matn va tasvir modeli. Uning 119B ekspertlar aralashmasi relizi har bir token uchun 6,5B parametrni faollashtiradi hamda ishlab chiqaruvchi ko‘rsatgan 256k kontekst, tanlanadigan mulohaza darajasi, JSON va funksiya chaqiruvlarini qo‘llaydi.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `mistralai/mistral-small-2603`](https://ailoot.ai/models/uz/mistralai-mistral-small-2603/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `mistralai/mistral-small-2603`](https://ailoot.ai/models/uz/mistralai-mistral-small-2603/#method-1)

Model haqida

Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.

Mistral Small 4 umumiy ko‘rsatmalarni bajarish, mulohaza yuritish va dasturlashni bitta multimodal modelda birlashtiradi. Ishlab chiqaruvchi uni Instruct, Magistral mulohaza va Devstral dasturlash oilalarini birlashtiruvchi model sifatida ta’riflaydi. U matn va tasvirlarni qabul qilib, matn qaytaradi; vositalar yordamidagi ilovalar uchun funksiya chaqiruvlari va JSON natija mavjud.

Arxitektura va asosiy imkoniyatlar

Reliz jami 119 milliard parametrga ega va har bir token uchun 6,5 milliardini faollashtiradi. Uning ekspertlar aralashmasi arxitekturasida 128 ekspert bor, ulardan 4 tasi faol; ishlab chiqaruvchi 256k kontekst oynasini hujjatlashtiradi. Faol parametrlar va ekspertlar soni model qanday tuzilganini ta’riflaydi; ular bitta vazifaga kiritilgan matn yoki tasvir mazmuni hajmidan farq qiladi.

Model ayni saqlangan holatda ko‘rsatma va mulohaza imkoniyatlarini beradi. Ishlab chiqaruvchi vizual tushunish, tizim promptiga rioya qilish va ingliz, fransuz, ispan, nemis, italyan, portugal, niderland, xitoy, yapon, koreys va arab tillarini ham o‘z ichiga olgan o‘nlab tillar qo‘llab-quvvatlanishini ham ko‘rsatadi. Shunday qilib, matnli ko‘rsatma tasvir haqida so‘rashi yoki yozma talabni ko‘rinadigan dalil bilan birlashtirishi mumkin; javob matn sifatida qaytariladi.

Vizual vazifa hujjat sahifasini berib, nomlangan shartga tegishli qiymatlarni so‘rashi mumkin. Belgilar va birliklarni o‘qiladigan saqlang hamda natija asl ifodani saqlashi, umumlashtirishi yoki boshqa manba bilan taqqoslashi kerakligini ayting. Interfeys vazifasi skrinshotni foydalanuvchi maqsadi bilan birlashtirib, tegishli ko‘rinadigan boshqaruv va taklif etilgan keyingi qadamni asoslaydigan dalilni so‘rashi mumkin.

Ko‘rsatma yoki mulohaza rejimini tanlash

Chiqarilgan karta darhol ko‘rsatma uslubidagi javob uchun reasoning effort none, mulohaza uchun esa high qiymatini hujjatlashtiradi; high murakkab promptlar uchun tavsiya qilinadi. Tanlov ayni Small 4 modeli ichida har bir so‘rov uchun qilinadi. Oddiy tasniflash yoki qisqa qayta yozish natijasining talablari kengaytirilgan tushuntirishga muhtoj matematik, vizual yoki kod masalasidan farq qilishi mumkin.

Ishlab chiqaruvchi yuqori mulohaza darajasi uchun temperature 0.7 ni tavsiya qiladi. none uchun vazifaga qarab 0.0 dan 0.7 gacha temperature ko‘rsatilgan. Bu sozlamalar hujjatlashtirilgan rejimlarni ta’riflaydi va mulohaza darajasini to‘g‘ri natija kafolatiga aylantirmaydi. Vazifaga qancha mulohaza kerakligini tanlashdan oldin taxminlar, natija shakli va tegishli manba materialini belgilang.

Yechimi ko‘rsatiladigan masala uchun to‘liq shartni bering va muhim asoslangan qadamlar, keyin yakuniy ifodani so‘rang. Kod vazifasi uchun talab, ta’sirlangan funksiya va aniq kirishni bering; taklif etilgan yechimni izoh va misollardan alohida so‘rang. Ishlab chiqaruvchining foydalanish namoyishlari ko‘rsatmalarga rioya qilish, tasvirga qo‘llangan hisoblash vositasi va vizual mulohazani o‘z ichiga olib, matn va vizual dalillar ushbu turli vazifalarga qanday kirishini ko‘rsatadi.

Dasturlash, hujjatlar va vositalar

Model kod bazasini o‘rganish va dasturiy muhandislik agentlari, umumiy yordamchilar, hujjatni tushunish va tadqiqot uchun tavsiya qilinadi. Dasturlash agenti so‘rovi o‘zgartiriladigan modul, saqlanadigan interfeys va hosil bo‘lishi kerak bo‘lgan xatti-harakatni nomlashi mumkin. Tegishli manba va xato dalillarini bering. Model keyingi amal yoki kod o‘zgarishini taklif qilishi mumkin, ilova esa repozitoriyga kirish, bajarish va qayta aloqa bilan ta’minlaydi.

Hujjatdan ma’lumot ajratish uchun kerakli maydonlar va yetishmayotgan ma’lumotni qanday ifodalashni belgilang. Foydali yozuv hujjat identifikatori, manba bayonoti, talqin qilingan talab va ochiq savolni ajratishi mumkin. Ishlab chiqaruvchi xizmat kartasida maxsus tuzilmali natija va hujjat bo‘yicha savol-javobni sanaydi; ikkinchisi til modeli tahlilidan oldin matn va tuzilmani tayyorlash uchun hujjatga ishlov berish va OCRdan foydalanadi. Bevosita tasvir savoli va OCR yordamidagi hujjat jarayoni o‘z kirish tayyorlash tartibini saqlashi kerak.

Funksiya chaqirish aniq tavsiflangan vositalarni talab qiladi. Model funksiyani tanlab argumentlarni yaratadi; ilova amalni bajarib, natijani keyingi javob uchun qaytaradi. Vazifa qidiruv, hisoblash yoki kod amali bo‘lishidan qat’i nazar, ayni mantiq qo‘llanadi. JSON formatlash javobni tartiblaydi, vosita chaqiruvi esa tashqi harakatni so‘raydi; ikkalasini o‘zaro almashtiriladigan natijalar deb qabul qilmaslik kerak.

Xizmat kartasida oldindan ma’lum natijalar, javob prefikslari, paketli ishlov va agent suhbatlari ham sanalgan. Oldindan ma’lum natijalar hujjat yoki kod fayli faqat cheklangan o‘zgarish bilan qayta yaratilishi kerak va qolgan mazmun ma’lum bo‘lganda foydali. Tahrir va saqlanadigan materialni ko‘rsating. Prefiksdan davom ettirish javobning ma’lum boshlanishidan foydalanadi, paketli ishlov esa qo‘shimcha mulohaza rejimiga emas, ishni topshirishga tegishli.

Kontekst va nashr chegaralari

Yozma vazifa, vizual material, suhbat va kerakli javobni hujjatlashtirilgan 256k kontekstga mos rejalashtiring. Chiqarilgan foydalanish misolida 262 144 tokenli kontekst sozlangan, undagi 1 024 tokenli yaratish misoli esa alohida maksimal chiqish sig‘imi emas. O‘qilgan manbalar tanlangan vazifa uzunligi o‘rniga qo‘yiladigan mustaqil qat’iy javob uzunligi limitini bermaydi.

Small 4 o‘zining 119B ekspertlar aralashmasi arxitekturasi va gibrid rejimlariga ega. U Medium 3.5ning 128B zich arxitekturasini yoki Ministral 3ning alohida Instruct va Reasoning nashrlarini meros qilib olmasligi kerak. Ishlab chiqaruvchi alohida kvantlangan va spekulyativ dekodlash materiallarini ham chiqaradi; ular boshqa mazmun modallari emas, alohida joylashtirish materiallaridir. Nomlangan Small 4 relizi va haqiqiy tushuntirish, tuzilmali yozuv yoki kod natijasi uchun so‘ralgan rejimni saqlang.

Amaliy vazifa

### Amaliy vazifa

Ingliz tilidagi texnik misol

```
Repair a last-line parser

This Python parser loses a final line without a trailing newline: def lines(text):
    return text.split("\n")[:-1]
Return a corrected function that preserves nonempty final lines, avoids an artificial last empty line when text ends in a newline and returns [] for empty text. Include tests for all three cases.
```

#### Kutiladigan natija

```
A corrected Python function, a short explanation and tests for newline, no-newline and empty input.
```

#### Natijani tekshirish

```
Check that the last real line is retained and that only a trailing separator’s artificial empty entry is removed.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `mistralai/mistral-small-2603`

[`mistralai/mistral-small-2603`](https://ailoot.ai/models/uz/#m=mistralai%2Fmistral-small-2603&route=Ultra&caller=mistralai%2Fmistral-small-2603&fmt=chat)

Mistral /`mistralai/mistral-small-2603`

### Boshlash

Mistral Small 4 — ko‘rsatma, mulohaza va dasturlash imkoniyatlariga ega gibrid matn va tasvir modeli. Uning 119B ekspertlar aralashmasi relizi har bir token uchun 6,5B parametrni faollashtiradi hamda ishlab chiqaruvchi ko‘rsatgan 256k kontekst, tanlanadigan mulohaza darajasi, JSON va funksiya chaqiruvlarini qo‘llaydi.

Qabul qilinadigan kirish ma’lumotlari

Matn

Natijalar

Matn

### Ailoot da mavjud · kirish ma’lumotlari va usullar

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Kirish

`text`

Chiqish

`text`

Chiqish formati

json yoki SSE

| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
| --- | --- | --- | --- | --- |
| Maydon`model` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar mistralai/mistral-small-2603 | Standart— |
| Maydon`messages` | Tur`message[]` | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 | Standart— |
| Maydon`messages[].role` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar Namunalar: system, user, assistant, tool, function Shartlar: Bu rollar manba kodining moslik turlarida ochiq ifodalangan; aniq rollar to‘plami har bir modelga xos bo‘lib qoladi. Modelga bogʻliq | Standart— |
| Maydon`messages[].content` | Tur`string\|content_part[]\|null` | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
| Maydon`messages[].tool_calls` | Tur`tool_call[]` | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
| Maydon`messages[].tool_call_id` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: role=tool; haqiqatan qaytarilgan IDdan foydalaning | Standart— |
| Maydon`messages[].name` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
| Maydon`messages[].reasoning_content` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Ushbu model foydalanganda, haqiqatan qaytarilgan fikrlash ma’lumotlarini keyingi so‘rovda qayta yuboring | Standart— |
| Maydon`messages[].reasoning_details` | Tur`object\|array` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`max_tokens` | Tur`integer` | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
| Maydon`max_completion_tokens` | Tur`integer` | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
| Maydon`stream` | Tur`boolean` | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
| Maydon`stream_options.include_usage` | Tur`boolean` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`temperature` | Tur`number` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`top_p` | Tur`number` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`stop` | Tur`string\|string[]` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`tools` | Tur`function_tool[]` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`tools[].type` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar function Modelga bogʻliq | Standart— |
| Maydon`tools[].function.name` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Funksiya vositasi taqdim etilgan | Standart— |
| Maydon`tools[].function.description` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
| Maydon`tools[].function.parameters` | Tur`JSON_schema` | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
| Maydon`tool_choice` | Tur`string\|object` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`parallel_tool_calls` | Tur`boolean` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`response_format` | Tur`object` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`reasoning_effort` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`reasoning` | Tur`object` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`service_tier` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`instructions` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar Moslik maydoni | Standart— |
| Maydon`functions` | Tur`function[]` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`function_call` | Tur`string\|object` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`prompt_cache_options` | Tur`object` | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
| Maydon`modalities` | Tur`string[]` | TalabIxtiyoriy | Qiymatlar va cheklovlar text | Standart— |
| Maydon`provider` | Tur`object` | TalabIxtiyoriy | Qiymatlar va cheklovlar Shartlar: Ushbu Ultra matn marshrutida provider.options rad etiladi | Standart— |
| Maydon`cache_control.ttl` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar Shartlar: Haqiqiy prompt-kesh joylarida 1h rad etiladi | Standart— |

Kirish materiallari birikmalari

**Matn** · UTF8 matni

`messages[].content`

Usul parametrlari va hayot sikli

| Parametr | Parametr talablari |
| --- | --- |
| Parametr`content_type` | Parametr talablariapplication/json |
| Parametr`required` | Parametr talablarimodel, messages |
| Parametr`material_types` | Parametr talablaritext |
| Parametr`messages` | Parametr talablarirole/content tuzilishidagi xabarlar massivi |
| Parametr`file_material` | Parametr talablariHaqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi |
| Parametr`optional_controls` | Parametr talablaristream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametr`control_scope` | Parametr talablariModelga xos; foydalanuvchi funksiya vositalari hostingdagi vositalardan farq qiladi |
| Parametr`output_modalities` | Parametr talablaritext |
| Parametr`hosted_operations` | Parametr talablarifalse |
| Parametr`multimodal_input_binding` | Parametr talablarinull |

Hayot sikli: `synchronous_or_streamed`

Aniq model IDsini messages bilan yuboring.

Kontekst uzunligi chiqishning yuqori chegarasi emas.

Matn fayli aynan matnni taqdim etishi mumkin; tasvir, audio va fayl obyekti kirishlari aniq bog‘lashni talab qiladi.

### Tariflar

Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.

Tezkor rejim

Standart tarif Tezkor rejim tanlanganda

Flex rejimi

Standart tarif flex rejimi tanlanganda

Maksimal fikrlash darajasi

Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda

Fikrlash darajasi · yuqori

Standart tarif Fikrlash darajasi yuqori bo‘lganda

Fikrlash darajasi · yo‘q

Standart tarif Fikrlash darajasi yo‘q bo‘lganda

#### Ailoot tariflari

#### Sozlamalar bo‘yicha narxlar

Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.

| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
| --- | --- | --- | --- | --- |
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari **$0.0003** / 1K token Chiqish · Chiqish tokenlari **$0.0012** / 1K token Kirish · Keshdan o‘qish **$0.00003** / 1K token Kirish · Keshga yozish **—** / 1K token Kirish · Keshga yozish, 1 soat **—** / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari **$0.0003** / 1K token Chiqish · Chiqish tokenlari **$0.0012** / 1K token Kirish · Keshdan o‘qish **$0.00003** / 1K token Kirish · Keshga yozish **—** / 1K token Kirish · Keshga yozish, 1 soat **—** / 1K token |

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. [Summani band qilish va to‘lovni hisoblash tartibi →](https://ailoot.ai/docs/uz/billing/reserve/)

### So‘rov namunalari

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPython oqimi

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "mistralai/mistral-small-2603", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='mistralai/mistral-small-2603',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='mistralai/mistral-small-2603',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Natijalarni olish va saqlash

#### Ailoot Ultra · OpenAI Chat

json yoki SSE

##### Barcha tayyor natijalarni saqlash

Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.

Har bir javob variantini va uning kontenti, vosita chaqiruvlari hamda fikrlash ma’lumotlarini saqlang. SSEda o‘zgarish qismlarini variant va vosita indeksi bo‘yicha yig‘ing, yakuniy tugash sababi va sarf ma’lumotlarini saqlang.

##### Asl javobni tekshirish kerak bo‘lsa

So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.

Javob maydonlari

| Maydon | Tur |
| --- | --- |
| Maydon`choices[].index` | Turinteger |
| Maydon`choices[].message.content` | Turstring\|null |
| Maydon`choices[].message.tool_calls` | Turtool\_call\[\] |
| Maydon`choices[].message.reasoning_content` | Turstring |
| Maydon`choices[].message.reasoning_details` | Turobject\|array |
| Maydon`choices[].finish_reason` | Turstring\|null |
| Maydon`usage` | Turobject |

Xatolar va keyingi qadamlar

| Javob | Shart | Keyingi qadam |
| --- | --- | --- |
| Javob400 · `invalid_request_error` | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |

### Taxalluslar

#### Model taxalluslari

**Ailoot Ultra** [`mistralai/mistral-small-2603`](https://ailoot.ai/models/uz/#m=mistralai%2Fmistral-small-2603&route=Ultra&caller=mistralai%2Fmistral-small-2603&fmt=chat)

#### Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

#### Chaqirish uchun tegishli ID lar

[`mistralai/mistral-small-2603`](https://ailoot.ai/models/uz/#m=mistralai%2Fmistral-small-2603&route=Ultra&caller=mistralai%2Fmistral-small-2603&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `mistralai/mistral-small-2603`

[`mistralai/mistral-small-2603`](https://ailoot.ai/models/uz/#m=mistralai%2Fmistral-small-2603&route=Ultra&caller=mistralai%2Fmistral-small-2603&fmt=messages)

Mistral /`mistralai/mistral-small-2603`

### Boshlash

Mistral Small 4 — ko‘rsatma, mulohaza va dasturlash imkoniyatlariga ega gibrid matn va tasvir modeli. Uning 119B ekspertlar aralashmasi relizi har bir token uchun 6,5B parametrni faollashtiradi hamda ishlab chiqaruvchi ko‘rsatgan 256k kontekst, tanlanadigan mulohaza darajasi, JSON va funksiya chaqiruvlarini qo‘llaydi.

Qabul qilinadigan kirish ma’lumotlari

Matn

Natijalar

json · sse

### Ailoot da mavjud · kirish ma’lumotlari va usullar

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Kirish

`text`

Chiqish

`json`, `sse`

Chiqish formati

JSON yoki SSE

| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
| --- | --- | --- | --- | --- |
| Maydon`model` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar mistralai/mistral-small-2603 | Standart— |
| Maydon`messages` | Tur`message[]` | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
| Maydon`messages[].role` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar user, assistant | Standart— |
| Maydon`messages[].content` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
| Maydon`max_tokens` | Tur`integer` | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
| Maydon`stream` | Tur`boolean` | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |

Kirish materiallari birikmalari

**Matn** · UTF-8 matni

`messages[].content satri`

Usul parametrlari va hayot sikli

| Parametr | Parametr talablari |
| --- | --- |
| Parametr`content_type` | Parametr talablariapplication/json |
| Parametr`required` | Parametr talablarimodel, messages, max\_tokens |
| Parametr`optional_controls` | Parametr talablaristream |
| Parametr`material_types` | Parametr talablaritext |
| Parametr`text_file_material` | Parametr talablariHaqiqiy UTF-8 hujjatini o‘qing va uning matnini ko‘rsatilgan kirish yoki xabar kontenti satriga joylashtiring. |

Hayot sikli: `synchronous_or_streamed`

### Tariflar

Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.

Tezkor rejim

Standart tarif Tezkor rejim tanlanganda

Flex rejimi

Standart tarif flex rejimi tanlanganda

Maksimal fikrlash darajasi

Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda

Fikrlash darajasi · yuqori

Standart tarif Fikrlash darajasi yuqori bo‘lganda

Fikrlash darajasi · yo‘q

Standart tarif Fikrlash darajasi yo‘q bo‘lganda

#### Ailoot tariflari

#### Sozlamalar bo‘yicha narxlar

Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.

| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
| --- | --- | --- | --- | --- |
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari **$0.0003** / 1K token Chiqish · Chiqish tokenlari **$0.0012** / 1K token Kirish · Keshdan o‘qish **$0.00003** / 1K token Kirish · Keshga yozish **—** / 1K token Kirish · Keshga yozish, 1 soat **—** / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari **$0.0003** / 1K token Chiqish · Chiqish tokenlari **$0.0012** / 1K token Kirish · Keshdan o‘qish **$0.00003** / 1K token Kirish · Keshga yozish **—** / 1K token Kirish · Keshga yozish, 1 soat **—** / 1K token |

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. [Summani band qilish va to‘lovni hisoblash tartibi →](https://ailoot.ai/docs/uz/billing/reserve/)

### So‘rov namunalari

#### Ailoot Ultra · Anthropic Messages

To‘liq minimal JSON so‘rov tanasicurl · O‘zingizning UTF-8 hujjatingizdan foydalaningPython · Natijani to‘liq saqlang

```json
{
  "model": "mistralai/mistral-small-2603",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'mistralai/mistral-small-2603', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'mistralai/mistral-small-2603', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Natijalarni olish va saqlash

#### Ailoot Ultra · Anthropic Messages

JSON yoki SSE

##### Barcha tayyor natijalarni saqlash

Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.

Barcha kontent bloklari, fikrlash imzolari va haqiqiy vosita ishlatish IDlarini saqlang. SSE bloklarining barcha o‘zgarish qismlarini yig‘ing; birinchi matn bloki to‘liq chiqish emas.

##### Asl javobni tekshirish kerak bo‘lsa

So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.

Javob maydonlari

| Maydon | Tur |
| --- | --- |
| Maydon`id` | Turstring |
| Maydon`model` | Turstring |
| Maydon`content[]` | Turtext\|thinking\|tool\_use\|other content block |
| Maydon`stop_reason` | Turstring\|null |
| Maydon`usage` | Turobject |

Xatolar va keyingi qadamlar

| Javob | Shart | Keyingi qadam |
| --- | --- | --- |
| Javob400 · `invalid_request_error` | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |

### Taxalluslar

#### Model taxalluslari

**Ailoot Ultra** [`mistralai/mistral-small-2603`](https://ailoot.ai/models/uz/#m=mistralai%2Fmistral-small-2603&route=Ultra&caller=mistralai%2Fmistral-small-2603&fmt=messages)

#### Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

#### Chaqirish uchun tegishli ID lar

[`mistralai/mistral-small-2603`](https://ailoot.ai/models/uz/#m=mistralai%2Fmistral-small-2603&route=Ultra&caller=mistralai%2Fmistral-small-2603&fmt=messages)

FAQ · Mistral: Mistral Small 4

Qanday kirish ma’lumotlari va natijalar mavjud?

`POST /v1/chat/completions` · `mistralai/mistral-small-2603`: `text` → `text` `POST /v1/messages` · `mistralai/mistral-small-2603`: `text` → `json`, `sse`

So‘rov qaysi maydonlardan foydalanadi?

`POST /v1/chat/completions` · `mistralai/mistral-small-2603`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `mistralai/mistral-small-2603`: `model`, `messages`, `max_tokens`, `stream`

Qanday cheklovlar amal qiladi?

`POST /v1/chat/completions` · `mistralai/mistral-small-2603`: `messages.min_items`: `1`

Ailoot’ni Claude Code, OpenCode, Hermes yoki ilovangizga ulang.

## Kompaniya va uning loyihalar portfeli

Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.

## Tokenlarni chegirma bilan xarid qiling.

Muntazam ish uchun obuna chegirmasi. Token xaridiga promokodlar — 50% gacha.

Obuna

Muntazam so‘rovlaringiz uchun chegirmali tarif tanlang.

50% gacha promokod

Xaridda kod kiriting. Narx amaldagi aksiya bilan qayta hisoblanadi.

Tarixdagi xarajatlar

Har so‘rov uchun model, token va summa saqlanadi.

[Obuna tanlash](https://ailoot.ai/docs/uz/billing/subscriptions/) · [Model narxlarini ko‘rish](https://ailoot.ai/models/uz/)

## API’ni sotadigan mahsulotingizga ulang.

SaaS, ilova va botlar Ailoot ofertasi hamda litsenziya shartnomasiga muvofiq. Qayta sotishga reseller litsenziyasi so‘rang.

Tijorat ilovasi

Xizmatingizning pullik funksiyalariga matn, rasm, video va ovoz yaratishni qo‘shing.

Reseller litsenziyasi

Loyiha tavsifi va kirish sxemasini yuboring. Foydalanish va qayta sotishga yozma shartlarni so‘rang.

Saytdagi hujjatlar

Oferta, litsenziya shartnomasi va ma’lumotlar siyosati ulashdan oldin ochiq.

[Reseller litsenziyasini so‘rash](mailto:support@ailoot.ai) · [Oferta va litsenziya shartnomasi](https://ailoot.ai/legal/offer?lang=uz)

## Ailoot · Kompaniya va uning loyihalar portfeli





Ailoot to‘plangan faoliyat tajribasi, keng mijozlar bazasi, barqaror xizmat va doimiy KPI nazoratiga tayanadi.





Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.





Ailoot bu faoliyat tajribasini mijozlar mahsulotlari, agentlar, ilovalar va avtomatlashtirishlarda AI imkoniyatlariga API orqali kirishni ta’minlashda qo‘llaydi.
