Skip to main content
Tool Calling позволяет AI моделям вызывать определённые вами функции для получения данных или выполнения действий.
Поддержка tool calling зависит от модели. Проверяйте возможности в каталоге моделей.

Что такое Tool Calling?

Tool Calling (вызов функций) — это механизм, позволяющий модели:
  1. Понять, когда нужно вызвать функцию
  2. Определить, какую функцию вызвать
  3. Извлечь параметры из запроса пользователя
  4. Вернуть структурированный ответ для вызова

Сценарии использования

Получение данных

Запрос актуальной информации из внешних источников

Выполнение действий

Отправка email, создание задач, бронирование

Интеграции

Подключение к CRM, ERP, базам данных

Вычисления

Сложные расчёты, которые модель не может выполнить

Как это работает

1

Определите функции

Опишите доступные функции с параметрами в формате JSON Schema
2

Отправьте запрос

Передайте описание функций вместе с сообщением пользователя
3

Получите вызов

Модель вернёт название функции и параметры для вызова
4

Выполните функцию

Вызовите функцию в своём коде и верните результат модели
5

Получите финальный ответ

Модель использует результат для формирования ответа пользователю

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

1. Определение функций

2. Отправка запроса с функциями

3. Обработка вызова и отправка результата

Параметры tool_choice

Параллельные вызовы

Модель может запросить несколько функций одновременно:
Обрабатывайте все вызовы и возвращайте результаты для каждого tool_call_id.

Советы и лучшие практики

Чем точнее описание функции и параметров, тем лучше модель понимает, когда её использовать.
Если параметр имеет фиксированный набор значений, используйте enum для валидации.
Если функция завершилась с ошибкой, верните понятное описание ошибки модели.
Большое количество функций усложняет выбор для модели. Группируйте связанные операции.

Следующие шаги

Плагины

Готовые интеграции с сервисами

Структурный вывод

Получение структурированных данных

Responses API

Tool calling в формате Responses API — function_call и function_call_output