Поддержка tool calling зависит от модели. Проверяйте возможности в каталоге моделей.
Что такое Tool Calling?
Tool Calling (вызов функций) — это механизм, позволяющий модели:- Понять, когда нужно вызвать функцию
- Определить, какую функцию вызвать
- Извлечь параметры из запроса пользователя
- Вернуть структурированный ответ для вызова
Сценарии использования
- Получение данных: Запрос актуальной информации из внешних источников
- Выполнение действий: Отправка email, создание задач, бронирование
- Интеграции: Подключение к CRM, ERP, базам данных
- Вычисления: Сложные расчёты, которые модель не может выполнить
Как это работает
1
Определите функции
Опишите доступные функции с параметрами в формате JSON Schema
2
Отправьте запрос
Передайте описание функций вместе с сообщением пользователя
3
Получите вызов
Модель вернёт название функции и параметры для вызова
4
Выполните функцию
Вызовите функцию в своём коде и верните результат модели
5
Получите финальный ответ
Модель использует результат для формирования ответа пользователю
Пример использования
1. Определение функций
2. Отправка запроса с функциями
3. Обработка вызова и отправка результата
Параметры tool_choice
Параллельные вызовы
Модель может запросить несколько функций одновременно:Советы и лучшие практики
Пишите понятные описания Чем точнее описание функции и параметров, тем лучше модель понимает, когда её использовать. Используйте enum для ограниченных значений Если параметр имеет фиксированный набор значений, используйтеenum для валидации.
Обрабатывайте ошибки
Если функция завершилась с ошибкой, верните понятное описание ошибки модели.
Ограничивайте количество функций
Большое количество функций усложняет выбор для модели. Группируйте связанные операции.