บางจุดสิ้นสุด API จะส่งคืนข้อมูลแบบสตรีมมิ่งเป็นค่าเริ่มต้น เช่น /api/generate การตอบกลับเหล่านี้จะอยู่ในรูปแบบ JSON แยกด้วยบรรทัดใหม่ (คือประเภทเนื้อหา application/x-ndjson) ตัวอย่าง:
json
{"model":"gemma4","created_at":"2025-10-26T17:15:24.097767Z","response":"That","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.109172Z","response":"'","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.121485Z","response":"s","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.132802Z","response":" a","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.143931Z","response":" fantastic","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.155176Z","response":" question","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.166576Z","response":"!","done":true, "done_reason": "stop"}การปิดใช้งานสตรีมมิ่ง
สามารถปิดการใช้งานสตรีมมิ่งได้โดยระบุ {"stream": false} ใน body ของคำขอสำหรับจุดสิ้นสุดใดๆ ที่รองรับการสตรีมมิ่ง การทำเช่นนี้จะทำให้การตอบกลับถูกส่งกลับในรูปแบบ application/json แทน:
json
{"model":"gemma4","created_at":"2025-10-26T17:15:24.166576Z","response":"That's a fantastic question!","done":true}ควรใช้สตรีมมิ่งหรือไม่ใช้สตรีมมิ่งเมื่อไร?
สตรีมมิ่ง (ค่าเริ่มต้น):
- การสร้างการตอบกลับแบบเรียลไทม์
- ความหน่วงที่ผู้ใช้รับรู้ลดลง
- เหมาะสำหรับการสร้างผลลัพธ์ที่มีความยาว
ไม่ใช้สตรีมมิ่ง:
- การประมวลผลง่ายกว่า
- เหมาะสำหรับการตอบกลับสั้น หรือผลลัพธ์ที่มีโครงสร้าง
- เข้าถึงได้ง่ายในบางแอปพลิเคชัน