From 98ea3ee66093375225e1ebd5f7ec33df7c283406 Mon Sep 17 00:00:00 2001 From: Pascal Date: Mon, 15 Dec 2025 13:40:37 +0100 Subject: [PATCH] common: fix --override-kv to support comma-separated values --- common/arg.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index acf4c8f8a8..771038c906 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -2192,12 +2192,14 @@ common_params_context common_params_parser_init(common_params & params, llama_ex } )); add_opt(common_arg( - {"--override-kv"}, "KEY=TYPE:VALUE", - "advanced option to override model metadata by key. may be specified multiple times.\n" - "types: int, float, bool, str. example: --override-kv tokenizer.ggml.add_bos_token=bool:false", + {"--override-kv"}, "KEY=TYPE:VALUE,...", + "advanced option to override model metadata by key. use comma-separated list of overrides.\n" + "types: int, float, bool, str. example: --override-kv tokenizer.ggml.add_bos_token=bool:false,tokenizer.ggml.add_eos_token=bool:false", [](common_params & params, const std::string & value) { - if (!string_parse_kv_override(value.c_str(), params.kv_overrides)) { - throw std::runtime_error(string_format("error: Invalid type for KV override: %s\n", value.c_str())); + for (const auto & kv_override : string_split(value, ',')) { + if (!string_parse_kv_override(kv_override.c_str(), params.kv_overrides)) { + throw std::runtime_error(string_format("error: Invalid type for KV override: %s\n", kv_override.c_str())); + } } } ));