From 3e9a2860e996657fc10db8393cf65adc40703082 Mon Sep 17 00:00:00 2001 From: Vitali Lovich Date: Tue, 25 Feb 2025 01:29:33 -0800 Subject: [PATCH] llama : expose llama_model_n_head_kv in the API (#11997) It's useful to be able to have this from the library layer as it's a key parameter of the model (e.g. to figure out how much KV cache memory is needed). --- include/llama.h | 1 + src/llama-model.cpp | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/include/llama.h b/include/llama.h index b0726cbe..47919602 100644 --- a/include/llama.h +++ b/include/llama.h @@ -477,6 +477,7 @@ extern "C" { LLAMA_API int32_t llama_model_n_embd (const struct llama_model * model); LLAMA_API int32_t llama_model_n_layer (const struct llama_model * model); LLAMA_API int32_t llama_model_n_head (const struct llama_model * model); + LLAMA_API int32_t llama_model_n_head_kv (const struct llama_model * model); // Get the model's RoPE frequency scaling factor LLAMA_API float llama_model_rope_freq_scale_train(const struct llama_model * model); diff --git a/src/llama-model.cpp b/src/llama-model.cpp index f64c3afa..36a0a009 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -3838,6 +3838,10 @@ int32_t llama_model_n_head(const struct llama_model * model) { return model->hparams.n_head(); } +int32_t llama_model_n_head_kv(const struct llama_model * model) { + return model->hparams.n_head_kv(); +} + // deprecated int32_t llama_n_ctx_train(const struct llama_model * model) { return llama_model_n_ctx_train(model);