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