Потоковая передача с вызовами функций
Вы уже видели, сколько сценариев открывают LLM с поддержкой вызова функций — у них есть собственные типы событий. Это удобно для отображения обновлений в реальном времени, когда модель готовится вызвать инструмент, а также для логирования и отслеживания использования инструментов.
Функция convert_timezone(), которую вы определили ранее для конвертации дат и времени между часовыми поясами, и список tools с определением функции для Responses API уже заданы для вас.
Это упражнение является частью курса
Работа с Responses API OpenAI
Инструкции к упражнению
- Завершите контекстный менеджер потоковой передачи, вызвав
client.responses.create()с моделью"gpt-5.4-mini", переменнойpromptи спискомtools. - Внутри цикла проверьте наличие событий
"function_call_arguments.delta". - Добавьте условие для проверки событий
"function_call_arguments.done". - Добавьте финальное условие для проверки типа события
"response.completed"и выведите итоговое сообщение о завершении.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
prompt = "What time is 2:30pm on January 20th in New York in Tokyo time?"
# Open the streaming connection and enable tool-calling
with ____ as stream:
for event in stream:
# Filter for function call arguments delta events
if ____:
print(f"\nTool args streaming: {event.delta}")
# Filter for function call arguments complete events
elif ____:
print("Tool call args complete.")
# Filter for response completed events
elif ____:
print("\n--- Completed ---")