You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
qwen3 whitespace around </think> differs between streaming and non-streaming #88
Non-streaming strips content after </think> at both ends, and strips reasoning at both ends. Streaming emits the "\n\n" that follows </think> as a content delta, and emits the newline before </think> as reasoning whenever that newline arrives as its own token. So joined streamed content is "\n\nAnswer" where non-streaming returns "Answer".
Fixed on 5080deploy by 362719c (merged in 1542d52); stream/non-stream parity tests are in tests/server/test_streaming_model_matrix.py.
Seen live on the previous deploy (8eb353b): with thinking on, every streamed answer and tool-call turn starts with a "\n\n" content delta that the non-streaming response does not have (3 of 3 thinking-on turns in a greedy stream-vs-non-stream check).
Activity
gdevenyi commentedon Oct 16, 2026
Upstream: FlashML-org#712