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
docs: update changelog and details with minja replace filter hotfix
Browse files
README.md
CHANGED
|
@@ -19,7 +19,7 @@ tags:
|
|
| 19 |
<details open>
|
| 20 |
<summary><b>Update History & Changelog (v20)</b></summary>
|
| 21 |
|
| 22 |
-
> **2026-06-05 Update (v20): The Architect Patch.** A monumental structural overhaul targeting deep agentic loops and C++ inference engine compatibility. (1) **Minja AST Flattening:** Dramatically optimized Jinja nesting depths to resolve severe parsing bottlenecks that were dropping inference throughput by 80% on `llama.cpp`. (2) **Auto-disable Thinking:** Introduced `auto_disable_thinking_with_tools` kwarg (default `false`) that allows users to instantly shut off reasoning blocks during tool use
|
| 23 |
|
| 24 |
</details>
|
| 25 |
|
|
@@ -181,10 +181,11 @@ When a tool call fails validation repeatedly, the model can enter a degenerate r
|
|
| 181 |
### 5. Smart False-Positive Detection (v18)
|
| 182 |
Instead of broad substring matching that triggers false retry-loops on successful database returns containing words like "error", v18 utilizes strict structural guards looking for `Exception:`, `"error":`, `Traceback`, and `command not found`, combined with length gates and shell-echo exclusions (`$ `).
|
| 183 |
|
| 184 |
-
### 6. minijinja Compatibility Constraints (v18)
|
| 185 |
-
Python-only Jinja2 features crash on `minijinja` (the C++ runtime used by llama.cpp, LM Studio, and MLX). All instances have been refactored for universal support:
|
|
|
|
| 186 |
- `\| items` -> `for key in mapping`
|
| 187 |
-
- `loop.previtem` -> `messages[loop.index0 - 1]`
|
| 188 |
- `map('string')` -> `join('|')`
|
| 189 |
- `\| first` -> `'$ ' in content`
|
| 190 |
|
|
|
|
| 19 |
<details open>
|
| 20 |
<summary><b>Update History & Changelog (v20)</b></summary>
|
| 21 |
|
| 22 |
+
> **2026-06-05 Update (v20): The Architect Patch.** A monumental structural overhaul targeting deep agentic loops and C++ inference engine compatibility. (1) **Minja AST Flattening:** Dramatically optimized Jinja nesting depths to resolve severe parsing bottlenecks that were dropping inference throughput by 80% on `llama.cpp`. (2) **Minja Replace Bug Fix (Hotfix):** Bypassed a severe C++ parsing bug in `llama.cpp` where using the `replace` filter at index 0 of a user prompt silently dropped the entire text payload. Inline thinking toggles now use `split` and `join` for robust stripping. (3) **Auto-disable Thinking:** Introduced `auto_disable_thinking_with_tools` kwarg (default `false`) that allows users to instantly shut off reasoning blocks during tool use. (4) **Deep Agent Fallbacks:** Resolved exceptions triggered by mid-conversation system prompts or loops lacking human `user` messages. (5) **Payload Truncation:** Implemented `max_tool_arg_chars` and `max_tool_response_chars` configurations to definitively stop context-window explosions from massive data returns. *(Huge thanks to `barubary` / `spiritbuun` for their contributions to these C++ architecture optimizations!)*
|
| 23 |
|
| 24 |
</details>
|
| 25 |
|
|
|
|
| 181 |
### 5. Smart False-Positive Detection (v18)
|
| 182 |
Instead of broad substring matching that triggers false retry-loops on successful database returns containing words like "error", v18 utilizes strict structural guards looking for `Exception:`, `"error":`, `Traceback`, and `command not found`, combined with length gates and shell-echo exclusions (`$ `).
|
| 183 |
|
| 184 |
+
### 6. minijinja Compatibility Constraints (v18/v20)
|
| 185 |
+
Python-only Jinja2 features crash or misbehave on `minijinja`/`minja` (the C++ runtime used by llama.cpp, LM Studio, and MLX). All instances have been refactored for universal support:
|
| 186 |
+
- `content | replace('<|think_on|>', '')` -> `content.split('<|think_on|>') | join('')` (Fixes a severe bug where `minja` silently drops the entire text payload if the replaced string is found at index 0).
|
| 187 |
- `\| items` -> `for key in mapping`
|
| 188 |
+
- `loop.previtem` -> `messages[loop.index0 - 1]`
|
| 189 |
- `map('string')` -> `join('|')`
|
| 190 |
- `\| first` -> `'$ ' in content`
|
| 191 |
|