unsloth/studio/backend
Daniel Han 961720c1b1 studio: handle reasoning_content in GGUF streaming
llama-server sends thinking/reasoning tokens as "reasoning_content"
in the SSE delta (separate from "content"). The studio was only
reading delta.content, so all reasoning tokens from models like
Qwen3.5, Qwen3-Thinking, DeepSeek-R1, etc. were silently dropped.

This caused "replies with nothing" for thinking models: the model
would spend its entire token budget on reasoning, produce zero
content tokens, and the user would see an empty response.

Fix: read reasoning_content from the delta and wrap it in
<think>...</think> tags. The frontend already has full support
for these tags (parse-assistant-content.ts splits them into
reasoning parts, reasoning.tsx renders a collapsible "Thinking..."
indicator).

Verified with Qwen3.5-27B-GGUF (UD-Q4_K_XL):
  - Before: "What is 2+2?" -> empty response (all tokens in reasoning)
  - After: shows collapsible thinking + answer "4"
2026-03-15 05:24:06 -07:00
..
assets Final cleanup 2026-03-12 18:28:04 +00:00
auth fix: remove old comments (#4292) 2026-03-14 16:50:13 +04:00
core studio: handle reasoning_content in GGUF streaming 2026-03-15 05:24:06 -07:00
loggers Final cleanup 2026-03-12 18:28:04 +00:00
models miscallenous studio (#4293) 2026-03-15 14:42:11 +04:00
plugins Final cleanup 2026-03-12 18:28:04 +00:00
requirements fix: remove old comments (#4292) 2026-03-14 16:50:13 +04:00
routes Fix: Compare Mode Deadlock, Cancel Event Poisoning & IPC Optimization (#4303) 2026-03-15 16:11:44 +04:00
state Final cleanup 2026-03-12 18:28:04 +00:00
tests fix(seed): disable remote code execution in seed inspect dataset loads (#4275) 2026-03-13 19:37:43 +04:00
utils fix: prevent ai-assist model config RCE via untrusted Hugging Face repos (#4274) 2026-03-13 19:29:11 +04:00
__init__.py Final cleanup 2026-03-12 18:28:04 +00:00
colab.py Final cleanup 2026-03-12 18:28:04 +00:00
main.py fix: remove old comments (#4292) 2026-03-14 16:50:13 +04:00
run.py Final cleanup 2026-03-12 18:28:04 +00:00