สตรีมการตอบกลับแชท
อ่าน ShareAI chat-completions server-sent events, เพิ่มเนื้อหา delta ครั้งเดียว และจัดการกับการทำงานให้เสร็จสมบูรณ์ ข้อผิดพลาด และ stream ที่ถูกขัดจังหวะ.
ในหน้านี้
ตั้งค่า stream: true เพื่อรับการตอบกลับทีละส่วน รักษาการเชื่อมต่อ HTTP ให้เปิดอยู่ วิเคราะห์ SSE events ที่สมบูรณ์ และเพิ่มแต่ละ content delta ครั้งเดียว.
https://api.shareai.now/api/v1/chat/completionsส่ง stream ของ server-sent event กลับมา.
- Base URL → URL พื้นฐาน
https://api.shareai.now- การตรวจสอบสิทธิ์
- Bearer API key หรือโทเค็นการเข้าถึง OAuth ที่ได้รับการอนุมัติ
cURL
curl --no-buffer --fail-with-body https://api.shareai.now/api/v1/chat/completions \
-H "Authorization: Bearer $SHAREAI_API_KEY" \
-H "Content-Type: application/json" \
--data '{"model":"MODEL_IDENTIFIER","messages":[{"role":"user","content":"Explain server-sent events briefly."}],"stream":true}'
อ่านขอบเขตของ event#
SSE แยก events ด้วยบรรทัดว่าง Network chunks อาจแยกค่า JSON หรือมีหลาย events ดังนั้นอย่าวิเคราะห์การอ่านเครือข่ายแต่ละครั้งเป็นการตอบกลับ JSON ที่สมบูรณ์ ถอดรหัส UTF-8 ทีละส่วนและเก็บข้อมูลที่ไม่สมบูรณ์ไว้จนกว่า event จะสมบูรณ์.
Plain text
data: {"object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Hello"},"finish_reason":null}]}
data: {"object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
แสดงเนื้อหาเพียงครั้งเดียว#
เพิ่ม choices[0].delta.content เมื่อมีอยู่ รักษาช่องว่างและคำที่ซ้ำกัน Chunk ที่มีเฉพาะ role หรือ chunk สุดท้ายอาจไม่มีเนื้อหา ให้ถือว่า [DONE] เป็น stream terminator.
จัดการข้อผิดพลาดของ stream#
ตรวจสอบ HTTP status ก่อนเข้าสู่ SSE parser หลังจากเริ่ม streaming ให้จัดการกับ event: error event และการตัดการเชื่อมต่อที่ไม่คาดคิด ทำเครื่องหมายคำตอบที่ถูกขัดจังหวะว่าไม่สมบูรณ์และให้ผู้ใช้ลองใหม่อย่างชัดเจน อย่าเพิ่มคำตอบที่สร้างขึ้นใหม่อย่างอิสระเป็นครั้งที่สองในผลลัพธ์บางส่วน.
ยกเลิกจากแอปพลิเคชันของคุณ#
ใช้กลไกการยกเลิกของ HTTP client ของคุณเมื่อผู้ใช้หยุดการสร้างคำตอบ รักษาสถานะ UI แยกกันสำหรับการยกเลิก, ความล้มเหลวของเครือข่าย และคำตอบที่เสร็จสมบูรณ์ อย่าสัญญาว่าการปิดการเชื่อมต่อ client จะย้อนกลับการใช้งานที่ประมวลผลไปแล้ว.
อัปเดตล่าสุด กันยายน 15, 2026