Phản hồi dạng luồng
Phản hồi dạng luồng giảm thời gian tới văn bản đầu tiên bằng cách trả Server-Sent Events trong khi mô hình đang tạo nội dung.
curl
bash
# -N tắt bộ đệm đầu ra của curl để từng sự kiện xuất hiện ngay.
curl -N https://sprelaytoken.com/v1/chat/completions \
-H "Authorization: Bearer $SPRELAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"stream": true,
"messages": [
{"role": "user", "content": "Giải thích phản hồi dạng luồng trong ba ý."}
]
}'stream: true nằm trong nội dung JSON. -N là cờ curl và phải nằm ngoài JSON.
Python SDK
python
# SDK phân tích sự kiện SSE; os đọc khóa.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["SPRELAY_API_KEY"],
base_url="https://sprelaytoken.com/v1",
)
# stream=True trả về iterator thay vì một phản hồi hoàn chỉnh.
stream = client.chat.completions.create(
model="gpt-5.6-sol",
stream=True,
messages=[{"role": "user", "content": "Giải thích phản hồi dạng luồng trong ba ý."}],
)
# Xử lý từng sự kiện đã phân tích và bỏ qua sự kiện không có văn bản.
for chunk in stream:
text = chunk.choices[0].delta.content
if text:
# Không tự thêm dòng mới và đẩy đầu ra ngay lập tức.
print(text, end="", flush=True)Một sự kiện có thể chứa vai trò, đoạn công cụ hoặc lý do kết thúc thay vì văn bản. Hãy dùng SDK hoặc bộ phân tích SSE đúng chuẩn, giữ giải mã UTF-8 tăng dần, xử lý lỗi xuất hiện sau HTTP 200 và đóng kết nối khi người dùng hủy. Cấu hình riêng thời gian chờ kết nối, byte đầu tiên, trạng thái không hoạt động và tổng thời gian.
Không phát lại mù quáng các yêu cầu bị gián đoạn có công cụ hoặc tác dụng phụ. Xem Lỗi phản hồi dạng luồng để xử lý bộ đệm và phân tích dữ liệu.
