Streaming với Function Calls
Bạn đã thấy có bao nhiêu trường hợp sử dụng được mở ra với các LLM hỗ trợ function call, vốn có các kiểu sự kiện riêng. Điều này hữu ích để cung cấp phản hồi theo thời gian thực cho người dùng khi mô hình chuẩn bị gọi một công cụ, hoặc để ghi log theo dõi việc sử dụng công cụ.
Hàm convert_timezone() bạn đã định nghĩa trước đó để chuyển đổi datetime giữa các múi giờ, cùng danh sách tools chứa định nghĩa hàm cho Responses API, đã được cung cấp sẵn cho bạn.
Bài tập này là một phần của khóa học
Làm việc với OpenAI Responses API
Hướng dẫn bài tập
- Hoàn thiện context manager streaming bằng cách gọi
client.responses.create()với model"gpt-5.4-mini",prompt, và danh sáchtools. - Bên trong vòng lặp, kiểm tra các sự kiện
"function_call_arguments.delta". - Thêm điều kiện để kiểm tra sự kiện
"function_call_arguments.done". - Thêm điều kiện cuối để kiểm tra nếu kiểu sự kiện là
"response.completed"và in ra thông báo hoàn tất cuối cùng.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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 ---")