From 9a483999a6fda350772aaf7bc541f1cb246f8a29 Mon Sep 17 00:00:00 2001 From: Xuan Son Nguyen Date: Sun, 12 Jan 2025 13:45:14 +0100 Subject: [PATCH] llama : fix chat template gguf key (#11201) --- common/common.cpp | 11 ++--------- src/llama-arch.cpp | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/common/common.cpp b/common/common.cpp index 39bfb0c2e..1a2e15247 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1636,15 +1636,8 @@ std::string common_detokenize(const struct llama_vocab * vocab, const std::vecto // std::string common_get_builtin_chat_template(const struct llama_model * model) { - static const char * template_key = "tokenizer.chat_template"; - // call with NULL buffer to get the total size of the string - int32_t res = llama_model_meta_val_str(model, template_key, NULL, 0); - if (res > 0) { - std::vector model_template(res + 1, 0); - llama_model_meta_val_str(model, template_key, model_template.data(), model_template.size()); - return std::string(model_template.data(), model_template.size() - 1); - } - return ""; + const char * ptr_tmpl = llama_model_chat_template(model); + return ptr_tmpl == nullptr ? "" : ptr_tmpl; } bool common_chat_verify_template(const std::string & tmpl) { diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index 5c1f14cfd..d7d277e72 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -178,7 +178,7 @@ static const std::map LLM_KV_NAMES = { { LLM_KV_TOKENIZER_PRECOMPILED_CHARSMAP, "tokenizer.ggml.precompiled_charsmap" }, { LLM_KV_TOKENIZER_HF_JSON, "tokenizer.huggingface.json" }, { LLM_KV_TOKENIZER_RWKV, "tokenizer.rwkv.world" }, - { LLM_KV_TOKENIZER_CHAT_TEMPLATE, "tokenizer.chat.template" }, + { LLM_KV_TOKENIZER_CHAT_TEMPLATE, "tokenizer.chat_template" }, { LLM_KV_TOKENIZER_FIM_PRE_ID, "tokenizer.ggml.fim_pre_token_id" }, { LLM_KV_TOKENIZER_FIM_SUF_ID, "tokenizer.ggml.fim_suf_token_id" }, { LLM_KV_TOKENIZER_FIM_MID_ID, "tokenizer.ggml.fim_mid_token_id" },