Детализированная потоковая передача инструментов
Детализированная потоковая передача инструментов
Использование инструментов теперь поддерживает детализированную потоковую передачу для значений параметров. Это позволяет разработчикам передавать параметры использования инструментов в потоковом режиме без буферизации / валидации JSON, снижая задержку для начала получения больших параметров.
Детализированная потоковая передача инструментов является бета-функцией. Пожалуйста, убедитесь, что вы оцениваете свои ответы перед использованием в продакшене.
Пожалуйста, используйте эту форму для предоставления обратной связи о качестве ответов модели, самом API или качестве документации — мы не можем дождаться, чтобы услышать от вас!
При использовании детализированной потоковой передачи инструментов вы можете потенциально получать недействительные или частичные JSON-входы. Пожалуйста, убедитесь, что вы учитываете эти крайние случаи в своем коде.
Как использовать детализированную потоковую передачу инструментов
Чтобы использовать эту бета-функцию, просто добавьте бета-заголовок fine-grained-tool-streaming-2025-05-14
к запросу использования инструмента и включите потоковую передачу.
Вот пример того, как использовать детализированную потоковую передачу инструментов с API:
В этом примере детализированная потоковая передача инструментов позволяет Claude передавать строки длинного стихотворения в вызов инструмента make_file
без буферизации для проверки того, является ли параметр lines_of_text
действительным JSON. Это означает, что вы можете видеть поток параметров по мере его поступления, не дожидаясь буферизации и валидации всего параметра.
С детализированной потоковой передачей инструментов фрагменты использования инструментов начинают передаваться быстрее и часто бывают длиннее и содержат меньше разрывов слов. Это связано с различиями в поведении фрагментации.
Пример:
Без детализированной потоковой передачи (задержка 15с):
С детализированной потоковой передачей (задержка 3с):
Поскольку детализированная потоковая передача отправляет параметры без буферизации или валидации JSON, нет гарантии, что результирующий поток завершится в действительной JSON-строке.
В частности, если достигается причина остановки max_tokens
, поток может завершиться посередине параметра и может быть неполным. Вам обычно придется написать специальную поддержку для обработки случаев, когда достигается max_tokens
.