Beberapa endpoint API secara default melakukan streaming respons, seperti /api/generate. Respons ini disediakan dalam format JSON yang dipisahkan oleh baris baru (yaitu tipe konten application/x-ndjson). Contoh:
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"}Menonaktifkan streaming
Streaming dapat dinonaktifkan dengan menyertakan {"stream": false} di dalam body permintaan untuk setiap endpoint yang mendukung streaming. Ini akan menyebabkan respons dikembalikan dalam format application/json sebagai gantinya:
json
{"model":"gemma4","created_at":"2025-10-26T17:15:24.166576Z","response":"That's a fantastic question!","done":true}Kapan menggunakan streaming vs non-streaming
Streaming (default):
- Pembangkitan respons secara real-time
- Latensi yang dirasakan lebih rendah
- Lebih baik untuk generasi yang panjang
Non-streaming:
- Lebih sederhana untuk diproses
- Lebih baik untuk respons pendek, atau output terstruktur
- Lebih mudah ditangani di beberapa aplikasi