Skip to Content

Семейство Qwen

Текстовые модели Tongyi Qianwen от Alibaba Cloud: серии Qwen3.8, Qwen3.7, Qwen3.6, а также Qwen Flash и Qwen Plus. Они вызываются через OpenAI-совместимый API; серия Qwen3.x также поддерживает нативный API Anthropic. Модели генерации изображений описаны в разделе Qwen-Image.

Типичные задачи

Модели

Полный список моделей и актуальные цены см. на странице моделей ; их также можно получить через Models API. Префикс qwen/ в ID модели можно опустить.

Основные ID моделей (копируйте без изменений)
Qwen3.8 Maxqwen/qwen3.8-maxПоддерживает ввод изображений
Qwen3.8 Flashqwen/qwen3.8-flashПоддерживает ввод изображений
Qwen3.7 Plusqwen/qwen3.7-plusПоддерживает ввод изображений
Qwen Flashqwen/qwen-flashПо умолчанию без thinking; только текст
ВозможностьПоддерживающие модели
Ввод изображенийQwen3.8 Max, 3.8 Flash, 3.8 27B, 3.7 Plus, 3.6 Flash
Нативный API AnthropicСерии Qwen3.8, 3.7, 3.6, Qwen Flash
Responses APIСерии Qwen3.8, 3.7, Qwen Flash и др.; ориентируйтесь на supported_endpoints в Models API

Модели Qwen предоставляет Alibaba Cloud Model Studio (Bailian) через двух провайдеров — китайскую площадку (aliyun) и международную (alicloud); по умолчанию провайдер выбирается автоматически. Как указать провайдера, см. в разделе Маршрутизация провайдеров.

Примеры вызова

qwen_basic.py
import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) resp = client.chat.completions.create( model="qwen/qwen3.8-flash", messages=[{"role": "user", "content": "Объясни одним предложением, что такое идемпотентность."}], extra_body={"enable_thinking": False}, ) print(resp.choices[0].message.content)

Режим thinking

ГлавноеСерия Qwen3.x по умолчанию использует thinking: на сложные вопросы он может расходовать десятки тысяч токенов и занимать несколько минут. Отключайте его при необходимости или ограничивайте длину через thinking_budget.
МодельПо умолчаниюОтключить thinkingВключить thinking
Серии Qwen3.8, 3.7, 3.6Включён"enable_thinking": falseВключён по умолчанию
Qwen Flash, Qwen PlusВыключенВыключен по умолчанию"enable_thinking": true

Замеры на одной и той же математической задаче: Qwen3.8 Flash по умолчанию тратит на thinking около 5800 токенов и около 1,5 минуты, Qwen3.6 Flash — больше 30 тысяч токенов и больше 4 минут; с отключённым thinking обе модели отвечают за несколько секунд.

Ограничение длины thinking

Если thinking нужен, но вы хотите контролировать время и стоимость, передайте thinking_budget (лимит токенов thinking):

qwen_thinking_budget.py
import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) resp = client.chat.completions.create( model="qwen/qwen3.8-flash", messages=[{"role": "user", "content": "Найди все натуральные n меньше 50, при которых n² + n + 41 не является простым числом."}], extra_body={"enable_thinking": True, "thinking_budget": 1000}, ) msg = resp.choices[0].message details = getattr(msg, "reasoning_details", None) or [] print("[Thinking]", "".join(d.get("text", "") for d in details)[:200], "…") print("[Ответ]", msg.content) print("Токены thinking:", resp.usage.completion_tokens_details.reasoning_tokens)
  • По нашим замерам, thinking_budget соблюдается строго: при значении 200 число токенов thinking ровно 200.
  • enable_thinking и thinking_budget не входят в стандартные параметры OpenAI SDK, поэтому передавайте их в extra_body; при прямой отправке HTTP-запроса размещайте их на верхнем уровне тела запроса.
  • Токены thinking оплачиваются по цене вывода, их число указано в usage.completion_tokens_details.reasoning_tokens.

Чтение содержимого thinking

  • В потоковом ответе содержимое thinking находится в delta.reasoning_content, как и в официальном API Alibaba Cloud Model Studio.
  • В непотоковом ответе содержимое thinking находится в message.reasoning_details; склейте поля text всех элементов по порядку (см. пример выше).

Ввод изображений

Модели с поддержкой ввода изображений используют стандартный блок содержимого image_url:

qwen_vision.py
import base64 import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) img_b64 = base64.b64encode(open("photo.png", "rb").read()).decode() resp = client.chat.completions.create( model="qwen/qwen3.8-flash", messages=[{"role": "user", "content": [ {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_b64}"}}, {"type": "text", "text": "Опиши это изображение."}, ]}], extra_body={"enable_thinking": False}, ) print(resp.choices[0].message.content)

Qwen3.7 Max, Qwen Plus и Qwen Flash работают только с текстом — используйте одну из моделей с поддержкой ввода изображений из таблицы выше.

Использование в Claude Code

Серия Qwen3.x и Qwen Flash поддерживают нативный API Anthropic по адресу https://api.ofox.io/anthropic:

Значения для настройки Claude Code
ANTHROPIC_BASE_URLhttps://api.ofox.io/anthropic
ANTHROPIC_AUTH_TOKENВставьте ваш API-ключ OfoxAI
ANTHROPIC_MODELqwen/qwen3.8-max
  • При вызове через Anthropic API содержимое thinking возвращается блоками thinking.
  • Серия Qwen3.8 расходует на thinking много токенов, поэтому задавайте достаточно большой max_tokens. По нашим замерам, при max_tokens 4000 ответ может содержать только блок thinking без самого ответа.
  • Qwen Plus не поддерживает Anthropic API: вызов возвращает protocol_not_supported.

Полный порядок настройки Claude Code см. в разделе Настройка Claude Code.

JSON-вывод и вызов инструментов

response_format поддерживает {"type": "json_object"} и {"type": "json_schema", ...}; для вызова инструментов используется стандартный параметр tools. При использовании json_object явно укажите в промпте «верни в формате JSON» и перечислите нужные поля. Подробнее см. в разделах Структурированный вывод и Вызов функций.

Кэширование промптов

Qwen автоматически кэширует повторяющиеся префиксы запросов, менять запросы не нужно. Объём попадания показывает usage.prompt_tokens_details.cached_tokens; попавшая в кэш часть оплачивается по цене чтения из кэша. Кэширование работает по принципу best effort: даже запросы с одинаковым префиксом могут не попасть в кэш.

Типичные ошибки

ГлавноеМедленные запросы и пустые ответы чаще всего связаны с thinking, включённым по умолчанию; если он не нужен, отключите его.
HTTP · typeТекст ошибкиПричинаРешение
400 invalid_request_errorСодержит The provided messages input is invalid. The error info is [Unexpected item type in content.]Изображение передано модели, которая работает только с текстом (например, Qwen3.7 Max)Используйте модель с поддержкой ввода изображений — см. Ввод изображений
400 protocol_not_supportedModel 'qwen/qwen-plus' does not support the 'anthropic' protocol on this platform.Модель не поддерживает Anthropic APIИспользуйте OpenAI-совместимый API или модель серии Qwen3.x
404 model_not_foundModel 'qwen/qwen9-max' not foundОшибка в написании ID моделиСкопируйте ID модели с этой страницы
200, пустой ответ или только содержимое thinking—Thinking израсходовал лимит выводаУвеличьте max_tokens, задайте thinking_budget или отключите thinking
Таймаут запроса—Thinking включён по умолчанию, и сложные запросы выполняются долгоОтключите thinking, задайте thinking_budget, используйте потоковый вывод или установите таймаут клиента не менее 600 секунд

Прочие общие ошибки: Обработка ошибок.

Официальная документация

Официальная документация описывает поведение при прямом обращении к Alibaba Cloud Model Studio. При вызове через OfoxAI ID моделей и адреса API указывайте так, как описано на этой странице.

Часто задаваемые вопросы

Как записывать ID моделей Qwen?

Стандартная запись — qwen/qwen3.8-flash; префикс qwen/ можно опустить.

Как отключить thinking у Qwen?

Передайте "enable_thinking": false; в OpenAI SDK — внутри extra_body. Серии Qwen3.8, 3.7 и 3.6 по умолчанию используют thinking, Qwen Flash и Qwen Plus — нет.

Qwen отвечает очень медленно, приходится ждать несколько минут?

Серия Qwen3.x по умолчанию использует thinking, и на сложные вопросы он может расходовать десятки тысяч токенов. Отключите thinking или ограничьте его длину через thinking_budget, например "thinking_budget": 1000.

Как использовать thinking_budget в Qwen?

Передавайте его вместе с "enable_thinking": true; значение — лимит токенов thinking, например 1000. По нашим замерам, лимит соблюдается строго.

Какие модели Qwen умеют работать с изображениями?

Ввод изображений поддерживают Qwen3.8 Max, 3.8 Flash, 3.8 27B, 3.7 Plus и 3.6 Flash. Qwen3.7 Max, Qwen Plus и Qwen Flash работают только с текстом.

Можно ли использовать Qwen в Claude Code?

Да. Укажите ANTHROPIC_BASE_URL https://api.ofox.io/anthropic, а в качестве модели — модель серии Qwen3.x, например qwen/qwen3.8-max. Qwen Plus не поддерживает Anthropic API.

Где находится reasoning_content у Qwen?

В потоковом ответе — в delta.reasoning_content; в непотоковом — в message.reasoning_details, где нужно склеить поля text всех элементов.

Обновлено