From 0f0229736c7bbb07c13fcbcf59e358cc12e008db Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 9 Jan 2025 20:02:45 +0200 Subject: [PATCH] model : avoid hardcoded chat template constant ggml-ci --- src/llama-arch.cpp | 1 + src/llama-arch.h | 1 + src/llama-model.cpp | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index eef66ed31..4f12043c0 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -176,6 +176,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_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" }, diff --git a/src/llama-arch.h b/src/llama-arch.h index 2e5f97b77..ec049e246 100644 --- a/src/llama-arch.h +++ b/src/llama-arch.h @@ -174,6 +174,7 @@ enum llm_kv { LLM_KV_TOKENIZER_PRECOMPILED_CHARSMAP, LLM_KV_TOKENIZER_HF_JSON, LLM_KV_TOKENIZER_RWKV, + LLM_KV_TOKENIZER_CHAT_TEMPLATE, LLM_KV_TOKENIZER_FIM_PRE_ID, LLM_KV_TOKENIZER_FIM_SUF_ID, LLM_KV_TOKENIZER_FIM_MID_ID, diff --git a/src/llama-model.cpp b/src/llama-model.cpp index b1bf5460a..0cc6e09f0 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -3836,7 +3836,7 @@ uint64_t llama_model_size(const struct llama_model * model) { } const char * llama_model_chat_template(const struct llama_model * model) { - const auto & it = model->gguf_kv.find("tokenizer.chat_template"); + const auto & it = model->gguf_kv.find(LLM_KV(model->arch)(LLM_KV_TOKENIZER_CHAT_TEMPLATE)); if (it == model->gguf_kv.end()) { return nullptr; }