Source: https://ailoot.ai/models/uz/qwen-qwen3-5-397b-a17b/
Canonical: https://ailoot.ai/models/uz/qwen-qwen3-5-397b-a17b/
Language: uz

# Qwen: Qwen3.5 397B A17B

[Markdown](https://ailoot.ai/models/uz/qwen-qwen3-5-397b-a17b/index.md) · [JSON](https://ailoot.ai/models/uz/qwen-qwen3-5-397b-a17b/facts.json)

## [Qwen: Qwen3.5 397B A17B](https://ailoot.ai/models/uz/qwen-qwen3-5-397b-a17b/)

Qwen3.5-397B-A17B — Qwen’ning jami 397 milliard parametrli, ulardan 17 milliardi faollashadigan ko‘rish-til ekspertlar aralashmasi modeli. U matn, tasvir va videoni qabul qilib, mulohaza, dasturlash va agent vazifalari uchun matn qaytaradi, tanlanadigan fikrlash va 262,144 tokenli asosiy kontekstga ega.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3.5-397b-a17b`](https://ailoot.ai/models/uz/qwen-qwen3-5-397b-a17b/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3.5-397b-a17b`](https://ailoot.ai/models/uz/qwen-qwen3-5-397b-a17b/#method-1)

Model haqida

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

Qwen3.5 yangiliklari: 397B-A17B model nusxasi

Qwen3.5-397B-A17B — Qwen3.5 oilasidagi qo‘shimcha o‘qitishdan o‘tgan ko‘rish-til ekspertlar aralashmasi modeli. U matn, tasvir va videoni qabul qilib, matn yaratadi: tushuntirishlar, kod takliflari, tahlil va so‘ralgan hujjat ko‘rinishidagi ish mahsullari. Oila mulohaza, dasturlash, agentlar va vizual tushunishni rivojlantirish uchun matn va ko‘rishning dastlabki birlashuvi hamda tobora murakkablashadigan vazifalarda mustahkamlash asosida o‘qitishdan foydalanadi. Hujjatlashtirilgan til qamrovi 201 til va shevadan iborat, bu har bir til yoki ixtisoslashgan soha uchun bir xil ishonchlilik va’dasi emas.

Ishlab chiqaruvchi boshqariladigan Qwen3.5-Plus’ni qo‘shimcha amaliy foydalanish imkoniyatlariga ega mos taklif sifatida alohida tavsiflaydi. Boshqariladigan versiyaning barcha imkoniyatlari yoki keyingi Qwen boshqaruvlarini ko‘chirish o‘rniga, bu ochiq model nusxasining o‘z identifikatsiyasi, konteksti va generatsiya retseptini saqlang. Aynan 397B-A17B nashri shu oiladagi kichikroq zich va ekspert modellaridan alohida qoladi.

Model haqida

Modelda jami 397 milliard parametr bor va 17 milliardi faollashadi. Uning 60 qatlamli gibrid tuzilishida uchta Gated DeltaNet ekspert qatlami va ulardan keyingi bitta darvozali diqqat ekspert qatlamidan iborat blok takrorlanadi. Ishlab chiqaruvchi 512 yo‘naltiriladigan ekspert mavjudligini ko‘rsatadi; model ulardan o‘ntasini bitta umumiy ekspert bilan birga tanlaydi. Ko‘rish enkoderi va bir nechta tokenni bashorat qilish modelning bir qismi. Jami parametrlar, faollashgan parametrlar va to‘liq model nusxasining saqlash hajmi turli tushunchalardir; bu sonlar o‘zgarmas javob vaqtini belgilamaydi.

Asosiy kontekst 262,144 token, shartli kengaytirish esa 1,010,000 gacha. Matn, ifodalangan tasvir yoki video, suhbat tarixi, mulohaza va yakuniy javob sozlangan ketma-ketlik limitini bo‘lishadi. Eng katta hujjat va eng katta javob avtomatik ravishda birga sig‘adi deb o‘ylash o‘rniga, vazifa uchun amalda sozlangan budjetdan foydalaning.

Matnli va vizual dalillarni tayyorlash

Texnik loyiha uchun spetsifikatsiya, tegishli kod va diagrammalarni bering hamda yaratiladigan ish mahsulini belgilang. Ta’sirlanadigan komponentlar bo‘yicha tartiblangan va berilgan talablar bilan asoslangan amalga oshirish taklifini so‘rang. Hujjatlarni solishtirishda bo‘lim identifikatorlari, jadval yorliqlari va birliklarni saqlang, har bir qator uchun dalil bilan topilmalar jadvalini so‘rang. Ko‘p tilli hisobotda maqsadli til va o‘zgarmasligi kerak bo‘lgan atamalarni belgilang.

Tasvir savolida mayda yorliqlarni saqlang va rasmda yo‘q ta’riflarni bering. Video savolida tegishli hodisani belgilang, kadrlar tartibi va vaqt ma’lumotini saqlang. Qaytgan vizual tafsilotlar, iqtiboslar va hodisa tavsiflarini asl tasvirlar, parchalar va vaqt belgilariga solishtiring. Natija matnli tahlil yoki kod bo‘lib qoladi; modelning vizual kirishi tasvir, video yoki nutq yaratishni anglatmaydi.

Fikrlash va suhbat tarixi

Fikrlash sukut bo‘yicha yoqilgan va yakuniy javobdan oldin keladi. Ishlab chiqaruvchining enable\_thinking sozlamasi uni bevosita javob uchun o‘chirishi mumkin. Eski /think va /nothink yumshoq prompt kalitlari Qwen3.5 uchun rasman qo‘llanmaydi. Ajratgichlar bilan chegaralangan xulosa, dalillar jadvali yoki alohida kod taklifi kabi yakuniy ish mahsulini mulohazadan keyin oson topiladigan qiling.

Kartochka avvalgi yordamchi xabarlarida yakuniy javoblarni fikrlash mazmunisiz saqlashni tavsiya qiladi. Bu keyingi relizlarda kiritilgan avvalgi mulohazalarni saqlash parametrlari va sukutdagi holatlardan farq qiladi. Aynan shu model nusxasining shabloniga rioya qiling va tuzatishlar yoki vosita kuzatuvlarini ular yangilayotgan vazifa bilan bog‘lab saqlang.

Agent sifatida foydalanish

Qwen vosita chaqiruvlarini hujjatlashtiradi va sozlangan yoki MCP orqali ulangan vositalarga ega Qwen-Agent’ni, dasturlash agenti jarayonlari uchun esa Qwen Code’ni tavsiya qiladi. Ruxsat etilgan amallar, mavjud dalillar va kuzatiladigan tugallanish mezonlarini ayting. Ilova vositalarni bajaradi va natijalarini beradi; model shu kuzatuvlardan reja yoki tushuntirishini yangilash uchun foydalanishi mumkin. Taklif qilingan buyruq yoki tuzatish muhitda haqiqatan bajarilgan amaldan alohida qoladi.

Juda uzun matn va video

Ishlab chiqaruvchining kengaytirishi model nusxasining o‘z almashinuvchi pozitsion sozlamalari bilan YaRN’dan foydalanadi. To‘rt koeffitsiyenti taxminan bir million tokenli ish jarayoniga mo‘ljallangan; 524,288 tokenli yuklamalar uchun ikki koeffitsiyenti taklif qilinadi. Statik masshtablash qisqaroq matn bilan ishlashga ta’sir qilishi mumkin, shu sababli u katta kontekstga bo‘lgan haqiqiy ehtiyojga mos bo‘lishi kerak. Uzun kirishni hujjat, sahifa yoki kod identifikatori bo‘yicha tartiblang va natija uchun joy qoldiring.

Qo‘llab-quvvatlanadigan video misoli sukut bo‘yicha soniyasiga ikki kadrdan foydalanadi. Soatlab davom etadigan materialda ishlab chiqaruvchi yuqoriroq tezlikda kadr tanlash uchun taxminan 224K video tokeniga mos kattaroq protsessor budjetini tavsiya qiladi. Bu sozlamaga bog‘liq retsept bo‘lib, umumiy media davomiyligi, to‘liq eslab qolish yoki vaqt belgisi aniqligining kafolati emas.

Generatsiya bo‘yicha tavsiyalar va mazmuniy cheklovlar

Bu model nusxasining Best Practices bo‘limi fikrlash uchun temperature 0.6, top\_p 0.95, top\_k 20 va min\_p 0 ni, bevosita javoblar uchun esa temperature 0.7, top\_p 0.8, top\_k 20 va min\_p 0 ni tavsiya qiladi. Aynan shu tavsiyalar ayrim kichikroq Qwen3.5 nashrlaridan farq qiladi. Qo‘llab-quvvatlansa, nol va ikki orasidagi presence penalty takrorlanishni kamaytirishi mumkin, lekin yuqoriroq qiymatlar tillarni aralashtirishi yoki sifatni biroz pasaytirishi ehtimoli bor.

Ko‘pchilik so‘rovlar uchun 32,768 token, noodatiy murakkab matematika yoki dasturlash ishlari uchun esa 81,920 token generatsiya limiti tavsiya etiladi. Bular mustaqil qat’iy chiqish chegaralari emas, tavsiyalardir. Zarur javob formatini belgilang va hisob-kitoblar, ajratib olingan tafsilotlar hamda taklif qilingan kodni manbaga solishtiring. Foydali chiqish — dalillari va taxminlarini ko‘rib chiqish mumkin bo‘lgan aniq matnli ish mahsuli.

Amaliy vazifa

### Amaliy vazifa

Ingliz tilidagi texnik misol

```
Reconcile a specification and implementation plan

Compare spec S1: users may delete only their own drafts, and published records cannot be deleted. Plan P1: show Delete for every record owned by the user, regardless of status. Return the exact mismatch, a corrected eligibility rule and test cases for an owned draft, owned published record and another user’s draft.
```

#### Kutiladigan natija

```
An evidence-linked mismatch, a corrected rule and three acceptance-test descriptions.
```

#### Natijani tekshirish

```
Check that both ownership and draft status are required rather than treating either condition as sufficient.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3.5-397b-a17b`

[`qwen/qwen3.5-397b-a17b`](https://ailoot.ai/models/uz/#m=qwen%2Fqwen3.5-397b-a17b&route=Ultra&caller=qwen%2Fqwen3.5-397b-a17b&fmt=chat)

Alibaba /`qwen/qwen3.5-397b-a17b`

### Boshlash

Qwen3.5-397B-A17B — Qwen’ning jami 397 milliard parametrli, ulardan 17 milliardi faollashadigan ko‘rish-til ekspertlar aralashmasi modeli. U matn, tasvir va videoni qabul qilib, mulohaza, dasturlash va agent vazifalari uchun matn qaytaradi, tanlanadigan fikrlash va 262,144 tokenli asosiy kontekstga ega.

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 qwen/qwen3.5-397b-a17b | 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

#### 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.00078** / 1K token Chiqish · Chiqish tokenlari **$0.00468** / 1K token Kirish · Keshdan o‘qish **$0** / 1K token Kirish · Keshga yozish **$0** / 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.00078** / 1K token Chiqish · Chiqish tokenlari **$0.00468** / 1K token Kirish · Keshdan o‘qish **$0** / 1K token Kirish · Keshga yozish **$0** / 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": "qwen/qwen3.5-397b-a17b", "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='qwen/qwen3.5-397b-a17b',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='qwen/qwen3.5-397b-a17b',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** [`qwen/qwen3.5-397b-a17b`](https://ailoot.ai/models/uz/#m=qwen%2Fqwen3.5-397b-a17b&route=Ultra&caller=qwen%2Fqwen3.5-397b-a17b&fmt=chat)

#### Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

#### Chaqirish uchun tegishli ID lar

[`qwen/qwen3.5-397b-a17b`](https://ailoot.ai/models/uz/#m=qwen%2Fqwen3.5-397b-a17b&route=Ultra&caller=qwen%2Fqwen3.5-397b-a17b&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3.5-397b-a17b`

[`qwen/qwen3.5-397b-a17b`](https://ailoot.ai/models/uz/#m=qwen%2Fqwen3.5-397b-a17b&route=Ultra&caller=qwen%2Fqwen3.5-397b-a17b&fmt=messages)

Alibaba /`qwen/qwen3.5-397b-a17b`

### Boshlash

Qwen3.5-397B-A17B — Qwen’ning jami 397 milliard parametrli, ulardan 17 milliardi faollashadigan ko‘rish-til ekspertlar aralashmasi modeli. U matn, tasvir va videoni qabul qilib, mulohaza, dasturlash va agent vazifalari uchun matn qaytaradi, tanlanadigan fikrlash va 262,144 tokenli asosiy kontekstga ega.

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 qwen/qwen3.5-397b-a17b | 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

#### 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.00078** / 1K token Chiqish · Chiqish tokenlari **$0.00468** / 1K token Kirish · Keshdan o‘qish **$0** / 1K token Kirish · Keshga yozish **$0** / 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.00078** / 1K token Chiqish · Chiqish tokenlari **$0.00468** / 1K token Kirish · Keshdan o‘qish **$0** / 1K token Kirish · Keshga yozish **$0** / 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": "qwen/qwen3.5-397b-a17b",
  "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': 'qwen/qwen3.5-397b-a17b', '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': 'qwen/qwen3.5-397b-a17b', '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** [`qwen/qwen3.5-397b-a17b`](https://ailoot.ai/models/uz/#m=qwen%2Fqwen3.5-397b-a17b&route=Ultra&caller=qwen%2Fqwen3.5-397b-a17b&fmt=messages)

#### Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

#### Chaqirish uchun tegishli ID lar

[`qwen/qwen3.5-397b-a17b`](https://ailoot.ai/models/uz/#m=qwen%2Fqwen3.5-397b-a17b&route=Ultra&caller=qwen%2Fqwen3.5-397b-a17b&fmt=messages)

FAQ · Qwen: Qwen3.5 397B A17B

Qanday kirish ma’lumotlari va natijalar mavjud?

`POST /v1/chat/completions` · `qwen/qwen3.5-397b-a17b`: `text` → `text` `POST /v1/messages` · `qwen/qwen3.5-397b-a17b`: `text` → `json`, `sse`

So‘rov qaysi maydonlardan foydalanadi?

`POST /v1/chat/completions` · `qwen/qwen3.5-397b-a17b`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen/qwen3.5-397b-a17b`: `model`, `messages`, `max_tokens`, `stream`

Qanday cheklovlar amal qiladi?

`POST /v1/chat/completions` · `qwen/qwen3.5-397b-a17b`: `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.
