The answer ends mid-word with no exceptionNo [DONE] marker in the raw streamWorks on short answers, fails on long oneschunked encoding ended prematurely / IncompleteReadRetrying produces a different cut-off point each timeStream'li yanıtlar, ilk bayt çıktığı anda 200 OK'e bağlanır. Sonrası gövdedir. Bağlantı 1200 token'ın 900'üncüsünde koparsa istemci zaten başarılı bir durum satırı görmüştür ve stream'in kendi bitiş işaretini kontrol etmiyorsa hata vermez.
Hatanın rastgele hissettirmesinin sebebi bu. Kısa cevaplar, en zayıf halkanın izin verdiği pencere içinde biter; uzunlar bitmez. Kesilme noktası değişir, çünkü içeriğe değil zamanlamaya bağlıdır.
Genellikle sebep proxy'lerin boşta kalma zaman aşımlarıdır ve bunlar reasoning modelleriyle kötü etkileşir: Uzun bir düşünme aşamasında hiç token gönderilmez, bu yüzden toplam süre yerine sessizliği ölçen bir ara katman, model hâlâ düşünürken bağlantının öldüğüne karar verebilir.
SDK'nın ayrıştırılmış nesnesi yerine ham stream'i okuyun ve sonuna bakın:
curl -N -s 'YOUR_BASE_URL/chat/completions' \
-H 'Authorization: Bearer YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{"model":"YOUR_MODEL","stream":true,
"messages":[{"role":"user","content":"Count slowly from 1 to 400."}]}' \
| tail -5
Tamamlanmış bir stream, "finish_reason":"stop" içeren bir parça ve ardından data: [DONE] ile biter. Son satır sıradan bir içerik parçasıysa stream kesilmiştir.
[DONE] ya da boş olmayan finish_reason içeren bir parça görüp görmediğinizi takip edin. İkisi de yoksa sonucu kısa değil başarısız sayın. Sorunu görünür kılan tek değişiklik budur.finish_reason ve [DONE] tam olarak sağlayıcının gönderdiği gibi gelir. Her istemcinin kurulumu hızlı başlangıç sayfasında.Son kontrol: 2026-10-01. Canlı bir OpenAI uyumlu ağ geçidinde teşhis edilen sorunlardan yazılmıştır, başka sitelerden derlenmemiştir.