Phản hồi dạng luồng
Phản hồi dạng luồng Server-Sent Events (SSE) trả về nội dung AI từng chữ như máy đánh chữ, giúp cải thiện trải nghiệm người dùng. Trang này giới thiệu cách bật phản hồi dạng luồng, phân tích các khối dữ liệu SSE và xử lý kết nối dạng luồng. Phù hợp với các trường hợp như trò chuyện và tạo nội dung.
Tại sao nên dùng phản hồi dạng luồng?
- Mô hình lớn phản hồi chậm, người dùng cần nhận được phản hồi ngay
- Hiệu ứng gõ từng chữ tương tự ChatGPT
- Cải thiện trải nghiệm người dùng
Bật phản hồi dạng luồng
Đặt "stream": true trong yêu cầu
from openai import OpenAI
client = OpenAI(
api_key="sk-xxx",
base_url="https://api.onemux.net/v1"
)
response = client.chat.completions.create(
model="gpt-6.1-sol",
messages=[{"role": "user", "content": "Viết một bài thơ"}],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")Định dạng phản hồi SSE
Phản hồi dạng luồng sử dụng định dạng Server-Sent Events (SSE), mỗi khối dữ liệu bắt đầu bằng data::
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"Bạn"}}]}
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":" khỏe"}}]}
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"!"}}]}
data: [DONE]