]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
chat : hotfix gpt-oss jinja raising an exception (#15243)
authorXuan-Son Nguyen <redacted>
Mon, 11 Aug 2025 13:31:35 +0000 (15:31 +0200)
committerGitHub <redacted>
Mon, 11 Aug 2025 13:31:35 +0000 (15:31 +0200)
* chat : hotfix gpt-oss jinja raising an exception

* fix

common/chat.cpp

index 92fbbbe111f016a822858928b3006f6a51ef8083..b1a1218ca2c9781343d0dde4afb7ba8279075a76 100644 (file)
@@ -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;