diff --git a/common/chat.cpp b/common/chat.cpp index 932231facd..429a636685 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -1644,7 +1644,7 @@ static common_chat_params common_chat_params_init_hermes_2_pro(const common_chat builder.add_rule("thinking", "\"\" [^\\x00]* \"\" space"); } builder.add_rule("root", - std::string(supports_thinking ? "(thinking)? space " : + std::string(supports_thinking ? "(thinking)? space " : data.thinking_forced_open ? "( \"\" space )? " : "") + (inputs.parallel_tool_calls ? "(" + tool_call + ")+" : tool_call)); // Trigger on some common known "good bad" outputs (only from the start and with a json that's about a specific argument name to avoid false positives)