Bỏ qua nội dung
Trang chính Tin tức Bảng điều khiển

Đầu ra streaming

Khi đặt "stream": true trong yêu cầu, phản hồi sẽ được trả về theo từng phần bằng Server-Sent Events(SSE), phù hợp cho hiệu ứng gõ máy trong giao diện trò chuyện và các trường hợp phản hồi dài.

Yêu cầu

Terminal window
curl https://api.4allapi.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AIPROXY_KEY" \
-d '{
"model": "gpt-5.6",
"messages": [{"role": "user", "content": "Viết một bài thơ ngắn về bầu trời sao"}],
"stream": true,
"stream_options": {"include_usage": true}
}'

Luồng phản hồi

Mỗi sự kiện là một dòng JSON có tiền tố data: , nội dung tăng dần nằm trong choices[0].delta.content; khi kết thúc luồng sẽ gửi data: [DONE]:

data: {"choices":[{"delta":{"content":"夜"}}], ...}
data: {"choices":[{"delta":{"content":"空"}}], ...}
...
data: {"choices":[],"usage":{"prompt_tokens":18,"completion_tokens":56,"total_tokens":74}}
data: [DONE]

Ví dụ SDK(Python)

stream = client.chat.completions.create(
model="gpt-5.6",
messages=[{"role": "user", "content": "Viết một bài thơ ngắn về bầu trời sao"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content if chunk.choices else None
if delta:
print(delta, end="", flush=True)

Lưu ý

  • Nên đặt thời gian chờ đọc cho kết nối streaming từ 60 giây trở lên; với các mô hình suy luận có phản hồi dài có thể tăng thêm;
  • Sau khi client ngắt kết nối, phần đã được tạo ra vẫn sẽ được tính phí theo mức sử dụng thực tế;
  • Khi proxy/gateway chuyển tiếp, cần tắt bộ đệm phản hồi (như proxy_buffering off của nginx), nếu không sẽ mất hiệu ứng streaming.