Документация Параметры

Параметры

Параметры сэмплинга управляют процессом генерации токенов моделью. Вы можете отправлять любые параметры из списка ниже, а также другие — API передаёт их провайдеру как есть.

Если параметр отсутствует в запросе, модель использует значение по умолчанию (например, temperature = 1.0). Некоторые провайдеры поддерживают специфичные параметры, такие как safe_prompt для Mistral или raw_mode для Hyperbolic — они также передаются при указании.

Проверить, какие параметры поддерживает конкретная модель, можно через эндпоинт /v1/models — поле supported_parameters у каждой модели.

Параметры

Temperature

Ключtemperature
Типfloat, 0.0 до 2.0
По умолчанию1.0

Влияет на разнообразие ответов. Меньшие значения делают ответы более предсказуемыми и типичными, большие — более разнообразными и неожиданными. При значении 0 модель всегда возвращает один и тот же ответ для одного входа.

Top P

Ключtop_p
Типfloat, 0.0 до 1.0
По умолчанию1.0

Ограничивает выбор токенов до набора, суммарная вероятность которых составляет P. Меньшие значения делают ответы более предсказуемыми, значение по умолчанию разрешает полный набор токенов. Работает как динамический Top-K.

Top K

Ключtop_k
Типinteger, 0 или больше
По умолчанию0

Ограничивает выбор токенов на каждом шаге до K наиболее вероятных. Значение 1 означает, что модель всегда выбирает самый вероятный токен. Значение 0 отключает ограничение.

Frequency Penalty

Ключfrequency_penalty
Типfloat, -2.0 до 2.0
По умолчанию0.0

Штрафует токены на основе частоты их появления во входном тексте. Штраф масштабируется пропорционально количеству повторений. Отрицательные значения поощряют повторное использование токенов.

Presence Penalty

Ключpresence_penalty
Типfloat, -2.0 до 2.0
По умолчанию0.0

Штрафует повторное использование токенов, которые уже встречались во входном тексте. В отличие от frequency_penalty, штраф не масштабируется от количества повторений.

Repetition Penalty

Ключrepetition_penalty
Типfloat, 0.0 до 2.0
По умолчанию1.0

Снижает вероятность повторения токенов из входного текста. Слишком высокие значения могут сделать вывод менее связным. Штраф масштабируется на основе исходной вероятности токена.

Min P

Ключmin_p
Типfloat, 0.0 до 1.0
По умолчанию0.0

Минимальная вероятность токена для рассмотрения, относительно вероятности самого вероятного токена. Например, при Min-P = 0.1 будут рассматриваться только токены с вероятностью не менее 1/10 от лучшего варианта.

Top A

Ключtop_a
Типfloat, 0.0 до 1.0
По умолчанию0.0

Рассматривает только токены с «достаточно высокой» вероятностью на основе вероятности самого вероятного токена. Работает как динамический Top-P.

Seed

Ключseed
Типinteger

Фиксирует seed для детерминированной генерации. Повторные запросы с одинаковым seed и параметрами должны возвращать одинаковый результат. Детерминированность не гарантируется для некоторых моделей.

Max Tokens

Ключmax_tokens
Типinteger, 1 или больше

Максимальное количество токенов в ответе модели. Значение не может превышать context_length модели минус длина промпта.

Специальное значение -1: снимает лимит выходных токенов — модель может использовать весь доступный контекст до context_length.

Max Completion Tokens

Ключmax_completion_tokens
Типinteger, 1 или больше

Альтернатива max_tokens для моделей, поддерживающих этот параметр (например, o1/o3 от OpenAI). Максимальное количество токенов в ответе.

Logit Bias

Ключlogit_bias
Типmap

Принимает JSON-объект, который сопоставляет ID токенов (в токенизаторе модели) со значением смещения от -100 до 100. Значения от -1 до 1 снижают или повышают вероятность выбора; значения -100 и 100 фактически запрещают или гарантируют выбор соответствующего токена.

Logprobs

Ключlogprobs
Типboolean

Вернуть логарифмические вероятности выходных токенов. Если true, возвращает log-вероятности каждого токена.

Top Logprobs

Ключtop_logprobs
Типinteger, 0 до 20

Количество наиболее вероятных токенов для возврата на каждой позиции, каждый с log-вероятностью. Требует logprobs: true.

Response Format

Ключresponse_format
Типmap

Принудительный формат вывода:

  • {"type": "json_object"} — JSON-режим, модель гарантированно вернёт валидный JSON.
  • {"type": "json_schema", "json_schema": {...}} — структурный вывод по JSON Schema.
Важно: в JSON-режиме рекомендуется также указать модели в system-сообщении, что нужно вернуть JSON.

Structured Outputs

Ключstructured_outputs
Типboolean

Включает структурный вывод с использованием response_format: json_schema. Поддерживается не всеми моделями.

Stop

Ключstop
Типarray

Останавливает генерацию при встрече любого из указанных токенов (строк). Можно передать до 4 стоп-слов.

Tools

Ключtools
Типarray

Вызов функций (function calling), следующий формату OpenAI. Для не-OpenAI провайдеров преобразуется автоматически.

Tool Choice

Ключtool_choice
Типstring или object

Управляет выбором инструмента:

Значение Описание
"none" Модель не вызывает инструменты, а генерирует сообщение
"auto" Модель выбирает: сообщение или вызов инструмента(ов)
"required" Модель обязана вызвать хотя бы один инструмент
{"type": "function", "function": {"name": "my_func"}} Принудительный вызов конкретного инструмента

Parallel Tool Calls

Ключparallel_tool_calls
Типboolean
По умолчаниюtrue

Разрешает параллельный вызов нескольких функций. Если false, функции вызываются последовательно.

Reasoning

Ключreasoning
Типmap

Управляет режимом внутренних рассуждений (thinking tokens) для моделей, которые его поддерживают:

{
  "reasoning": {
    "effort": "high",
    "max_tokens": 2000,
    "exclude": false
  }
}

Параметры:

Поле Тип Описание
effort enum Уровень усилий: xhigh, high, medium, low, minimal, none
max_tokens integer Максимум токенов на внутренние рассуждения
exclude boolean Исключить reasoning из ответа (если true, возвращается только финальный ответ)

Include Reasoning

Ключinclude_reasoning
Типboolean

Устаревший аналог reasoning.exclude. При true токены рассуждений включаются в ответ.

Reasoning Effort

Ключreasoning_effort
Типenum

Уровень усилий для внутренних рассуждений в стиле OpenAI. Допустимые значения: xhigh, high, medium, low, minimal, none.

Web Search Options

Ключweb_search_options
Типmap

Настройки встроенного веб-поиска для моделей и провайдеров, поддерживающих ответы с подключением к интернету.

Verbosity

Ключverbosity
Типenum
По умолчаниюmedium

Управляет многословностью ответа. Меньшие значения дают более краткие ответы, большие — более подробные.

Допустимые значения: low, medium, high, xhigh, max.

Для моделей Anthropic этот параметр транслируется в output_config.effort. Уровень xhigh поддерживается Anthropic Claude 4.7 Opus и новее, max — Claude 4.6 Opus и новее.

Особенности реализации

max_tokens = -1

Если передать max_tokens: -1, API использует context_length модели как максимальный лимит токенов. Это позволяет модели генерировать ответ на весь доступный контекст без ограничения.

curl https://api.ru-openrouter.ru/v1/chat/completions \
  -H "Authorization: Bearer sk_ваш_api_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [{"role": "user", "content": "Напиши подробный рассказ"}],
    "max_tokens": -1
  }'

Проверка контекстного окна

API проверяет, что входные токены не превышают 95% от context_length модели. Это предотвращает ошибки провайдера. Если лимит превышен, возвращается ошибка input_tokens_exceeded.

{
  "error": {
    "message": "Input tokens exceed model context limit. Model: 'openai/gpt-4o', Context length: 128000 tokens, Input tokens: 130000 (max allowed: 121600). Reduce message length.",
    "code": "input_tokens_exceeded"
  }
}

Поддерживаемые параметры по моделям

Список поддерживаемых параметров для каждой модели доступен в поле supported_parameters эндпоинта /v1/models:

{
  "supported_parameters": [
    "tools",
    "tool_choice",
    "max_tokens",
    "temperature",
    "top_p",
    "stop",
    "frequency_penalty",
    "presence_penalty",
    "seed",
    "structured_outputs",
    "response_format"
  ]
}

Передача провайдер-специфичных параметров

Любые параметры, не указанные в этом списке, также передаются провайдеру как есть. Например, safe_prompt для Mistral или raw_mode для Hyperbolic:

curl https://api.ru-openrouter.ru/v1/chat/completions \
  -H "Authorization: Bearer sk_ваш_api_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral/mistral-large",
    "messages": [{"role": "user", "content": "test"}],
    "safe_prompt": true
  }'