Streaming
Streaming trả về đầu ra theo từng phần thay vì chờ toàn bộ phản hồi. GetRouter hỗ trợ các trường yêu cầu streaming trên endpoint OpenAI Chat Completions và OpenAI Responses khi model và kênh được chọn có hỗ trợ.
OpenAI Chat Completions với cURL
Đặt stream thành true và dùng curl -N để tắt bộ đệm phía client:
OpenAI Chat Completions streaming bằng Server-Sent Events. Các phần văn bản nằm tại:
Luồng thường kết thúc bằng một sự kiện cuối, chẳng hạn như [DONE].
OpenAI Chat Completions với Python
Streaming OpenAI Responses
Streaming OpenAI Responses sử dụng các đối tượng sự kiện OpenAI Responses thay vì các chunk choices[].delta của OpenAI Chat Completions. Hãy phân tích sự kiện theo type, không dùng lại bộ phân tích chỉ dành cho OpenAI Chat Completions.
stream_options
Lược đồ OpenAI Chat Completions chấp nhận stream_options, nhưng khả năng hỗ trợ phụ thuộc vào kênh model được chọn. Nếu một tùy chọn tương thích với dịch vụ thượng nguồn bị từ chối, hãy xóa tùy chọn đó và thử lại chỉ với stream: true.
Gọi công cụ trong khi streaming
Đối số gọi công cụ có thể được gửi qua nhiều chunk. Hãy tích lũy các phần của đối số của lần gọi công cụ theo chỉ mục hoặc ID lần gọi công cụ trước khi phân tích và thực thi toàn bộ đối số.
Xử lý mất kết nối
Kết nối streaming có thể kết thúc trước sự kiện cuối do hết thời gian chờ ở client hoặc proxy, gián đoạn mạng hay lỗi thượng nguồn.
Client của bạn nên:
- Xem phản hồi thiếu sự kiện cuối là chưa hoàn chỉnh
- Giữ lại phần văn bản đã nhận nếu phù hợp
- Tránh tự động retry không kiểm soát các thao tác công cụ không có tính lũy đẳng
- Đặt thời gian chờ đủ dài cho model được chọn
- Ghi nhật ký ID yêu cầu và lỗi nhưng không ghi khóa API
Không tự động chạy lại quy trình agent hoặc công cụ chỉ mới hoàn tất một phần, trừ khi ứng dụng của bạn có thể ngăn các tác dụng phụ trùng lặp.
Khắc phục sự cố
Đầu ra đến cùng một lúc
Client, proxy ngược hoặc phần mềm trung gian có thể đang lưu dữ liệu SSE vào bộ đệm. Hãy kiểm tra trực tiếp bằng curl -N trước khi gỡ lỗi giao diện người dùng.
Kết nối đóng ngay lập tức
Xác minh model hỗ trợ streaming trên endpoint bạn đã chọn. Đồng thời kiểm tra sự kiện lỗi hoặc nội dung phản hồi HTTP trước khi xem đây là lỗi mạng.
Thiếu thông tin sử dụng trong các chunk
Việc báo cáo thông tin sử dụng khi streaming phụ thuộc vào giao thức, tùy chọn yêu cầu và kênh model. Không yêu cầu thông tin sử dụng phải có trong mọi chunk.
