From e0dff58475bc9ed68eedcb265ee998f2fcabb3b1 Mon Sep 17 00:00:00 2001 From: Mikolaj Kucharski Date: Mon, 21 Sep 2026 10:47:38 +0000 Subject: [PATCH] args: add env vars for temperature, top-p, min-p and penalties (#27380) Allow configuring --temp, --top-p, --min-p, --repeat-penalty, --presence-penalty and --frequency-penalty via LLAMA_ARG_* so llama-server can be fully controlled from an EnvironmentFile (e.g. systemd on Debian). Use `llama-gen-docs` to regenerate the readme files. --- common/arg.cpp | 12 ++++++------ tools/cli/README.md | 12 ++++++------ tools/completion/README.md | 12 ++++++------ tools/server/README.md | 12 ++++++------ 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index c4c4e143c9..996ea75fef 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -2016,7 +2016,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex params.sampling.temp = std::max(params.sampling.temp, 0.0f); params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_TEMP; } - ).set_sampling()); + ).set_sampling().set_env("LLAMA_ARG_TEMPERATURE")); add_opt(common_arg( {"--top-k"}, "N", string_format("top-k sampling (default: %d, 0 = disabled)", params.sampling.top_k), @@ -2032,7 +2032,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex params.sampling.top_p = std::stof(value); params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_TOP_P; } - ).set_sampling()); + ).set_sampling().set_env("LLAMA_ARG_TOP_P")); add_opt(common_arg( {"--min-p"}, "N", string_format("min-p sampling (default: %.2f, 0.0 = disabled)", (double)params.sampling.min_p), @@ -2040,7 +2040,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex params.sampling.min_p = std::stof(value); params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIN_P; } - ).set_sampling()); + ).set_sampling().set_env("LLAMA_ARG_MIN_P")); add_opt(common_arg( {"--top-nsigma", "--top-n-sigma"}, "N", string_format("top-n-sigma sampling (default: %.2f, -1.0 = disabled)", params.sampling.top_n_sigma), @@ -2096,7 +2096,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex params.sampling.penalty_repeat = penalty_repeat; params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_PENALTY_REPEAT; } - ).set_sampling()); + ).set_sampling().set_env("LLAMA_ARG_REPEAT_PENALTY")); add_opt(common_arg( {"--presence-penalty"}, "N", string_format("repeat alpha presence penalty (default: %.2f, 0.0 = disabled)", (double)params.sampling.penalty_present), @@ -2107,7 +2107,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex } params.sampling.penalty_present = penalty_present; } - ).set_sampling()); + ).set_sampling().set_env("LLAMA_ARG_PRESENCE_PENALTY")); add_opt(common_arg( {"--frequency-penalty"}, "N", string_format("repeat alpha frequency penalty (default: %.2f, 0.0 = disabled)", (double)params.sampling.penalty_freq), @@ -2118,7 +2118,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex } params.sampling.penalty_freq = penalty_freq; } - ).set_sampling()); + ).set_sampling().set_env("LLAMA_ARG_FREQUENCY_PENALTY")); add_opt(common_arg( {"--dry-multiplier"}, "N", string_format("set DRY sampling multiplier (default: %.2f, 0.0 = disabled)", (double)params.sampling.dry_multiplier), diff --git a/tools/cli/README.md b/tools/cli/README.md index ea1f7aaf8b..acecc74a6d 100644 --- a/tools/cli/README.md +++ b/tools/cli/README.md @@ -106,18 +106,18 @@ | `-s, --seed SEED` | RNG seed (default: -1, use random seed for -1) | | `--sampler-seq, --sampling-seq SEQUENCE` | simplified sequence for samplers that will be used (default: edskypmxt) | | `--ignore-eos` | ignore end of stream token and continue generating (implies --logit-bias EOS-inf) | -| `--temp, --temperature N` | temperature (default: 0.80) | +| `--temp, --temperature N` | temperature (default: 0.80)
(env: LLAMA_ARG_TEMPERATURE) | | `--top-k N` | top-k sampling (default: 40, 0 = disabled)
(env: LLAMA_ARG_TOP_K) | -| `--top-p N` | top-p sampling (default: 0.95, 1.0 = disabled) | -| `--min-p N` | min-p sampling (default: 0.05, 0.0 = disabled) | +| `--top-p N` | top-p sampling (default: 0.95, 1.0 = disabled)
(env: LLAMA_ARG_TOP_P) | +| `--min-p N` | min-p sampling (default: 0.05, 0.0 = disabled)
(env: LLAMA_ARG_MIN_P) | | `--top-nsigma, --top-n-sigma N` | top-n-sigma sampling (default: -1.00, -1.0 = disabled) | | `--xtc-probability N` | xtc probability (default: 0.00, 0.0 = disabled) | | `--xtc-threshold N` | xtc threshold (default: 0.10, 1.0 = disabled) | | `--typical, --typical-p N` | locally typical sampling, parameter p (default: 1.00, 1.0 = disabled) | | `--repeat-last-n N` | last n tokens to consider for penalize (default: 64, 0 = disabled) | -| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.00, 1.0 = disabled) | -| `--presence-penalty N` | repeat alpha presence penalty (default: 0.00, 0.0 = disabled) | -| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.00, 0.0 = disabled) | +| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.00, 1.0 = disabled)
(env: LLAMA_ARG_REPEAT_PENALTY) | +| `--presence-penalty N` | repeat alpha presence penalty (default: 0.00, 0.0 = disabled)
(env: LLAMA_ARG_PRESENCE_PENALTY) | +| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.00, 0.0 = disabled)
(env: LLAMA_ARG_FREQUENCY_PENALTY) | | `--dry-multiplier N` | set DRY sampling multiplier (default: 0.00, 0.0 = disabled) | | `--dry-base N` | set DRY sampling base value (default: 1.75) | | `--dry-allowed-length N` | set allowed length for DRY sampling (default: 2) | diff --git a/tools/completion/README.md b/tools/completion/README.md index c9a4cccfc2..e2ac0668c6 100644 --- a/tools/completion/README.md +++ b/tools/completion/README.md @@ -189,18 +189,18 @@ llama-completion.exe -m models\gemma-1.1-7b-it.Q4_K_M.gguf --ignore-eos -n -1 | `-s, --seed SEED` | RNG seed (default: -1, use random seed for -1) | | `--sampler-seq, --sampling-seq SEQUENCE` | simplified sequence for samplers that will be used (default: edskypmxt) | | `--ignore-eos` | ignore end of stream token and continue generating (implies --logit-bias EOS-inf) | -| `--temp, --temperature N` | temperature (default: 0.80) | +| `--temp, --temperature N` | temperature (default: 0.80)
(env: LLAMA_ARG_TEMPERATURE) | | `--top-k N` | top-k sampling (default: 40, 0 = disabled)
(env: LLAMA_ARG_TOP_K) | -| `--top-p N` | top-p sampling (default: 0.95, 1.0 = disabled) | -| `--min-p N` | min-p sampling (default: 0.05, 0.0 = disabled) | +| `--top-p N` | top-p sampling (default: 0.95, 1.0 = disabled)
(env: LLAMA_ARG_TOP_P) | +| `--min-p N` | min-p sampling (default: 0.05, 0.0 = disabled)
(env: LLAMA_ARG_MIN_P) | | `--top-nsigma, --top-n-sigma N` | top-n-sigma sampling (default: -1.00, -1.0 = disabled) | | `--xtc-probability N` | xtc probability (default: 0.00, 0.0 = disabled) | | `--xtc-threshold N` | xtc threshold (default: 0.10, 1.0 = disabled) | | `--typical, --typical-p N` | locally typical sampling, parameter p (default: 1.00, 1.0 = disabled) | | `--repeat-last-n N` | last n tokens to consider for penalize (default: 64, 0 = disabled) | -| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.00, 1.0 = disabled) | -| `--presence-penalty N` | repeat alpha presence penalty (default: 0.00, 0.0 = disabled) | -| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.00, 0.0 = disabled) | +| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.00, 1.0 = disabled)
(env: LLAMA_ARG_REPEAT_PENALTY) | +| `--presence-penalty N` | repeat alpha presence penalty (default: 0.00, 0.0 = disabled)
(env: LLAMA_ARG_PRESENCE_PENALTY) | +| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.00, 0.0 = disabled)
(env: LLAMA_ARG_FREQUENCY_PENALTY) | | `--dry-multiplier N` | set DRY sampling multiplier (default: 0.00, 0.0 = disabled) | | `--dry-base N` | set DRY sampling base value (default: 1.75) | | `--dry-allowed-length N` | set allowed length for DRY sampling (default: 2) | diff --git a/tools/server/README.md b/tools/server/README.md index ef90334048..0ee8df291b 100644 --- a/tools/server/README.md +++ b/tools/server/README.md @@ -123,18 +123,18 @@ For the full list of features, please refer to [server's changelog](https://gith | `-s, --seed SEED` | RNG seed (default: -1, use random seed for -1) | | `--sampler-seq, --sampling-seq SEQUENCE` | simplified sequence for samplers that will be used (default: edskypmxt) | | `--ignore-eos` | ignore end of stream token and continue generating (implies --logit-bias EOS-inf) | -| `--temp, --temperature N` | temperature (default: 0.80) | +| `--temp, --temperature N` | temperature (default: 0.80)
(env: LLAMA_ARG_TEMPERATURE) | | `--top-k N` | top-k sampling (default: 40, 0 = disabled)
(env: LLAMA_ARG_TOP_K) | -| `--top-p N` | top-p sampling (default: 0.95, 1.0 = disabled) | -| `--min-p N` | min-p sampling (default: 0.05, 0.0 = disabled) | +| `--top-p N` | top-p sampling (default: 0.95, 1.0 = disabled)
(env: LLAMA_ARG_TOP_P) | +| `--min-p N` | min-p sampling (default: 0.05, 0.0 = disabled)
(env: LLAMA_ARG_MIN_P) | | `--top-nsigma, --top-n-sigma N` | top-n-sigma sampling (default: -1.00, -1.0 = disabled) | | `--xtc-probability N` | xtc probability (default: 0.00, 0.0 = disabled) | | `--xtc-threshold N` | xtc threshold (default: 0.10, 1.0 = disabled) | | `--typical, --typical-p N` | locally typical sampling, parameter p (default: 1.00, 1.0 = disabled) | | `--repeat-last-n N` | last n tokens to consider for penalize (default: 64, 0 = disabled) | -| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.00, 1.0 = disabled) | -| `--presence-penalty N` | repeat alpha presence penalty (default: 0.00, 0.0 = disabled) | -| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.00, 0.0 = disabled) | +| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.00, 1.0 = disabled)
(env: LLAMA_ARG_REPEAT_PENALTY) | +| `--presence-penalty N` | repeat alpha presence penalty (default: 0.00, 0.0 = disabled)
(env: LLAMA_ARG_PRESENCE_PENALTY) | +| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.00, 0.0 = disabled)
(env: LLAMA_ARG_FREQUENCY_PENALTY) | | `--dry-multiplier N` | set DRY sampling multiplier (default: 0.00, 0.0 = disabled) | | `--dry-base N` | set DRY sampling base value (default: 1.75) | | `--dry-allowed-length N` | set allowed length for DRY sampling (default: 2) |