Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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ách tools.
  • 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 ---")
Chỉnh sửa và Chạy Mã