README: qualify the official enable_thinking claim, document sticky inline tags and the string-argument fallback

#90
by gdevenyi - opened

Summary

README-only accuracy fixes, checked against the official templates fetched today.

  1. "Official Qwen 3.8 template throws a fatal exception if enable_thinking=false." True for Qwen/Qwen3.8-2.4T-A95B (its template has raise_exception('Disabling thinking is not supported.')). Not true for Qwen/Qwen3.8-27B: both revisions of its template (72a217af first upload and 412f8b6b current) accept enable_thinking=false and emit the <think>\n\n</think>\n\n prefill. The feature table and the "Why you need this" row now name the 2.4T-A95B template.
  2. Inline tags are sticky. The pre-scan reads every system/developer/user message and the last tag wins, so a <|think_off|> or <|think_xhigh|> in an early message stays in effect for later turns until another tag replaces it. The README called this "Per-Turn". The table row and the inline-tag section now say that tags persist. (If per-turn is the intended behaviour, the scan would need to look at the last user message only; I left the code alone and documented what it does.)
  3. String tool arguments. A serialized JSON-string arguments value is rendered verbatim inside <function=...> with no <parameter> tags (no crash, but not the trained shape; Jinja cannot parse JSON). vLLM converts string arguments to dictionaries before rendering, so it always takes the <parameter> path. One sentence added to the XML format bullet.
Ready to merge
This branch is ready to get merged automatically.

Sign up or log in to comment