Tera Router
Gateway API

Streaming

Perilaku SSE di semua endpoint gateway — passthrough, cross-dialect, heartbeat, dan deadline.

Semua endpoint gateway mendukung stream: true dan menjawab dengan text/event-stream (SSE). Chunk yang mengalir mengikuti format dialek endpoint yang kamu panggil.

Dua jalur streaming

Passthrough — kalau dialek klien dan dialek upstream sama (misal OpenAI ke OpenAI), chunk diteruskan apa adanya tanpa dimodifikasi. Ini jalur tercepat.

Cross-dialect — kalau dialect-nya beda (misal klien Anthropic memanggil model OpenAI), router merender ulang stream ke dialek klien. Klien tidak perlu tahu bedanya.

Di kedua jalur, router tetap mengekstrak data usage (prompt/completion/cached tokens) dari stream untuk metering — cara bacanya aman, tidak menyentuh isi chunk yang kamu terima.

Heartbeat

Sambil menunggu chunk pertama dari upstream, router mengirim komentar SSE setiap 15 detik:

: ping

Ini menjaga koneksi tetap hidup melalui load balancer atau proxy yang suka memutus koneksi senyap.

Deadline

BatasNilai
Request unary (non-streaming)90 detik
Stream (total durasi)3 menit
Stall stream (timeout koneksi)diatur lewat Settings

Stream yang melewati deadline diakhiri rapi sesuai dialeknya. Untuk deadline yang lebih panjang, sesuaikan request_timeout dan stream_stall_timeout di halaman Settings.

Contoh

curl -N http://localhost:8080/v1/chat/completions \
  -H "Authorization: Bearer sk_tr_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "chain:heavy-coding",
    "messages": [{ "role": "user", "content": "Tulis haiku" }],
    "stream": true
  }'

Flag -N mematikan buffering curl supaya chunk tampil seketika.

Di halaman ini