reasoning каждого сообщения, если вы не решите их исключить.
Некоторые модели рассуждения не возвращают свои токены рассужденияХотя большинство моделей и поставщиков предоставляют токены рассуждения в
ответ, некоторые (например, серия OpenAI o) этого не делают.
Управление токенами рассуждения
Вы можете управлять токенами рассуждения в своих запросах, используя Объект конфигурацииreasoning параметр:
reasoning объединяет настройки для управления силой рассуждений в разных моделях. См. примечание для каждого параметра ниже, чтобы узнать, какие модели поддерживаются и как будут вести себя другие модели.
Обнаружение вариантов рассуждения для каждой модели
Каждая модель вGET /v1/models может включать в себя Объект reasoning , описывающий, какие уровни усилий он принимает и является ли обоснование обязательным:
supported_efforts: фильтровать селекторы усилий по этим значениям, возвращаемым в порядке убывания усилий (сначала самое высокое). Когдаnull, принимаются все значения усилий шлюза. Если этот параметр опущен, модель не предоставляет выбор усилий.default_effort: Предварительно выберите это усилие при включении рассуждения. Карты вreasoning.effortв запросах в чат. Если значение"none", рассматривайте это как «рассуждение по умолчанию», а не предварительно выбирайте отключение, когда пользователь явно включает рассуждение.default_enabled: состояние включения/выключения по умолчанию, если пользователь не установилreasoning.enabled.supports_max_tokens: Когда присутствует иtrue, покажите контроль бюджета токена и отправьтеreasoning.max_tokensвместо (или рядом)reasoning.effort. Пропускается, если модель не поддерживает обоснование бюджета токенов.mandatory: Когдаtrue, скрыть элементы управления отключением и не отправлятьeffort: "none"— модель отвергает это.
reasoning опускается.
Макс. токенов для рассуждения
Поддерживаемые моделиНа данный момент поддерживается:
- Gemini thinking models
- Модели Anthropic рассуждения (с использованием
Reasoning.max_tokensпараметр) - Some Alibaba Qwen thinking models (mapped to
thinking_budget)
Reasoning.max_tokens (через think_budget) доступен."max_tokens": 2000— напрямую указывает максимальное количество токенов, используемых для рассуждений.
reasoning.effort (см. ниже), Значение max_tokens будет использоваться для определения уровня усилий.
Уровень рассуждения
Поддерживаемые моделиВ настоящее время поддерживается моделями рассуждений OpenAI (серия o1, серия o3, серия GPT-5) и моделями Grok.
"effort": "max"- Выделяет наибольшую часть токенов для рассуждений (примерно 95% от max_tokens)"effort": "xhigh"— такое же распределение, как и max (приблизительно 95% max_tokens)"effort": "high"— выделяет большую часть токенов для рассуждений (примерно 80% от max_tokens)"effort": "medium"— выделяет умеренную часть токенов (приблизительно 50% от max_tokens)"effort": "low"— выделяет меньшую часть токенов (приблизительно 20% от max_tokens)"effort": "minimal"— выделяет еще меньшую часть токенов (приблизительно 10% от max_tokens)"effort": "none"- Полностью отключает рассуждения.
reasoning.max_tokens, уровень усилий будет установлен на основе приведенных выше процентов.
Исключая токены рассуждения
Если вы хотите, чтобы модель использовала внутренние рассуждения, но не включала их в ответ:"exclude": true- Модель по-прежнему будет использовать рассуждения, но они не будут возвращены в ответ.
reasoning каждого сообщения.
Включить рассуждения с конфигурацией по умолчанию
Чтобы включить рассуждения с параметрами по умолчанию:"enabled": true- Позволяет рассуждать на «среднем» уровне усилий без каких-либо исключений.
Примеры
Базовое использование с токенами рассуждения
Использование максимального количества токенов для рассуждений
Для моделей, поддерживающих прямое распределение токенов (например, модели Anthropic), вы можете указать точное количество токенов, которые будут использоваться для рассуждений:Исключение токенов рассуждения из ответа
Если вы хотите, чтобы модель использовала внутренние рассуждения, но не включала их в ответ:Продвинутое использование: Цепочка рассуждений
В этом примере показано, как использовать токены рассуждения в более сложном рабочем процессе. Он внедряет рассуждения одной модели в другую, чтобы улучшить качество ее ответа:Сохранение рассуждений
Чтобы сохранить контекст рассуждений на протяжении нескольких ходов, вы можете передать его обратно в API одним из двух способов:message.reasoning(строка): передать аргументацию в виде открытого текста в виде строкового поля в сообщении помощника.message.reasoning_details(массив): передать полный блок Reasoning_details.
reasoning_details при работе с моделями, которые возвращают специальные типы рассуждений (например, зашифрованные или суммированные) - это сохраняет полную структуру, необходимую для этих моделей.
Для моделей, которые возвращают только необработанные строки рассуждений, вы можете использовать более простой вариант: reasoning поле. Вы также можете использовать reasoning_content в качестве псевдонима - он работает идентично Функциональность reasoning.
Объект reasoning_details работает одинаково для всех поддерживаемых моделей рассуждений. Вы можете легко переключаться между моделями рассуждений OpenAI (например, ~openai/gpt-latest) и модели Anthropic рассуждения (например, ~anthropic/claude-sonnet-latest) без изменения структуры кода.
Сохранение блоков рассуждений полезно специально для вызова инструментов. Когда такие модели, как Claude, вызывают инструменты, они приостанавливают построение ответа в ожидании внешней информации. Когда результаты инструмента будут возвращены, модель продолжит построение существующего ответа. Это требует сохранения блоков рассуждений во время использования инструмента по нескольким причинам:
Непрерывность рассуждений: блоки рассуждений фиксируют пошаговые рассуждения модели, которые привели к запросам инструментов. Когда вы публикуете результаты инструмента, включение исходных рассуждений гарантирует, что модель сможет продолжить рассуждения с того места, где она остановилась.
Обслуживание контекста: хотя результаты инструмента отображаются в виде пользовательских сообщений в структуре API, они являются частью непрерывного потока рассуждений. Сохранение блоков рассуждений поддерживает этот концептуальный поток между несколькими вызовами API.
Важно для моделей рассужденияПри предоставлении блоков Reasoning_details вся последовательность последовательных Блоки рассуждений
должны соответствовать выводам, сгенерированным моделью во время
исходный запрос; вы не можете переставлять или изменять последовательность этих блоков.
Пример: сохранение блоков рассуждений с помощью LLMSTORE и Claude
Более подробную информацию о шифровании мышления, отредактированных блоках и расширенных вариантах использования см. в документации Anthropic по расширенному мышлению.. Дополнительную информацию о моделях рассуждений OpenAI см. в документации по рассуждениям OpenAI.Контекстный режим рассуждения
Когда вы повторяете элементы рассуждений в истории разговора, вы можете контролировать, к каким рассуждениям модель имеет доступ, с помощьюreasoning.context параметр:
auto: Модель использует контекстный режим по умолчанию. Пропускreasoning.contextимеет тот же эффект.all_turns: Модель может ссылаться на рассуждения всех ходов, присутствующих во входных данных. Используйте это для многоходовых разговоров, в которых вы хотите, чтобы модель основывалась на предыдущей цепочке мыслей.current_turn: Модель использует только рассуждения текущего хода. Предыдущие аргументы во входных данных игнорируются. Используйте это, если хотите провести новое рассуждение без влияния предыдущих ходов.
reasoning.context поддерживается только OpenAI GPT-5.6 и новее.reasoning.context рядом include:
Значение по умолчанию
context может отличаться в зависимости от модели. Установите его явно, если ваш вариант использования требует определенного поведения.Режим рассуждения
Для моделей, предлагающих вариант рассуждения «за», Параметрreasoning.mode определяет, какой вариант соответствует вашему запросу:
standard: Стандартное поведение модели при рассуждении. Пропускreasoning.modeимеет тот же эффект.pro: направляет запрос к профессиональному варианту модели, который использует более глубокие многопроходные рассуждения для более сложных задач.
reasoning.mode поддерживается только OpenAI GPT-5.6 и новее при обслуживании.
от OpenAI или Azure. OpenAI-совместимый API Amazon Bedrock принимает поле
но молча игнорирует это, поэтому на Bedrock недоступны аргументы в поддержку —
LLMSTORE направляет профессиональные запросы только тем поставщикам, которые соблюдают выбор режима.- Отправить
reasoning.mode: "pro"со стандартной моделью — LLMSTORE перенаправляет запрос на соответствующую*-proмодель. - Позвоните
*-proсписок моделей напрямую.
modeне зависит отeffort: ты можешь комбинироватьmode: "pro"с любым поддерживаемым уровнем усилий. — в режиме Pro счета за токен выставляются по той же ставке, что и в стандартном режиме, но обычно потребляется больше токенов.
Детали рассуждения Форма API
Когда модели рассуждения генерируют ответы, информация для рассуждения структурируется в стандартизированном формате посредствомreasoning_details массив. В этом разделе описывается структура ответа API для подробного объяснения как потоковых, так и непотоковых ответов.
Reasoning_details Структура массива Поле
Объектreasoning_details содержит массив объектов детализации рассуждения. Каждый объект в массиве представляет собой определенную часть информации для рассуждений и относится к одному из трех возможных типов. Расположение этого массива различается в зависимости от потоковых и непотоковых ответов.
- Непотоковые ответы:
reasoning_detailsпоявляется вchoices[].message.reasoning_details - Потоковая передача ответов:
reasoning_detailsпоявляется вchoices[].delta.reasoning_detailsдля каждого чанка
Общие поля
Все объекты подробностей рассуждений имеют общие поля:id(строка | ноль): уникальный идентификатор подробного обоснования.format(строка): формат детали рассуждения с возможными значениями:"unknown"- Формат не указан"openai-responses-v1"- формат ответов OpenAI версии 1"azure-openai-responses-v1"— формат ответов Azure OpenAI версии 1."bedrock-openai-responses-v1"— формат ответов Amazon Bedrock OpenAI версии 1"xai-responses-v1"- формат ответов SpaceXAI версии 1"meta-responses-v1"- Формат метаответов версии 1"anthropic-claude-v1"- формат Anthropic Claude, версия 1 (по умолчанию)"google-gemini-v1"— формат Google Gemini, версия 1.
index(число, необязательно): Последовательный индекс детализации рассуждения.
Типы деталей рассуждения
1. Тип сводки (reasoning.summary)
Содержит общее описание процесса рассуждения:
reasoning.encrypted)
Содержит зашифрованные данные рассуждений, которые могут быть отредактированы или защищены:
reasoning.text)
Содержит необработанный текст с дополнительной проверкой подписи:
Примеры ответов
Непотоковый ответ
В непотоковых ответахreasoning_details появляется в сообщении:
Потоковый ответ
В потоковых ответах,reasoning_details появляется в дельта-фрагментах по мере генерации рассуждения:
- Каждый фрагмент подробного рассуждения отправляется по мере его появления.
- Массив
reasoning_detailsв каждом чанке может содержать один или несколько объектов рассуждения. - По причинам зашифрованного содержания содержимое может выглядеть как
[REDACTED]в потоковых ответах - Полная последовательность рассуждений строится путем объединения всех фрагментов по порядку.
Устаревшие параметры
В целях обратной совместимости LLMSTORE по-прежнему поддерживает следующие устаревшие параметры:include_reasoning: true- Эквивалентноreasoning: {}include_reasoning: false- Эквивалентноreasoning: { exclude: true }
reasoning для лучшего управления и будущей совместимости.
Реализация рассуждений, специфичных для поставщика
Модели Anthropic с токенами рассуждения
Последние модели Claude, такие как~anthropic/claude-sonnet-latest, поддержка работы и возврата токенов рассуждения.
Включить рассуждения на моделях Anthropic можно только с помощью унифицированного reasoning параметр с любым effort или Сообщения max_tokens.
Примечание: Вариант :thinking больше не поддерживается для моделей Anthropic. Используйте Вместо этого параметр reasoning .
Максимальное количество токенов рассуждения для моделей Anthropic
При использовании моделей Anthropic с рассуждениями:- При использовании
reasoning.max_tokens, это значение используется напрямую с минимум 1024 токенами. - При использовании
reasoning.effort, Budget_tokens рассчитываются на основеmax_tokensзначение.
budget_tokens = max(min(max_tokens * {effort_ratio}, 128000), 1024)
коэффициент усилий составляет 0,95 для максимальных и xвысоких усилий, 0,8 для высоких усилий, 0,5 для средних усилий, 0,2 для низких усилий и 0,1 для минимальных усилий.
Важно: max_tokens должен быть строго выше бюджета рассуждений, чтобы гарантировать наличие токенов для окончательного ответа после размышлений.
Использование токенов и выставление счетовТокены рассуждения считаются токенами вывода для целей выставления счетов. Использование
токены рассуждения увеличат использование вашего токена, но могут значительно улучшить его.
качество ответов модели.
Обобщенное мышление
Для моделей Claude, поддерживающихthinking.display , LLMSTORE по умолчанию использует обобщенное мышление (thinking.display: 'summarized'), чтобы вы не потеряли след рассуждений в новых моделях, где Anthropic по умолчанию опускает мышление. Настройка
Объект display контролирует только видимый след мышления в ответе. В любом случае модель потребляет одинаковое количество токенов, а оплата за использование взимается на основе фактически генерируемых моделью токенов. Поскольку видимая сводка сжата, она может содержать меньше токенов, чем количество токенов рассуждения, указанное в usage.
Если вы используете формат API Anthropic Messages напрямую, вы можете управлять этим с помощью thinking.display:
'summarized'(по умолчанию): возвращается сжатое изложение рассуждений.'omitted': Никаких следов мышления не возвращается.
Пример: потоковая передача с токенами Anthropic мышления
Google Gemini 3 модели с уровнями мышления
Модели Gemini 3 (например, google/gemini-3.1-pro-preview и google/gemini-3-flash-preview) используйте GooglethinkingLevel API вместо старого thinkingBudget API, используемый моделями Gemini 2.5.
LLMSTORE отображает Параметр reasoning.effort непосредственно в Google thinkingLevel значения:
Потребление токенов определяется GoogleПри использовании
thinkingLevel, фактическое количество потребляемых токенов рассуждения определяется внутри компании Google. Для каждого уровня не существует публично задокументированных контрольных точек ограничения количества токенов. Например, установка effort: "low" может привести к нескольким сотням токенов рассуждения в зависимости от сложности задачи. Это ожидаемое поведение и отражает то, как Google реализует уровни мышления внутри компании.low и Параметры high), LLMSTORE сопоставит запрошенные вами усилия с ближайшим поддерживаемым уровнем.
Использование max_tokens с Gemini 3
Если вы укажетеreasoning.max_tokens явно, LLMSTORE пропустит его как thinkingBudget к API Google. Однако для моделей Gemini 3 Google сопоставляет это значение бюджета с thinkingLevel, поэтому вы не получите точного контроля над токенами. Фактическое потребление токенов по-прежнему определяется реализацией thinkLevel от Google, а не конкретным значением бюджета, который вы предоставляете.