Streaming
Jawaban bertahap lewat server-sent events, dan apa yang terjadi bila penyedia gagal di tengah jalan.
Kirim "stream": true di ketiga endpoint untuk menerima jawaban sebagai server-sent events.
stream = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Halo"}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="")
Perilaku
- Gateway meneruskan tiap bagian segera setelah tiba dari penyedia, tanpa menahannya.
- Di
/v1/chat/completions,stream_options.include_usagemembuat bagian terakhir membawausage. Aktifkan bila Anda ingin menghitung pemakaian sendiri. - Tagihan tetap dihitung dari pemakaian yang sebenarnya, apakah
include_usagedikirim atau tidak. - Bila bagian pertama dari penyedia terlambat dan belum ada byte yang terkirim ke Anda, gateway membatalkan percobaan itu dan mencoba penyedia lain. Setelah byte pertama terkirim, tidak ada pindah penyedia.
- Bila penyedia menutup stream tanpa tanda selesai dan tanpa angka pemakaian, stream berakhir. Output ditagih sebesar teks yang sudah diterima, dan input ditagih dengan harga baca-cache. Aturan ini sama di
/v1/chat/completions,/v1/messages, dan/v1/responses. - Bila koneksi Anda terputus, gateway tetap membaca jawaban penyedia sampai 60 detik supaya tagihan memakai pemakaian sebenarnya.
- Bila semua penyedia gagal sebelum ada byte yang terkirim, Anda menerima
upstream_unavailable(503) atauupstream_timeout(504).
Waktu token pertama dan kecepatan token per detik tiap request tampil di halaman Pemakaian.