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