Проверяет понимание механизма вызова внешних функций языковой моделью для получения актуальных данных или выполнения действий.
Tool calling (или function calling) — это механизм, при котором языковая модель получает описание доступных функций (их имена, параметры и назначение) и может в процессе генерации ответа решить, что для точного ответа ей нужно вызвать одну из них. Вместо того чтобы выдумывать данные, модель возвращает структурированный JSON-объект с именем функции и аргументами. Само выполнение функции происходит на стороне приложения, а результат передается обратно модели для формирования итогового ответа.
Представьте, что вы создаете чат-бота для погоды. Модель не знает текущую температуру, но вы предоставили ей функцию get_weather(city). Когда пользователь спрашивает «Какая погода в Москве?», модель возвращает вызов функции с аргументом city: "Москва". Ваше приложение выполняет запрос к API погоды и отправляет результат модели, которая уже формулирует ответ для пользователя.
// Пример запроса к API с описанием функции
{
"model": "gpt-4",
"messages": [{"role": "user", "content": "Какая погода в Москве?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Получить текущую погоду в городе",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string"}
},
"required": ["city"]
}
}
}]
}Ответ модели будет содержать поле tool_calls с именем функции и аргументами. Приложение выполняет функцию и отправляет результат обратно в следующем сообщении.
Tool calling — это ключевой механизм для создания полезных агентов на основе LLM. Он позволяет модели не ограничиваться статичными знаниями, а динамически взаимодействовать с внешним миром. Используйте его, когда вашему приложению нужны актуальные данные или выполнение действий, которые модель сама выполнить не может.
Уровень
Рейтинг:
5
Сложность:
5
Навыки
JavaScript
Node.js
Ключевые слова
Подпишись на Node.js Developer в телеграм