Source: https://ailoot.ai/models/kk/qwen-qwen3-vl-30b-a3b-instruct/
Canonical: https://ailoot.ai/models/kk/qwen-qwen3-vl-30b-a3b-instruct/
Language: kk

# Qwen: Qwen3 VL 30B A3B Instruct

[Markdown](https://ailoot.ai/models/kk/qwen-qwen3-vl-30b-a3b-instruct/index.md) · [JSON](https://ailoot.ai/models/kk/qwen-qwen3-vl-30b-a3b-instruct/facts.json)

## [Qwen: Qwen3 VL 30B A3B Instruct](https://ailoot.ai/models/kk/qwen-qwen3-vl-30b-a3b-instruct/)

Qwen3-VL-30B-A3B-Instruct — Qwen-нің мәтінге, кескіндерге және бейнеге арналған, нұсқауларға бағытталған сарапшылар қоспасы түріндегі көру-тіл нұсқасы. Ол көрнекі агент жұмыс барыстары, құжат оқу, кеңістіктік сұрақтар және көрнекі код жазу үшін мәтін не код қайтарады; 32 тілдегі OCR және 262 144 токендік бастапқы контексті бар.

- [**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `qwen/qwen3-vl-30b-a3b-instruct`](https://ailoot.ai/models/kk/qwen-qwen3-vl-30b-a3b-instruct/#method-0)
- [**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `qwen/qwen3-vl-30b-a3b-instruct`](https://ailoot.ai/models/kk/qwen-qwen3-vl-30b-a3b-instruct/#method-1)

Модель туралы

Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.

30B-A3B Instruct нұсқасы

Qwen3-VL-30B-A3B-Instruct — Qwen3-VL әулетінің нұсқауларға бағытталған, сарапшылар қоспасы түріндегі нұсқасы. Ол мәтінді кескіндермен немесе бейнемен біріктіріп, кодты қоса алғанда мәтін шығарады. Пайымдауы күшейтілген Thinking нұсқасымен немесе әулеттің басқа өлшемімен алмастырмай, нақты осы Instruct сәйкестігін сақтаңыз. Пайдалы сұрау көрнекі дәлелді, сұрақты және жауапта күтілетін нақты артефактты анықтайды.

Көрнекі агенттер және көрнекі код жазу

Өндіруші компьютер не мобильді құрылғы интерфейсінің элементтерін тануды, олардың қызметін түсінуді және көрнекі агент жұмыс барысында құралдарды шақыруды сипаттайды. Скриншот пен көзделген мақсатты беріп, қай көрінетін басқару элементі тапсырмаға сәйкес келетінін және таңдауды не растайтынын сұраңыз. Қосылған қолданба әрекеттерді орындап, нәтижелерін қайтарады; көрнекі танудың өзі құрылғыны басқармайды.

Көрнекі код жазу сызба мазмұнын және кескіндерден немесе бейнеден генерацияланған HTML, CSS не JavaScript кодын қамтиды. Функционалдық шектеулері бар орналасу үлгісін беріп, өңделетін бастапқы код сұраңыз. Бар интерфейсті өзгерту үшін тиісті кодты және күтілетін өзара әрекет күйлерін қосыңыз. Әзірлеу жұмыс барысы оны бейнелеп, тексере алуы үшін артефактты түсіндірмеден бөліңіз. Генерацияланған бастапқы код — жұмыс істейтін қолданбаның дәлелі емес, тексеруге арналған ұсыныс.

Кеңістікті қабылдау, контекст және бейне

Qwen нысан орындары, көзқарас нүктелері және көлегейлену туралы бағалауларды, екіөлшемді орынды анықтауды және үшөлшемді орынды анықтауды қолдауды құжаттайды. Нысанды көрсетіп, байланысты растайтын көрінетін белгілерді сұраңыз. Кескінге негізделген байланысты калибрленген физикалық өлшемнен бөлек ұстаған жөн.

Бастапқы контекст 262 144 токенді құрайды. Әулет кітаптар мен бірнеше сағаттық бейнені, секунд деңгейіндегі оқиғаларды индекстеуді және конфигурация арқылы шамамен миллион токенге дейін кеңейтуді сипаттайды. Оқиғалар тізбегі туралы сұрағанда уақыт пен кадр ретін сақтаңыз. Конфигурацияланған ұсыну көлемі қандай материал өңделетінін анықтайды, сондықтан әулеттің ұзақ бейне жөніндегі жалпы сипаттамасын әр кадрды мінсіз есте сақтау уәдесіне айналдырмаған жөн.

Көпмодальды пайымдау, тану және OCR

Модель STEM және математикалық көрнекі сұрақтарды, себеп-салдарлық талдауды және дәлелге негізделген түсіндірмелерді қолдайды. Толық шарт пен сызба белгілерін беріп, соңғы қорытындыға дейін қолданылған мәндерді сұраңыз. Әулет адамдарды, өнімдерді, көрнекті орындарды, өсімдіктерді, жануарларды және медиа кейіпкерлерін тануды да кеңейтеді. Нақты сәйкестік маңызды болғанда тану нәтижесін тексеріңіз.

OCR 32 тілді қамтиды және аз жарықта, бұлыңғыр немесе қисайған жағдайда оқуды, соның ішінде арнайы сөздік пен құжат құрылымын жақсартуға арналған. Анық беттер беріп, дереккөзбен салыстырып тексеруге болатын өрістер, дәйексөздер не кесте сұраңыз. Мәтіндік және көрнекі түсіну біріктіріледі, сондықтан сұрақ үзіндіні оның суретімен және пайдаланушы нұсқауларымен байланыстыра алады.

Архитектура

Жарияланған конфигурация мәтіннің 48 қабаты, 128 сарапшы және әр токенге таңдалатын сегіз сарапшысы бар, сарапшылар қоспасы түріндегі көру-тіл моделін көрсетеді. Interleaved-MRoPE уақытты, енді және биіктікті ұсынады; DeepStack бірнеше көрнекі кодтаушы деңгейінің белгілерін біріктіреді; мәтін–уақыт белгісін сәйкестендіру оқиғаларды уақыттық сілтемелермен байланыстырады. Көрнекі тапсырмаларды дайындап, нәтижелерін салыстырғанда осы 30B-A3B Instruct нұсқасын бірізді қолданыңыз.

Кірістерді дайындау

Әулет мысалдары тек мәтіндік тапсырмаларды, бір не бірнеше кескінді және бейнені қамтиды. Көрнекі кірістерді белгілеп, олардың байланысын сақтаңыз. Кескін мен бейненің пиксель көлемдері бөлек; бейне іріктелген кадрлар бойынша пиксельдерді есепке алады. Нақты берілген кескін өлшемдері 32-нің еселіктеріне сәйкестендіріледі. Құжатталған әдепкі бейне жиілігі — секундына екі кадр; қолдайтын жұмыс барыстарында жиілікті немесе кадр санын басқаруға болады.

Медиа көмекші құралы бейне метадеректерін сақтай алады және материалдың өлшемін өзгертіп қойған болса, оны екінші рет өзгертпеуді ұсынады. Құжаттарды салыстыру үшін жауапты бет белгісі бойынша ұйымдастырыңыз. Бейне үзіндісінде оқиғаны, тиісті аралықты және растайтын дәлелдерді сұраңыз. Қайтарылған өрістерді, үзінділерді және оқиға уақыттарын түпнұсқа беттермен не бейне үзіндімен салыстырыңыз.

Генерация ұсыныстары және шектеулер

Модель нұсқасының генерация файлы әдепкіде temperature 0,7, top\_p 0,8, top\_k 20 және repetition penalty 1,0 қолданады. Әулеттің Instruct тәртібі қосымша presence penalty 1,5 және 32 768 токендік шығыс көлемін қолданады. Бұл көлем — өндірушінің генерация тәртібіндегі бюджет, тәуелсіз анықталған қатаң ең үлкен шығыс емес. 8B Instruct картасының бөлек тапсырмалық көлемдерін осы нұсқаға автоматты түрде телімеген жөн.

Әулеттің кеңейту процедурасы YaRN қолданады және кезектескен позициялық схеманы 256K-дан шамамен 1M-ге дейін кеңейткенде екі немесе үш коэффициентін ұсынады. Мәтін мен ұсынылған көрнекі материалмен қатар нәтижеге орын қалдырып, OCR-ды, есептелген қорытындыларды және генерацияланған кодты бастапқы дәлелдермен салыстырып тексеріңіз. Instruct генерация шартын Thinking модель нұсқасының баптауларынан бөлек ұстаңыз; нұсқа атауының өзі қолданбаға тән гибридті ауыстырғыштың барын растамайды.

Практикалық тапсырма

### Практикалық тапсырма

Ағылшын тіліндегі техникалық мысал

```
Generate source from a written layout

Produce self-contained HTML and CSS from this written layout: a heading “Upload report”, a file input and a status line below it. On screens narrower than 480 pixels, controls fill the available width. Include empty, selected-file and error text examples, accessible labels and no external assets. Return editable source with a short state explanation.
```

#### Күтілетін нәтиже

```
An HTML/CSS source artifact and a short explanation of the three requested states.
```

#### Нәтижені тексеру

```
Check that the file input has an associated label, narrow layouts fit their container and every requested state has distinct text.
```

**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `qwen/qwen3-vl-30b-a3b-instruct`

[`qwen/qwen3-vl-30b-a3b-instruct`](https://ailoot.ai/models/kk/#m=qwen%2Fqwen3-vl-30b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-30b-a3b-instruct&fmt=chat)

Alibaba /`qwen/qwen3-vl-30b-a3b-instruct`

### Бастау

Qwen3-VL-30B-A3B-Instruct — Qwen-нің мәтінге, кескіндерге және бейнеге арналған, нұсқауларға бағытталған сарапшылар қоспасы түріндегі көру-тіл нұсқасы. Ол көрнекі агент жұмыс барыстары, құжат оқу, кеңістіктік сұрақтар және көрнекі код жазу үшін мәтін не код қайтарады; 32 тілдегі OCR және 262 144 токендік бастапқы контексті бар.

Қабылданатын кіріс деректері

Мәтін

Нәтижелер

Мәтін

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions`

Кіріс

`text`

Шығыс

`text`

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер qwen/qwen3-vl-30b-a3b-instruct | Әдепкі— |
| Өріс`messages` | Түрі`message[]` | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 | Әдепкі— |
| Өріс`messages[].role` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер Мысалдар: system, user, assistant, tool, function Шарттар: Бұл рөлдер бастапқы кодтағы үйлесімділік түрлерінде айқын көрсетілген; рөлдердің нақты жиыны әр модельге байланысты. Модельге байланысты | Әдепкі— |
| Өріс`messages[].content` | Түрі`string\|content_part[]\|null` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`messages[].tool_calls` | Түрі`tool_call[]` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`messages[].tool_call_id` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: role=tool; нақты қайтарылған ID мәнін пайдаланыңыз | Әдепкі— |
| Өріс`messages[].name` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`messages[].reasoning_content` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: Модель пайымдауды пайдаланса, нақты қайтарылған пайымдауды қайта жіберіңіз | Әдепкі— |
| Өріс`messages[].reasoning_details` | Түрі`object\|array` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`max_tokens` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
| Өріс`max_completion_tokens` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
| Өріс`stream_options.include_usage` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`temperature` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`top_p` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`stop` | Түрі`string\|string[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools` | Түрі`function_tool[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools[].type` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер function Модельге байланысты | Әдепкі— |
| Өріс`tools[].function.name` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер Мына жағдайда қолданылады: функция құралы берілген | Әдепкі— |
| Өріс`tools[].function.description` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`tools[].function.parameters` | Түрі`JSON_schema` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`tool_choice` | Түрі`string\|object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`parallel_tool_calls` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`response_format` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning_effort` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`service_tier` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`instructions` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Үйлесімділік өрісі | Әдепкі— |
| Өріс`functions` | Түрі`function[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`function_call` | Түрі`string\|object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`prompt_cache_options` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`modalities` | Түрі`string[]` | ТалапМіндетті емес | Мәндер мен шектеулер text | Әдепкі— |
| Өріс`provider` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Шарттар: Осы Ultra мәтіндік бағытында provider.options қабылданбайды | Әдепкі— |
| Өріс`cache_control.ttl` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Шарттар: Сұрау кэшінің нақты орындарында 1h қабылданбайды | Әдепкі— |

Кіріс материалдарының үйлесімдері

**Мәтін** · UTF8 мәтіні

`messages[].content`

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`required` | Параметр талаптарыmodel, messages |
| Параметр`material_types` | Параметр талаптарыtext |
| Параметр`messages` | Параметр талаптарыrole/content құрылымы бар хабарламалар жиымы |
| Параметр`file_material` | Параметр талаптарынақты UTF-8 құжаты сөзбе-сөз мәтін ретінде енгізіледі; файл ID-і болжанбайды |
| Параметр`optional_controls` | Параметр талаптарыstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Параметр`control_scope` | Параметр талаптарымодельге байланысты; пайдаланушының функция құралдары қызмет жағында орындалатын құралдардан өзгеше |
| Параметр`output_modalities` | Параметр талаптарыtext |
| Параметр`hosted_operations` | Параметр талаптарыfalse |
| Параметр`multimodal_input_binding` | Параметр талаптарыnull |

Өмірлік цикл: `synchronous_or_streamed`

Модельдің дәл ID мәнін messages деректерімен бірге жіберіңіз.

Контекст ұзындығы шығыстың жоғарғы шегі емес.

Мәтіндік файл сөзбе-сөз мәтінді бере алады; кіріс суреттері, аудио және файл нысандары дәл байланыстыруды қажет етеді.

### Тарифтер

Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.

Жылдам режим

Стандартты тариф Жылдам режим таңдалғанда

Икемді режим

Стандартты тариф flex режимі таңдалғанда

Ой қорытудың ең жоғары деңгейі

Стандартты тариф Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда

#### Ailoot мөлшерлемелері

#### Баптаулар бойынша бағалар

Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0003** / 1K токен Шығыс · Шығыс токендері **$0.0012** / 1K токен Кіріс · Кэшті оқу **$0** / 1K токен Кіріс · Кэшке жазу **$0** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 1-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0003** / 1K токен Шығыс · Шығыс токендері **$0.0012** / 1K токен Кіріс · Кэшті оқу **$0** / 1K токен Кіріс · Кэшке жазу **$0** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

### Сұрау мысалдары

#### Ailoot Ultra · OpenAI чаты

curlPython SDKPython ағыны

```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-vl-30b-a3b-instruct", "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-vl-30b-a3b-instruct',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-vl-30b-a3b-instruct',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")
```

### Нәтижелерді алу және сақтау

#### Ailoot Ultra · OpenAI чаты

json немесе SSE

##### Барлық дайын нәтижені сақтау

Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.

Әр жауап нұсқасын оның мазмұнымен, құрал шақыруларымен және пайымдауымен бірге сақтаңыз. SSE өзгерістерін жауап нұсқасы мен құрал индексі бойынша жинап, соңғы аяқталу себебі мен пайдалану деректерін сақтаңыз.

##### Бастапқы жауапты тексеру қажет болса

Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`choices[].index` | Түріinteger |
| Өріс`choices[].message.content` | Түріstring\|null |
| Өріс`choices[].message.tool_calls` | Түріtool\_call\[\] |
| Өріс`choices[].message.reasoning_content` | Түріstring |
| Өріс`choices[].message.reasoning_details` | Түріobject\|array |
| Өріс`choices[].finish_reason` | Түріstring\|null |
| Өріс`usage` | Түріobject |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

**Ailoot Ultra** [`qwen/qwen3-vl-30b-a3b-instruct`](https://ailoot.ai/models/kk/#m=qwen%2Fqwen3-vl-30b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-30b-a3b-instruct&fmt=chat)

#### Әдіс жолдарының балама атаулары

Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.

#### Шақыруға арналған байланысты ID

[`qwen/qwen3-vl-30b-a3b-instruct`](https://ailoot.ai/models/kk/#m=qwen%2Fqwen3-vl-30b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-30b-a3b-instruct&fmt=chat)

**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `qwen/qwen3-vl-30b-a3b-instruct`

[`qwen/qwen3-vl-30b-a3b-instruct`](https://ailoot.ai/models/kk/#m=qwen%2Fqwen3-vl-30b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-30b-a3b-instruct&fmt=messages)

Alibaba /`qwen/qwen3-vl-30b-a3b-instruct`

### Бастау

Qwen3-VL-30B-A3B-Instruct — Qwen-нің мәтінге, кескіндерге және бейнеге арналған, нұсқауларға бағытталған сарапшылар қоспасы түріндегі көру-тіл нұсқасы. Ол көрнекі агент жұмыс барыстары, құжат оқу, кеңістіктік сұрақтар және көрнекі код жазу үшін мәтін не код қайтарады; 32 тілдегі OCR және 262 144 токендік бастапқы контексті бар.

Қабылданатын кіріс деректері

Мәтін

Нәтижелер

json · sse

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages`

Кіріс

`text`

Шығыс

`json`, `sse`

Шығыс пішімі

JSON немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер qwen/qwen3-vl-30b-a3b-instruct | Әдепкі— |
| Өріс`messages` | Түрі`message[]` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`messages[].role` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер user, assistant | Әдепкі— |
| Өріс`messages[].content` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`max_tokens` | Түрі`integer` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |

Кіріс материалдарының үйлесімдері

**Мәтін** · UTF-8 мәтіні

`messages[].content жолы`

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`required` | Параметр талаптарыmodel, messages, max\_tokens |
| Параметр`optional_controls` | Параметр талаптарыstream |
| Параметр`material_types` | Параметр талаптарыtext |
| Параметр`text_file_material` | Параметр талаптарыНақты UTF-8 құжатын оқып, оның мәтінін көрсетілген кіріс жолына немесе хабарлама мазмұнының жолына қойыңыз. |

Өмірлік цикл: `synchronous_or_streamed`

### Тарифтер

Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.

Жылдам режим

Стандартты тариф Жылдам режим таңдалғанда

Икемді режим

Стандартты тариф flex режимі таңдалғанда

Ой қорытудың ең жоғары деңгейі

Стандартты тариф Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда

#### Ailoot мөлшерлемелері

#### Баптаулар бойынша бағалар

Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0003** / 1K токен Шығыс · Шығыс токендері **$0.0012** / 1K токен Кіріс · Кэшті оқу **$0** / 1K токен Кіріс · Кэшке жазу **$0** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 1-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0003** / 1K токен Шығыс · Шығыс токендері **$0.0012** / 1K токен Кіріс · Кэшті оқу **$0** / 1K токен Кіріс · Кэшке жазу **$0** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

### Сұрау мысалдары

#### Ailoot Ultra · Anthropic хабарламалары

Ең ықшам толық JSON сұрау денесіcurl · өзіңіздің UTF-8 құжатыңызды қолданыңызPython · нәтижені толық сақтаңыз

```json
{
  "model": "qwen/qwen3-vl-30b-a3b-instruct",
  "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-vl-30b-a3b-instruct', '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-vl-30b-a3b-instruct', '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))
```

### Нәтижелерді алу және сақтау

#### Ailoot Ultra · Anthropic хабарламалары

JSON немесе SSE

##### Барлық дайын нәтижені сақтау

Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.

Барлық мазмұн блоктарын, пайымдау қолтаңбаларын және құрал қолданудың нақты ID мәндерін сақтаңыз. SSE блоктарының барлық өзгерістерін жинаңыз; алғашқы мәтіндік блок толық шығыс емес.

##### Бастапқы жауапты тексеру қажет болса

Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`model` | Түріstring |
| Өріс`content[]` | Түріtext\|thinking\|tool\_use\|other content block |
| Өріс`stop_reason` | Түріstring\|null |
| Өріс`usage` | Түріobject |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

**Ailoot Ultra** [`qwen/qwen3-vl-30b-a3b-instruct`](https://ailoot.ai/models/kk/#m=qwen%2Fqwen3-vl-30b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-30b-a3b-instruct&fmt=messages)

#### Әдіс жолдарының балама атаулары

Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.

#### Шақыруға арналған байланысты ID

[`qwen/qwen3-vl-30b-a3b-instruct`](https://ailoot.ai/models/kk/#m=qwen%2Fqwen3-vl-30b-a3b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-30b-a3b-instruct&fmt=messages)

FAQ · Qwen: Qwen3 VL 30B A3B Instruct

Қандай кіріс деректері мен нәтижелер қолжетімді?

`POST /v1/chat/completions` · `qwen/qwen3-vl-30b-a3b-instruct`: `text` → `text` `POST /v1/messages` · `qwen/qwen3-vl-30b-a3b-instruct`: `text` → `json`, `sse`

Сұрау қандай өрістерді пайдаланады?

`POST /v1/chat/completions` · `qwen/qwen3-vl-30b-a3b-instruct`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen/qwen3-vl-30b-a3b-instruct`: `model`, `messages`, `max_tokens`, `stream`

Қандай шектеулер қолданылады?

`POST /v1/chat/completions` · `qwen/qwen3-vl-30b-a3b-instruct`: `messages.min_items`: `1`

Ailoot-ты Claude Code, OpenCode, Hermes не қолданбаңызға қосыңыз.

## Компания және оның жобалар портфелі

Компания және оның жобалар портфелі: миллиондаған клиент; ай сайынғы сату көлемі миллиардтармен есептеледі.

## Токенді жеңілдікпен сатып алыңыз.

Тұрақты жұмысқа жазылым жеңілдігі. Токен сатып алуға промокодтар — 50% дейін.

Жазылым

Тұрақты сұрауыңызға жеңілдікті тариф таңдаңыз.

50% дейінгі промокод

Сатып алғанда код енгізіңіз. Баға қазіргі науқанмен қайта есептеледі.

Тарихтағы шығындар

Әр сұрауға модель, токен және сома сақталады.

[Жазылым таңдау](https://ailoot.ai/docs/kk/billing/subscriptions/) · [Модель бағасын көру](https://ailoot.ai/models/kk/)

## API-ді сататын өніміңізге қосыңыз.

SaaS, қолданба мен бот Ailoot офертасы және лицензиялық шартына сай. Қайта сатуға реселлер лицензиясын сұраңыз.

Коммерциялық қолданба

Қызметіңіздің ақылы функциясына мәтін, сурет, бейне және дыбыс жасауды қосыңыз.

Реселлер лицензиясы

Жоба сипаттамасы мен кіру схемасын жіберіңіз. Пайдалану мен қайта сатуға жазбаша шарт сұраңыз.

Сайттағы құжаттар

Оферта, лицензиялық шарт және дерек саясаты қоспай тұрып қолжетімді.

[Реселлер лицензиясын сұрау](mailto:support@ailoot.ai) · [Оферта мен лицензиялық шарт](https://ailoot.ai/legal/offer?lang=kk)

## Ailoot · Компания және оның жобалар портфелі





Ailoot жинақталған жұмыс тәжірибесіне, кең клиенттік базаға, тұрақты қызметке және KPI көрсеткіштерін үздіксіз бақылауға сүйенеді.





Компания және оның жобалар портфелі: миллиондаған клиент; ай сайынғы сату көлемі миллиардтармен есептеледі.





Ailoot осы тәжірибені клиенттердің өнімдерінде, агенттерінде, қолданбаларында және автоматтандыруларында жасанды интеллект мүмкіндіктеріне API арқылы қол жеткізуді қамтамасыз етуге пайдаланады.
