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
Read the assistant `reasoning` field (vLLM / Responses API name) when rendering history
Summary
The history renderer reads message.reasoning_content, then message.thinking, then in-content <think> tags. It does not read message.reasoning, which is the field name vLLM now returns first (reasoning_content is marked deprecated in vLLM's ChatMessage) and the name the OpenAI Responses API uses.
vLLM itself is not affected (it renames an incoming reasoning_content to reasoning and then sets both keys before rendering). But a client that echoes vLLM's message.reasoning back to llama.cpp, LM Studio or oMLX loses the thought: the template renders an empty <think>\n\n</think> block in place of it.
Changes
chat_template.jinja: addmessage.reasoningto the extraction chain (afterreasoning_content, beforethinking), same string/non-string handling as the other two fields.chat_template_oneline.txt: regenerated withscripts/minify_jinja.py.scripts/test_v22.py: new test 24b covering thereasoningfield.README.md: one phrase in the feature table.
Verification
python3 scripts/test_v22.py → 101/101, python3 scripts/test_v21.py → 9/9, python3 scripts/fuzz_template.py --cases 200 → clean.
Merged, thanks! Handy to have reasoning handled directly for vLLM and Responses API payloads.