Режимы работы с функциями
Обновлено 19 ноября 2025
Режим обращения к функциям задается с помощью поля function_call. Поле может принимать значения none, auto или объект с названием функции: встроенной или пользовательской, описанной в массиве functions.
Обращение к встроенным функциям возможно только в авторежиме.

Режимы обращения к функциям
Режим обращения к функциям задается с помощью поля function_call, который может принимать значения:
none— отключение обращения к функциям;auto— в авторежиме модель, ориентируясь на содержание сообщений, принимает решение: воспользоваться одной из встроенных функций или сгенерировать аргументы для пользовательских функций из массиваfunctions. При этом, если массив содержит описание хотя бы одной пользовательской функции, модель сможет ее вызвать только если ее название передано в массивеfunctions;{"name": "название_функции"}— принудительная генерация аргументов для указанной функции. При принудительной генерации аргументов для пользовательской функции ее описание нужно обязательно передавать в массивеfunctions. В противном случае вернется ошибка.

Отключение работы с функциями
Если вы хоти те, чтобы модель не могла генерировать аргументы или обращаться к встроенным функциям, передайте в запросе "function_call": "none".
В этом случае модель просто сгенерирует текст на основе полученного запроса.
Независимо от его содержимого или функций, переданных в массиве functions.
Запрос
{
"model": "GigaChat-2-Max",
"messages": [
{
"role": "user",
"content": "Какая температура в Манжероке"
}
],
"function_call": "none",
"functions": [
{
"name": "weather_forecast",
"description": "Возвращает температуру на заданный период",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Местоположение, например, название города"
},
"format": {
"type": "string",
"enum": [
"celsius",
"fahrenheit"
],
"description": "Единицы измерения температуры"
},
"num_days": {
"type": "integer",
"description": "Период, для которого нужно вернуть"
}
},
"required": [
"location",
"num_days"
]
},
"return_parameters": {
"type": "object",
"properties": {
"status": {
"description": "Статус",
"enum": [
"success",
"fail"
],
"type": "string"
},
"location": {
"type": "string",
"description": "Местоположение, например, название города"
},
"temperature": {
"type": "integer",
"description": "Температура для заданного местоположения"
},
"forecast": {
"type": "array",
"items": {
"type": "string"
},
"description": "Описание погодных условий"
},
"error": {
"type": "string",
"description": "Возвращается при возникновении ошибки. Содержит описание ошибки"
}
}
}
}
]
}