Streaming
Streaming adalah sifat dari request Chat Completions, bukan rute tersendiri. Tidak ada endpoint /v1/stream untuk ditemukan: Anda menyalakan "stream": true pada request biasa, dan jawabannya datang sepotong-sepotong alih-alih sebagai satu objek response.
Dengan SDK
SDK OpenAI sudah melakukan hal yang benar, jadi tidak ada tambahan selain base URL dan key:
stream = client.chat.completions.create(
model="ling-3.0-flash-sante",
messages=[{"role": "user", "content": "Hitung sampai lima"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)Di kabelnya
Di bawahnya, respons berupa aliran server-sent events: satu baris data: per potongan, dengan bentuk yang sama seperti yang dipakai OpenAI untuk rute ini. Bila Anda memanggil API dengan httpx atau requests alih-alih SDK, baca body baris per baris dan urai JSON setelah data: — jangan menunggu seluruh respons, karena itulah yang justru dihindari streaming.
Kapan tidak perlu streaming
Streaming membuat jawaban yang lambat terasa cepat; ia tidak membuat kode lebih sederhana. Untuk skrip yang butuh teks utuh sekali jadi, request tanpa streaming punya lebih sedikit bagian yang bergerak dan satu mode kegagalan, bukan dua. Pakai "stream": true saat ada manusia yang menonton keluarannya, atau saat jawabannya cukup panjang sehingga token pertama layak ditampilkan.
Yang dijamin
Kontrak hosted publik mencakup rute Models dan Chat Completions. Jawaban bertahap adalah rute yang sama dengan satu parameter dinyalakan, jadi jaminannya sama — termasuk perilaku error eksplisit bila request atau Model ID-nya salah.
Selanjutnya
- POST /v1/chat/completions — request tempat parameter ini berada.
- Streaming Python — hal yang sama lewat klien Python.