Instructions to use froggeric/Qwen-Fixed-Chat-Templates with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use froggeric/Qwen-Fixed-Chat-Templates with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir Qwen-Fixed-Chat-Templates froggeric/Qwen-Fixed-Chat-Templates
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
v22.3 release notes
Hey everyone,
Version 22.3 is live!
Huge thanks to Juan Calderon-Perez (@g-a-b-y ) for their massive contributions to this release, including the two-tier error signal architecture, test suite expansion, and the new property-based fuzzer.
What is new in v22.3:
- Two-tier tool error detection: Error detection is now split into strong and weak signal tiers. Structural error markers (like stack traces and uncaught exceptions) now trigger warnings regardless of payload length. Previous length limits and command-echo exclusions that suppressed long tracebacks have been fixed, while clean exit codes (
Exit code: 0) and JSON success payloads ("error": null) are explicitly excluded. - Reasoning deduplication: When a client sends both
reasoning_content(orthinking) and a leading<think>block incontent, the duplicate tag is stripped cleanly. Literal think tags later in the answer (such as inside code blocks) are preserved verbatim. - Single-line think block extraction: Single-line
<think>...</think>tags without surrounding newlines are now extracted properly instead of leaking raw tags into rendered chat history. - Universal tool argument serialisation: Scalar and list arguments now serialise properly via JSON formatting across both XML and JSON wire formats instead of being dropped.
- KV cache prefix invariance: History reconstruction synchronises with generation prompt output under non-thinking modes, keeping prefix KV caching stable across multi-turn agent sessions.
- Test suite expanded from 44 to 101 tests: Full coverage added for edge cases, error escalation paths, vision payloads, wire format variations, and minified oneline template parity.
- Property-based fuzz harness (
scripts/fuzz_template.py): Added a deterministic fuzzer that validates structural invariants (render integrity, token balance, XML/JSON validity, prefix cache stability, and tag stripping) across thousands of generated multi-turn sessions.
Recommended llama-server flags:
If you are running coding agents (like OpenCode, Claude Code, or Pi.dev), launch with:
llama-server -m your_model.gguf --jinja --chat-template-file chat_template.jinja --reasoning-format deepseek
--reasoning-format deepseek splits <think> into the dedicated OpenAI reasoning_content field so tools do not stall on raw thinking tokens.
what reasoning format would be used in vLLM?
vllm offers deepseek_v3 and deepseek_v4 reasoning formats, which should we use?
Reasoning parser for vLLM should be qwen3 as stated in the official recipe: https://recipes.vllm.ai/Qwen/Qwen3.8-27B
Nice to have statements but is it tested? There is also a qwen3_xml that is official. Will that work with the template ? Same results?
