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

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

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