From: Xuan-Son Nguyen Date: Mon, 11 Aug 2025 13:31:35 +0000 (+0200) Subject: chat : hotfix gpt-oss jinja raising an exception (#15243) X-Git-Tag: upstream/0.0.6164~32 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=fba5c0d680b555cbac563fef57b33bc5c9621e08;p=pkg%2Fggml%2Fsources%2Fllama.cpp chat : hotfix gpt-oss jinja raising an exception (#15243) * chat : hotfix gpt-oss jinja raising an exception * fix --- diff --git a/common/chat.cpp b/common/chat.cpp index 92fbbbe1..b1a1218c 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;