Streaming với Function Calls
Bạn đã thấy có rất nhiều trường hợp sử dụng được mở khóa với LLM hỗ trợ gọi hàm, 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 đang 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ờ, và một danh sách tools chứa định nghĩa hàm cho Responses API đã được chuẩn bị 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-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 các 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 ---")