Skip to content
EN

Tool Calling в LLM

Коротко:

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.

Проверить свой сайт →

Подробности

  • Tool schema: name, description, JSON Schema для args
  • LLM возвращает structured output { "tool": "name", "args": {...} }
  • Client executes tool → returns result to LLM
  • Parallel tool calls: LLM может invoke multiple tools одновременно (OpenAI 2023+)
  • Model Context Protocol (MCP) — Anthropic's 2024 spec для tools standardization

Пример

# 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 в LLM?

Tool Calling (или Function Calling) в LLM (Large Language Models) — это механизм, позволяющий моделям вызывать внешние функции или инструменты для выполнения специфических задач. Это расширяет возможности LLM, позволяя им взаимодействовать с API, выполнять вычисления или обрабатывать данные вне контекста текстового ввода. Например, при помощи Tool Calling модель может отправить запрос на получение данных о погоде через API, что делает её более полезной и интерактивной.

Как работает Tool Calling в LLM?

Tool Calling в LLM реализуется через специальный интерфейс, который позволяет модели формулировать запросы к внешним функциям. Процесс включает несколько этапов:

  1. Определение функции: Модель должна знать, какие функции доступны для вызова. Это может быть реализовано через специальный словарь функций или API.
  2. Формирование запроса: После выбора функции модель генерирует запрос с необходимыми параметрами. Например, для вызова функции, возвращающей информацию о погоде, нужно указать местоположение.
  3. Выполнение функции: Запрос отправляется на выполнение, и результат возвращается в модель.
  4. Обработка результата: Модель получает данные и может использовать их для генерации ответа или выполнения дальнейших действий.

Для примера, если у вас есть API для получения информации о курсах валют, вы можете использовать Tool Calling для получения актуальных значений. Команда для вызова может выглядеть так:

GET /api/currency?base=USD

При этом LLM формирует запрос на основе текстового ввода пользователя, что делает взаимодействие более естественным.

Примеры применения Tool Calling в LLM

Tool Calling может быть использован в различных сценариях, включая обработку данных, взаимодействие с пользователями и автоматизацию задач. Рассмотрим несколько примеров:

  • Чат-боты: Модели могут вызывать функции для обработки запросов пользователей, например, проверки наличия товара на складе или получения информации о доставке.
  • Интеграция с сервисами: Модели могут взаимодействовать с внешними API, чтобы предоставлять пользователям актуальную информацию, например, о погоде или новостях.
  • Автоматизация процессов: LLM могут вызывать функции для выполнения рутинных задач, таких как отправка электронной почты или обновление баз данных.

Для интеграции 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 может быть реализован для получения данных в реальном времени.

Больше по теме

Часто задаваемые вопросы

Tool calling reliable?

Модели 2026 (GPT-5, Claude Opus 4.7) — 95%+ accuracy на simple tools. Complex tools (nested schemas) — тестируйте.

MCP — что?

Model Context Protocol от Anthropic (2024) — standard для exposing tools. Clients (Claude Desktop, Zed IDE) connect к MCP servers (file system, GitHub, Slack, etc).

Security?

LLM может вызвать не тот tool или с bad args. Authorization проверяйте на сервере, не trust LLM output. Sandbox tool execution.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.