Confusion regarding chat template and 'developer' role
First, thanks for the model!
Per the model README.md:
This model fixes the crash in the official model caused by the Jinja template not supporting the "developer" role. (commonly sent by modern coding agents like Claude Code and OpenCode)
However, taking a look at the chat template, I'm a bit confused about how this works. At first glance it seems like any messages with a role of developer would be silently ignored and not inserted at all, as they'd fall through all of the {% if message.role == "..." %} statements in the template?
As an aside, I'm curious what made you change from Qwen's XML-style function calling with function parameters in their own XML tags to a JSON-based format.
The official Qwen Jinja template directly raises an exception when it encounters an unknown role, which causes a crash. The new template is more compatible. For details, you can check @sudoingX’s tests on X.
The new template is more compatible
That may be true but that template seems like it ignores any messages with a developer role...
I'm not too familiar with how Claude Code/OpenCode use these messages, but they seem like they are intended to be instructions for the model. Perhaps they should be remapped to the system role instead of being silently dropped?