Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Function Calling (Tool Use)

Вызов функций, или использование инструментов, позволяет языковой модели запросить внешнюю функцию с аргументами в формате JSON. Приложение выполняет запрос и возвращает результат.

Вызов функций, также называемый вызовом инструментов или использованием инструментов, — это способность большой языковой модели (LLM) отвечать запросом на выполнение внешней функции, а не обычным текстом. Приложение описывает каждый доступный инструмент: указывает его название, назначение и JSON Schema аргументов. Если для запроса нужны актуальные данные или действие, модель отвечает названием инструмента и аргументами в формате JSON, приложение выполняет функцию, после чего модель формирует ответ на основе результата. Сама модель ничего не выполняет. В феврале 2023 года Toolformer от Meta показал, что модель может научиться вставлять вызовы API в собственный текст, а 13 июня 2023 года OpenAI добавила вызов функций в свой API, дообучив модели определять, когда нужна функция, и форматировать аргументы в соответствии с её сигнатурой. Сейчас эту возможность поддерживают все крупные поставщики моделей, а открытые модели осваивают её благодаря настройке по инструкциям и шаблонам чата.

Как работает вызов функций#

Вызов инструмента — это обмен данными между моделью и приложением, который повторяется, пока модели не станет достаточно информации:

Приведённый ниже код воспроизводит обе стороны одного обмена в формате руководства OpenAI по вызову функций. Ответ модели записан заранее, поэтому код работает без API-ключа:

import json

from jsonschema import validate

# Определение инструмента, отправленное вместе с запросом: имя, назначение и JSON Schema аргументов
tool = {
    "type": "function",
    "name": "get_order_status",
    "description": "Look up the shipping status of an order by its number.",
    "parameters": {
        "type": "object",
        "properties": {"order_id": {"type": "string", "pattern": "^[0-9]+$"}},
        "required": ["order_id"],
    },
}

# Модель возвращает вызов функции, аргументы которого приходят в виде строки JSON
call = {"type": "function_call", "call_id": "call_1", "name": "get_order_status", "arguments": '{"order_id": "4417"}'}
args = json.loads(call["arguments"])
validate(args, tool["parameters"])  # Вызывает ошибку до начала выполнения, если аргументы не соответствуют схеме

# Приложение выполняет собственную функцию и возвращает результат с тем же call_id
orders = {"4417": "Shipped, arriving Thursday"}
print({"type": "function_call_output", "call_id": call["call_id"], "output": orders[args["order_id"]]})

Он выводит {'type': 'function_call_output', 'call_id': 'call_1', 'output': 'Shipped, arriving Thursday'} — элемент, который приложение добавляет в диалог перед повторным вызовом модели. Если установить для инструмента "strict": true, API применит декодирование с ограничениями, поэтому сгенерированные моделью аргументы всегда будут соответствовать схеме.

Выбор инструментов и их объединение в цепочки#

За один ход модели могут выдать несколько независимых вызовов, например одновременно проверить два заказа, а приложение может принудительно выбрать конкретный инструмент, потребовать использовать какой-либо инструмент или запретить инструменты на один ход. Объединение вызовов в цепочку между ходами, когда результат каждого вызова определяет следующий, образует цикл, который превращает модель в ИИ-агента, работающего внутри среды для запуска агентов. Berkeley Function Calling Leaderboard оценивает эти навыки: выбор подходящей функции, заполнение её аргументов, параллельные вызовы и вызовы в несколько ходов, а также отказ от вызова, если ни один инструмент не подходит. Поскольку результаты работы инструментов возвращаются модели на вход, веб-страница или документ, полученные с помощью инструмента, могут содержать инъекцию промпта. Поэтому приложения предоставляют инструментам только необходимые минимальные права и запрашивают подтверждение человека перед покупками, удалениями или отправкой сообщений.

Модели компьютерного зрения отлично подходят на роль инструментов, поскольку их выходные данные уже структурированы. В Ultralytics YOLO Results.summary() возвращает для каждого объекта, обнаруженного моделью YOLO26, словарь с названием и индексом класса, уверенностью и координатами рамки. Список таких словарей json.dumps напрямую превращает в результат работы инструмента, поэтому чат-модель или визуально-языковая модель (VLM) может подсчитывать и находить объекты на фотографии, вызывая режим predict.

  • Агенты для управления компьютером: Управляют программами с помощью снимков экрана, щелчков и нажатий клавиш, что позволяет работать с приложениями без API. Если API доступен, вызов функции позволяет получить тот же результат одним структурированным запросом.
  • Структурированные выходные данные: Ограничивают итоговый ответ модели схемой, например при извлечении полей из счёта. При вызове функции используются те же схемы, чтобы запросить действие и получить результат.
  • Генерация с дополнением на основе поиска (RAG): Добавляет найденные документы в промпт. Поисковый инструмент может реализовать RAG, а агентный RAG позволяет модели решать, когда и что искать.
  • Протокол контекста модели (MCP): Открытый протокол, представленный Anthropic в ноябре 2024 года. С его помощью приложения обнаруживают инструменты, предоставляемые внешними программами. Модель по-прежнему вызывает инструмент MCP посредством вызова функции.

Explore solutions

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Преобразуй изображения с дронов и других воздушных платформ в аналитические данные в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Используй модели Ultralytics YOLO для мониторинга с воздуха с помощью ИИ для компьютерного зрения. Применяй решения компьютерного зрения для дронов, аэрокосмических рабочих процессов, охраны окружающей среды и геопространственных отраслей.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее
Компьютерное зрение в спорте
Компьютерное зрение в спорте
Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки
Компьютерное зрение для аэросъёмки
Преобразуй изображения с дронов и других воздушных платформ в аналитические данные в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли
Компьютерное зрение в аэрокосмической отрасли
Используй модели Ultralytics YOLO для мониторинга с воздуха с помощью ИИ для компьютерного зрения. Применяй решения компьютерного зрения для дронов, аэрокосмических рабочих процессов, охраны окружающей среды и геопространственных отраслей.
Подробнее
Компьютерное зрение в сфере безопасности
Компьютерное зрение в сфере безопасности
Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике
Компьютерное зрение в робототехнике
Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике
Компьютерное зрение в логистике
Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле
Компьютерное зрение в розничной торговле
Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении
Компьютерное зрение в здравоохранении
Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве
Компьютерное зрение в производстве
Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли
Компьютерное зрение в автомобильной отрасли
Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве
Компьютерное зрение в сельском хозяйстве
Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее
Компьютерное зрение в спорте
Компьютерное зрение в спорте
Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки
Компьютерное зрение для аэросъёмки
Преобразуй изображения с дронов и других воздушных платформ в аналитические данные в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли
Компьютерное зрение в аэрокосмической отрасли
Используй модели Ultralytics YOLO для мониторинга с воздуха с помощью ИИ для компьютерного зрения. Применяй решения компьютерного зрения для дронов, аэрокосмических рабочих процессов, охраны окружающей среды и геопространственных отраслей.
Подробнее
Компьютерное зрение в сфере безопасности
Компьютерное зрение в сфере безопасности
Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике
Компьютерное зрение в робототехнике
Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике
Компьютерное зрение в логистике
Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле
Компьютерное зрение в розничной торговле
Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении
Компьютерное зрение в здравоохранении
Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве
Компьютерное зрение в производстве
Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли
Компьютерное зрение в автомобильной отрасли
Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве
Компьютерное зрение в сельском хозяйстве
Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения