API Responses поддерживает комплексные возможности вызова инструментов, позволяя моделям вызывать функции, параллельно выполнять инструменты и обрабатывать сложные многоэтапные рабочие процессы.

Базовое определение инструмента

Определите инструменты, используя формат вызова функций OpenAI:

Варианты выбора инструмента

Контролируйте, когда и как вызываются инструменты:

Специальный инструмент Force

Отключить вызов инструмента

Несколько инструментов

Определите несколько инструментов для сложных рабочих процессов:

Параллельные вызовы инструментов

API поддерживает параллельное выполнение нескольких инструментов:

Ответ на вызов инструмента

При вызове инструментов ответ включает информацию о вызове функции:

Ответы инструмента в разговоре

Включите ответы инструмента в последующие запросы:
Необязательное поле ПолеПоля id является необязательным для function_call_output объектов. Только type, call_id, и output обязательны — call_id — это то, что связывает вывод с его источником. function_call. Примеры выше включают в себя id для полноты картины, но вы можете смело его опустить.

Выходные данные мультимодального инструмента

function_call_output.output принимает либо строку, либо массив частей входного содержимого (input_text, input_image, input_file) — та же форма, что и содержимое пользовательских сообщений. Используйте форму массива для возврата изображений или файлов из инструмента; нетекстовые части пересылаются только в поддерживаемые мультимодальные модели.

Вызовы инструментов потоковой передачи

Отслеживайте вызовы инструментов в режиме реального времени с помощью потоковой передачи:

Проверка инструмента

Убедитесь, что вызовы инструментов имеют правильную структуру:
Обязательные поля:
  • type: Всегда “function_call”
  • id: Уникальный идентификатор объекта вызова функции.
  • name: Определение инструмента сопоставления имен функций
  • arguments: Действительная строка JSON с параметрами функции.
  • call_id: Уникальный идентификатор вызова.

Лучшие практики

  1. Четкое описание: предоставьте подробное описание функций и пояснения параметров.
  2. Правильные схемы: используйте действительную схему JSON для параметров.
  3. Обработка ошибок: обработка случаев, когда инструменты не могут быть вызваны.
  4. Параллельное выполнение: создавайте инструменты для независимой работы, когда это возможно.
  5. Поток разговора: включайте ответы инструментов в последующие запросы контекста.

Следующие шаги