Tool Calling (aka Function Calling) — способ, которым LLM invokes external functions через structured output (обычно JSON). Client передаёт schema tools → LLM decides which to call with what args → client executes → result обратно LLM → LLM synthesizes final answer. Standard в OpenAI, Anthropic, Gemini APIs. Нужно для agents, RAG-on-demand, database queries, external integrations.
Ниже: подробности, пример, смежные термины, FAQ.
Бесплатный онлайн-инструмент — проверка HTTP-заголовков: результат мгновенно, без регистрации.
# OpenAI tool calling
tools = [{
'type': 'function',
'function': {
'name': 'get_weather',
'description': 'Get current weather',
'parameters': {
'type': 'object',
'properties': {'location': {'type': 'string'}},
'required': ['location']
}
}
}]
response = openai.chat.completions.create(
model='gpt-5',
messages=[{'role':'user','content':'Weather в Moscow?'}],
tools=tools
)
# response.choices[0].message.tool_calls → [{name, arguments}]Tool Calling (или Function Calling) в LLM (Large Language Models) — это механизм, позволяющий моделям вызывать внешние функции или инструменты для выполнения специфических задач. Это расширяет возможности LLM, позволяя им взаимодействовать с API, выполнять вычисления или обрабатывать данные вне контекста текстового ввода. Например, при помощи Tool Calling модель может отправить запрос на получение данных о погоде через API, что делает её более полезной и интерактивной.
Tool Calling в LLM реализуется через специальный интерфейс, который позволяет модели формулировать запросы к внешним функциям. Процесс включает несколько этапов:
Для примера, если у вас есть API для получения информации о курсах валют, вы можете использовать Tool Calling для получения актуальных значений. Команда для вызова может выглядеть так:
GET /api/currency?base=USDПри этом LLM формирует запрос на основе текстового ввода пользователя, что делает взаимодействие более естественным.
Tool Calling может быть использован в различных сценариях, включая обработку данных, взаимодействие с пользователями и автоматизацию задач. Рассмотрим несколько примеров:
Для интеграции Tool Calling в вашу систему необходимо настроить окружение и API. Пример конфигурации для Python может выглядеть следующим образом:
import requests
def get_weather(city):
response = requests.get(f'http://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q={city}')
return response.json()Здесь мы создаем функцию, которая отправляет запрос к API погоды, используя переданный город. Это пример того, как Tool Calling может быть реализован для получения данных в реальном времени.
Модели 2026 (GPT-5, Claude Opus 4.7) — 95%+ accuracy на simple tools. Complex tools (nested schemas) — тестируйте.
Model Context Protocol от Anthropic (2024) — standard для exposing tools. Clients (Claude Desktop, Zed IDE) connect к MCP servers (file system, GitHub, Slack, etc).
LLM может вызвать не тот tool или с bad args. Authorization проверяйте на сервере, не trust LLM output. Sandbox tool execution.
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.