Облачная платформаEvolution

Параметры API-запросов к AI-моделям

Эта статья полезна?

При вызове

через API доступны параметры для настройки поведения генерации. Но не все параметры поддерживаются всеми моделями. Конкретная совместимость зависит от выбранной модели и ее реализации.

При использовании новых параметров рекомендуется тестировать их работу с конкретной моделью.

Ниже представлены основные параметры, которые можно использовать в запросах к моделям:

Параметры для API-запросов

Тип

Параметр

Формат

Описание

Управление выводом

stream

boolean

Включает потоковую передачу ответов, позволяя получать токены по мере их генерации для улучшения пользовательского опыта.

stop

array

Токены или последовательности, при обнаружении которых генерация прекращается. Используется для структурированного вывода.

stop_sequences

array

Альтернативное название параметра stop в некоторых API.

timeout

int

Время ожидания ответа в секундах.

response_format

object

Определяет формат ответа.

Интеграция

functions

array

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

tools

array

Список инструментов, доступных модели.

Совместимость с OpenAI

chat_template_kwargs

object

Параметры для настройки поведения моделей, совместимых с OpenAI API. Включает enable_thinking.

extra_body

object

Дополнительные параметры запроса, передаваемые напрямую в API модели.

Генерация

temperature

float

Контролирует случайность в генерации ответов. 0.0 - 0.3 — точные ответы; 0.4 - 0.7 — умеренная креативность; 0.7 - 1.0+ — высокая креативность, творческие ответы.

max_tokens

int

Максимальное количество токенов в ответе модели. Используется для ограничения длины генерируемого текста и контроля затрат.

top_p

float

Ядровый сэмплинг (nucleus sampling). Определяет долю наиболее вероятных токенов, из которых будет выбран следующий токен. Рекомендуемые значения: 0.8 - 0.95.

top_k

int

Ограничивает количество вариантов токенов при генерации. Альтернатива top_p для более строгого контроля словаря.

seed

int

Устанавливает воспроизводимость результатов генерации при одинаковых параметрах.

logit_bias

object

Корректирует логит-вероятности для конкретных токенов. Положительные значения увеличивают вероятность токена, отрицательные — уменьшают.

max_completion_tokens

int

Точное ограничение только на токены ответов, не включая входной промпт.

Диалог

messages

array

История диалога для контекста. Содержит объекты с полями: role (user, assistant, system) и content (текст сообщения).

system

string

Системные инструкции, которые определяют роль и поведение модели на протяжении всей сессии.

Предотвращение повторений

frequency_penalty

float

Уменьшает вероятность повторения токенов в зависимости от их частоты в уже сгенерированном тексте. Диапазон: -2.0 - 2.0.

presence_penalty

float

Поощряет введение новых токенов и концепций, предотвращая повторение уже упомянутых идей. Диапазон: -2.0 - 2.0.

Поддержка рассуждений

enable_thinking

boolean

Включает режим рассуждений (thinking mode) для моделей, которые поддерживают показ процесса мышления перед генерацией финального ответа. Когда enable_thinking: true, модель сначала генерирует свои рассуждения (thinking process), а затем дает финальный ответ.

Примеры использования

Пример API-запроса с параметром поддержки рассуждений enable_thinking:

import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
API_BASE_URL = os.getenv("fm_base")
API_TOKEN = os.getenv("fm_token")
MODEL = "zai-org/GLM-4.6"
client = OpenAI(
base_url=<api_base_url>,
api_key=<api_token>,
)
response = client.chat.completions.create(
model=<name_model>,
messages=[
{
"role": "user",
"content": "Реши задачу: В саду растет 25 деревьев. Яблонь 12, груш на 5 меньше, остальные - вишни. Сколько вишневых деревьев?"
}
],
extra_body={"chat_template_kwargs": {"enable_thinking": True}},
)
print(response)

Где:

  • fm_base — переменная окружения, которая содержит базовый URL для API ML Inference.

  • fm_token — переменная окружения, которая содержит API-токен для доступа к ML Inference.

  • api_base_url — базовый URL для API ML Inference.

  • api_token — API-токен для доступа к ML Inference.

Пример API-запроса для диалога:

import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
API_BASE_URL = os.getenv("fm_base")
API_TOKEN = os.getenv("fm_token")
MODEL = "zai-org/GLM-4.6"
client = OpenAI(
base_url=<api_base_url>,
api_key=<api_token>,
)
response = client.chat.completions.create(
model=MODEL,
messages=[
{"role": "user", "content": "Объясни машинное обучение простыми словами"}
],
temperature=0.7,
max_tokens=1000,
stream=False
)
print(response)

Где:

  • fm_base — переменная окружения, которая содержит базовый URL для API ML Inference.

  • fm_token — переменная окружения, которая содержит API-токен для доступа к ML Inference.

  • api_base_url — базовый URL для API ML Inference.

  • api_token — API-токен для доступа к ML Inference.

Пример API-запроса с креативной генерацией:

import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
API_BASE_URL = os.getenv("fm_base")
API_TOKEN = os.getenv("fm_token")
MODEL = "zai-org/GLM-4.6"
client = OpenAI(
base_url=<api_base_url>,
api_key=<api_token>,
)
response = client.chat.completions.create(
model=MODEL,
messages=[
{"role": "user", "content": "Напиши короткую историю о роботе"}
],
temperature=0.9,
top_p=0.95,
frequency_penalty=0.8,
presence_penalty=0.6,
max_tokens=800
)
print(response)

Где:

  • fm_base — переменная окружения, которая содержит базовый URL для API ML Inference.

  • fm_token — переменная окружения, которая содержит API-токен для доступа к ML Inference.

  • api_base_url — базовый URL для API ML Inference.

  • api_token — API-токен для доступа к ML Inference.

Рекомендации по использованию

Для точных ответов:

  • temperature: 0.1 - 0.3

  • top_p: 0.5 - 0.8

  • frequency_penalty: 0.0

  • presence_penalty: 0.0

Для творческих задач:

  • temperature: 0.8 - 1.0

  • top_p: 0.9 - 0.95

  • frequency_penalty: 0.5 - 0.8

  • presence_penalty: 0.3 - 0.6

Для диалогов:

  • temperature: 0.6 - 0.8

  • stream: true (для улучшения UX)

  • presence_penalty: 0.2 - 0.4

Для задач с рассуждениями:

  • enable_thinking: true

  • temperature: 0.2 - 0.5 (для точного анализа)