From fba5c0d680b555cbac563fef57b33bc5c9621e08 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Mon, 11 Aug 2025 15:31:35 +0200 Subject: [PATCH] chat : hotfix gpt-oss jinja raising an exception (#15243) * chat : hotfix gpt-oss jinja raising an exception * fix --- common/chat.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/common/chat.cpp b/common/chat.cpp index 92fbbbe11..b1a1218ca 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -552,6 +552,17 @@ common_chat_templates_ptr common_chat_templates_init( default_template_src = CHATML_TEMPLATE_SRC; } } + + // TODO @ngxson : this is a temporary hack to prevent chat template from throwing an error + // Ref: https://github.com/ggml-org/llama.cpp/pull/15230#issuecomment-3173959633 + if (default_template_src.find("<|channel|>") != std::string::npos + // search for the error message and patch it + && default_template_src.find("in message.content or") != std::string::npos) { + string_replace_all(default_template_src, + "{%- if \"<|channel|>analysis<|message|>\" in message.content or \"<|channel|>final<|message|>\" in message.content %}", + "{%- if false %}"); + } + std::string token_bos = bos_token_override; std::string token_eos = eos_token_override; bool add_bos = false;