# Ollama thinking: как включить или отключить рассуждение модели

Источник: https://modelium.tech/zhurnal/ollama-thinking-mode/

Чтобы отключить thinking в Ollama, сначала запросите /api/show для точного тега: переключатель зависит от модели. Если она поддерживает значение false, передайте в /api/chat поле think: false; для включения используйте true либо один из объявленных моделью уровней. Сравнивайте message.thinking и message.content, а не только видимый текст: отсутствие поля не доказывает, что модель не выполняла промежуточную обработку.

**Документация сверена 4 октября 2026 года:** Ollama Git `42e911b`, Qwen3-8B HF `b968826`. Ни запуск модели, ни сравнение скорости или качества Modelium не проводил [s1](#src-s1)[s4](#src-s4).

## Как отключить thinking в Ollama?

Для локального API используйте поле `think: false` в запросе к `/api/chat` **только после** проверки, что конкретный тег допускает отключение. `think: true` запрашивает рассуждение, а отсутствие поля либо `null` оставляет выбранное моделью значение по умолчанию. Для моделей с именованными уровнями передавайте ровно значение из `thinking.values`: например, строку `low`, если её вернул `/api/show`; универсальной команды «отключить thinking для всех моделей» нет [s1](#src-s1)[s3](#src-s3).

Это руководство — про **управление выводом и режимом через локальный Ollama API**, а не про удаление вычислений из модели. Документация отдельно предупреждает: если объект `thinking` отсутствует в `/api/show`, у тега нет метаданных о контролах, однако модель может выполнять рассуждение по своему поведению. Не выдавайте `think: false` за техническую гарантию отсутствия любого внутреннего рассуждения или за доказательство закрытого сетевого контура [s1](#src-s1)[s3](#src-s3).

## Как выбрать модель, железо и способ запуска?

Путь здесь: **задача с проверяемым ответом → тег с контролами thinking → память конкретного устройства → локальная Ollama → сравнение двух API-ответов**. Для первой попытки нужен установленный Ollama, запущенный локальный API и выбранный тег: официальный каталог показывает `qwen3:8b` с меткой thinking, но наличие метки **не заменяет** локальный ответ `/api/show` и не удостоверяет точную ревизию весов в вашем экземпляре [s5](#src-s5)[s1](#src-s1). Начните с [общего гайда Ollama](/zapusk/ollama/) и [проверки API](/zhurnal/ollama-healthcheck/), если сервис не отвечает.

Qwen в карточке **исходной Qwen3-8B** описывает переключение `enable_thinking` у собственного шаблона чата и команду `/no_think` при включённой поддержке шаблона. Это **другой интерфейс**, не точная инструкция для любой версии Ollama или каждого тега Qwen; не копируйте настройки Transformers в тело запроса Ollama. Сначала посмотрите свойства установленной модели, а затем проверьте реальный результат на своей задаче [s4](#src-s4)[s1](#src-s1). Размер загрузки тега на странице каталога — размер артефакта, а не минимальная RAM/VRAM: размещение зависит также от окна контекста, параллелизма и среды запуска; не выводите требования к компьютеру из цифры файла [s5](#src-s5)[s6](#src-s6).

## Как проверить поддерживаемые значения через API?

Первым шагом выполните `ollama pull qwen3:8b` для установки выбранного тега. Затем запросите локальные метаданные: `curl http://localhost:11434/api/show -d '{"model":"qwen3:8b"}'`. Проверяйте **верхнеуровневый** `thinking.values` и `thinking.default`: массив может содержать булевы `true`/`false` либо именованные строки, а `[false]` указывает на отсутствие поддержки thinking. Если объекта `thinking` нет, не делайте вывод о том, что тег наверняка не рассуждает, и не обещайте работу переключателя [s1](#src-s1)[s3](#src-s3)[s5](#src-s5).

Сохраните точный тег и увиденные значения перед следующим шагом. Число вместо строки уровня (`0`, `1` и т. п.) не предусмотрено схемой `ThinkValue`; строка вне списка может разрешиться к default вместо желаемого режима. Это важно, когда меняются версия Ollama или состав модели: ориентируйтесь на фактический `/api/show` вашей установки, а не на скриншот чужой конфигурации [s1](#src-s1)[s3](#src-s3).

## Как сравнить включённый и отключённый режимы?

После подтверждения `true` и `false` в `thinking.values` отправьте **один и тот же вопрос** с `stream: false`, меняя только `think`. Первый запрос: `curl http://localhost:11434/api/chat -d '{"model":"qwen3:8b","messages":[{"role":"user","content":"Что больше: 3/4 или 2/3? Ответь и проверь дроби общим знаменателем."}],"think":true,"stream":false}'`. Второй запрос — та же команда с `"think":false`. Это редакционно составленные примеры на основе документированного формата, **не выполненные Modelium**; скопированную команду нужно запускать против установленного у вас тега [s1](#src-s1)[s2](#src-s2)[s5](#src-s5).

В JSON у `/api/chat` сравните `message.thinking` — выводимую цепочку, если модель её вернула, и `message.content` — итоговый ответ. У `/api/generate` поля называются иначе: `thinking` и `response`, поэтому не ищите там `message.content`. При `stream: true` ответ приходит фрагментами: разные части thinking и content нужно собрать по полям, прежде чем сравнивать. Нестриминговый запрос здесь выбран для простого сопоставления, а не для обещания меньшей задержки [s1](#src-s1)[s2](#src-s2)[s3](#src-s3).

Заранее проверьте сам ответ независимо от длины цепочки: для данного вопроса приведите дроби к общему знаменателю и убедитесь, что итог верен. Затем протестируйте ту задачу, ради которой вы выбираете режим, с одинаковым входом и одинаковым тегом; смена кванта, контекста или версии модели меняет условия сравнения. Соберите ошибки и время ответа только **на своей машине**; статья не приписывает этому переключателю измеренный выигрыш в точности, скорости или памяти [s4](#src-s4)[s6](#src-s6).

## Что делать, если поле thinking пустое или запрос не проходит?

- `**/api/show**`** не показывает **`**thinking**`** или допускает только **`**[false]**`**.** Не считайте такое значение подтверждением управляемого переключателя: проверьте другой тег с поддержкой через каталог Ollama и его локальный `/api/show`. Документация прямо различает отсутствие метаданных и отсутствие поддержки [s1](#src-s1)[s5](#src-s5).

- `**think: false**`** не принят, либо у модели перечислены лишь строковые уровни.** Не подменяйте `false` похожей строкой и не используйте числа. Сверьте список `thinking.values` для точного тега; если выключение не поддерживается, выберите модель с булевым контролом вместо обещания обхода [s1](#src-s1)[s3](#src-s3).

- **Пустой **`**message.thinking**`** при **`**think: true**`**.** Смотрите также `message.content` и установленный тег; пустое поле само по себе не является тестом отсутствия промежуточных операций. Для потокового ответа учитывайте разные чанки, а для `/api/generate` — другие названия полей [s1](#src-s1)[s2](#src-s2).

- `**localhost:11434**`** не отвечает или запрос возвращает ошибку загрузки.** Сначала проверьте работающий сервис и установленный тег по [гайду Ollama](/zapusk/ollama/) и [healthcheck](/zhurnal/ollama-healthcheck/). Не переносите приватный вопрос на облачный endpoint только ради получения ответа; размер файла модели не равен реальному бюджету памяти [s2](#src-s2)[s5](#src-s5)[s6](#src-s6).

## Какой следующий шаг после сравнения?

Зафиксируйте точный тег, `thinking.values`, два полных ответа и критерий правильности по вашей рабочей задаче. Для инференса на производственных документах не показывайте сырую цепочку рассуждения конечному пользователю без отдельного решения о хранении и доступе; практический критерий — проверяемый итог и контроль данных, а не убедительный вид рассуждения. Если нужно разобраться в самом термине, откройте [разбор думающих моделей](/zhurnal/reasoning-modeli/); если API ещё не готов — первым шагом остаётся [проверка локального тега](/zhurnal/ollama-healthcheck/) [s1](#src-s1)[s4](#src-s4).

## Источники

1. [Ollama: Thinking, pinned Git documentation](https://github.com/ollama/ollama/blob/42e911bc3d05798cad729cb474bf62f378cb2e26/docs/capabilities/thinking.mdx) — получено 2026-10-04
2. [Ollama API: chat, generate, show](https://github.com/ollama/ollama/blob/42e911bc3d05798cad729cb474bf62f378cb2e26/docs/api.md) — получено 2026-10-04
3. [Ollama OpenAPI: ThinkValue, Thinking and chat response](https://github.com/ollama/ollama/blob/42e911bc3d05798cad729cb474bf62f378cb2e26/docs/openapi.yaml) — получено 2026-10-04
4. [Qwen: Qwen3-8B official model card](https://huggingface.co/Qwen/Qwen3-8B/resolve/b968826d9c46dd6066d109eabc6255188de91218/README.md) — получено 2026-10-04
5. [Ollama library: qwen3:8b tag](https://ollama.com/library/qwen3:8b) — получено 2026-10-04
6. [Ollama FAQ: context, keep_alive and memory](https://github.com/ollama/ollama/blob/42e911bc3d05798cad729cb474bf62f378cb2e26/docs/faq.mdx) — получено 2026-10-04
