LLAMA-SERVER(1)
๐ LLAMA-SERVER(1) ๐
okay so hi bestie!! ๐ this is llama-server, and it lives in the User Commands manual โ that's section 1, if you're keeping score, and you should be, because you're that girl. grab a strawberry ๐, get comfy, and let's go through every single flag together. no skipping. we don't skip here.
โจ NAME โจ
llama-server โ llama-server.
that's it. that's the name. short, sweet, iconic, she ate ๐
๐ DESCRIPTION ๐
----- common params -----
the shared ones. the group-chat classics. ๐ฌ
-h,--help,--usageโ prints the usage and then dips immediately. exit, stage left ๐--versionโ shows you the version and build info โญ-cl,--cache-listโ shows the list of models chillin' in your cache ๐ง--completion-bashโ prints a source-able bash completion script forllama.cpp. not her making your shell smarter ๐-t,--threads Nโ how many CPU threads to use during generation (default:<num_cpus>). env:LLAMA_ARG_THREADS๐ฅ-tb,--threads-batch Nโ how many threads to use during batch and prompt processing (default: same as--threads)-C,--cpu-mask Mโ CPU affinity mask: an arbitrarily long hex. complementscpu-range(default:"")-Cr,--cpu-range lo-hiโ a range of CPUs for affinity. complements--cpu-mask--cpu-strict <0|1>โ use strict CPU placement (default:0)--prio Nโ set the process/thread priority: low(-1), normal(0), medium(1), high(2), realtime(3) (default:0)--poll <0...100>โ use this polling level to wait for work (0- no polling, default:50)-Cb,--cpu-mask-batch Mโ CPU affinity mask: arbitrarily long hex. complementscpu-range-batch(default: same as--cpu-mask)-Crb,--cpu-range-batch lo-hiโ ranges of CPUs for affinity. complements--cpu-mask-batch--cpu-strict-batch <0|1>โ use strict CPU placement (default: same as--cpu-strict)--prio-batch Nโ set the process/thread priority:0-normal,1-medium,2-high,3-realtime (default:0)--poll-batch <0|1>โ use polling to wait for work (default: same as--poll)-c,--ctx-size Nโ the size of the prompt context (default:0, and0= loaded from model). env:LLAMA_ARG_CTX_SIZE๐-n,--predict,--n-predict Nโ how many tokens to predict (default:-1, and-1= infinity โพ๏ธ). env:LLAMA_ARG_N_PREDICT-b,--batch-size Nโ logical maximum batch size (default:2048). env:LLAMA_ARG_BATCH-ub,--ubatch-size Nโ physical maximum batch size (default:512). env:LLAMA_ARG_UBATCH--keep Nโ how many tokens to keep from the initial prompt (default:0,-1= all)--swa-fullโ use the full-size SWA cache (default:false). there's more info athttps://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055if you're nosy ๐ env:LLAMA_ARG_SWA_FULL-fa,--flash-attn [on|off|auto]โ set Flash Attention use ('on','off', or'auto', default:'auto'). env:LLAMA_ARG_FLASH_ATTNโก--perf,--no-perfโ whether to enable internallibllamaperformance timings (default:false). env:LLAMA_ARG_PERF-e,--escape,--no-escapeโ whether to process escapes sequences (\n,\r,\t,\',\",\\) (default:true)--rope-scaling {none,linear,yarn}โ RoPE frequency scaling method, defaults tolinearunless the model says otherwise. env:LLAMA_ARG_ROPE_SCALING_TYPE--rope-scale Nโ RoPE context scaling factor, expands context by a factor of N. env:LLAMA_ARG_ROPE_SCALE--rope-freq-base Nโ RoPE base frequency, the one NTK-aware scaling uses (default: loaded from model). env:LLAMA_ARG_ROPE_FREQ_BASE--rope-freq-scale Nโ RoPE frequency scaling factor, expands context by a factor of1/N. env:LLAMA_ARG_ROPE_FREQ_SCALE--yarn-orig-ctx Nโ YaRN: original context size of model (default:0= model training context size). env:LLAMA_ARG_YARN_ORIG_CTX--yarn-ext-factor Nโ YaRN: extrapolation mix factor (default:-1.00,0.0= full interpolation). env:LLAMA_ARG_YARN_EXT_FACTOR--yarn-attn-factor Nโ YaRN: scalesqrt(t)or attention magnitude (default:-1.00). env:LLAMA_ARG_YARN_ATTN_FACTOR--yarn-beta-slow Nโ YaRN: high correction dim or alpha (default:-1.00). env:LLAMA_ARG_YARN_BETA_SLOW--yarn-beta-fast Nโ YaRN: low correction dim or beta (default:-1.00). env:LLAMA_ARG_YARN_BETA_FAST-kvo,--kv-offload,-nkvo,--no-kv-offloadโ whether to enable KV cache offloading (default: enabled). env:LLAMA_ARG_KV_OFFLOAD--repack,-nr,--no-repackโ whether to enable weight repacking (default: enabled). env:LLAMA_ARG_REPACK--no-hostโ bypass the host buffer, allowing extra buffers to be used. env:LLAMA_ARG_NO_HOST-ctk,--cache-type-k TYPEโ KV cache data type for K. allowed values:f32,f16,bf16,q8_0,q4_0,q4_1,iq4_nl,q5_0,q5_1(default:f16). env:LLAMA_ARG_CACHE_TYPE_K-ctv,--cache-type-v TYPEโ KV cache data type for V. allowed values:f32,f16,bf16,q8_0,q4_0,q4_1,iq4_nl,q5_0,q5_1(default:f16). env:LLAMA_ARG_CACHE_TYPE_V-dt,--defrag-thold Nโ KV cache defragmentation threshold (DEPRECATED โ ๏ธ). env:LLAMA_ARG_DEFRAG_THOLD--mlockโ DEPRECATED in favor of--load-mode: force the system to keep the model in RAM rather than swapping or compressing it. env:LLAMA_ARG_MLOCK--mmap,--no-mmapโ DEPRECATED in favor of--load-mode: whether to memory-map the model. (if mmap is disabled, loads are slower but it may reduce pageouts if you're not using mlock). env:LLAMA_ARG_MMAP-dio,--direct-io,-ndio,--no-direct-ioโ DEPRECATED in favor of--load-mode: use DirectIO if it's available. env:LLAMA_ARG_DIO-lm,--load-mode MODEโ model loading mode (default:auto). the modes are:auto: mmap, unless a device doesn't support itnone: no special loading modemmap: memory-map the model (if mmap is disabled, slower load but may reduce pageouts if not using mlock)mlock: force the system to keep the model in RAM rather than swapping or compressingmmap+mlock: mmap + force the system to keep the model in RAM rather than swapping or compressingdio: use DirectIO if available
env: LLAMA_ARG_LOAD_MODE
--numa TYPEโ attempt optimizations that help on some NUMA systems:distribute: spread execution evenly over all nodesisolate: only spawn threads on CPUs on the node that execution started onnumactl: use the CPU map provided by numactl
if you ran without this previously, it's recommended that you drop the system page cache before using this. see https://github.com/ggml-org/llama.cpp/issues/1437. env: LLAMA_ARG_NUMA
-dev,--device <dev1,dev2,..>โ comma-separated list of devices to use for offloading (none= don't offload). use--list-devicesto see a list of the available devices. env:LLAMA_ARG_DEVICE--list-devicesโ print the list of available devices and exit ๐-ot,--override-tensor <tensor name pattern>=<buffer type>,...โ override tensor buffer type. env:LLAMA_ARG_OVERRIDE_TENSOR-cmoe,--cpu-moeโ keep all Mixture of Experts (MoE) weights in the CPU. env:LLAMA_ARG_CPU_MOE-ncmoe,--n-cpu-moe Nโ keep the Mixture of Experts (MoE) weights of the first N layers in the CPU. env:LLAMA_ARG_N_CPU_MOE-ngl,--gpu-layers,--n-gpu-layers Nโ max. number of layers to store in VRAM, either an exact number,'auto', or'all'(default:auto). env:LLAMA_ARG_N_GPU_LAYERS-sm,--split-mode {none,layer,row,tensor}โ how to split the model across multiple GPUs, one of:none: use one GPU onlylayer(default): split layers and KV across GPUs (pipelined)row: split weight across GPUs by rows (parallelized)tensor: split weights and KV across GPUs (parallelized, EXPERIMENTAL โ ๏ธ)
env: LLAMA_ARG_SPLIT_MODE
-ts,--tensor-split N0,N1,N2,...โ fraction of the model to offload to each GPU, a comma-separated list of proportions, e.g.3,1. env:LLAMA_ARG_TENSOR_SPLIT-mg,--main-gpu INDEXโ the GPU to use for the model (withsplit-mode = none), or for intermediate results and KV (withsplit-mode = row) (default:0). env:LLAMA_ARG_MAIN_GPU-fit,--fit [on|off]โ whether to adjust unset arguments so they fit in device memory ('on'or'off', default:'on'). env:LLAMA_ARG_FIT-fitt,--fit-target MiB0,MiB1,MiB2,...โ target margin per device for--fit, a comma-separated list of values; a single value gets broadcast across all devices, default:1024. env:LLAMA_ARG_FIT_TARGET-fitc,--fit-ctx Nโ minimum ctx size that can be set by the--fitoption, default:4096. env:LLAMA_ARG_FIT_CTX--check-tensorsโ check the model tensor data for invalid values (default:false) ๐--override-kv KEY=TYPE:VALUE,...โ an advanced option to override model metadata by key. to specify multiple overrides, either use comma-separated values. types:int,float,bool,str. example:--override-kv tokenizer.ggml.add_bos_token=bool:false,tokenizer.ggml.add_eos_token=bool:false--op-offload,--no-op-offloadโ whether to offload host tensor operations to the device (default:true)--lora FNAMEโ path to a LoRA adapter (use comma-separated values to load multiple adapters) ๐--lora-scaled FNAME:SCALE,...โ path to a LoRA adapter with user defined scaling (format:FNAME:SCALE,...). note: use comma-separated values--control-vector FNAMEโ add a control vector. note: use comma-separated values to add multiple control vectors--control-vector-scaled FNAME:SCALE,...โ add a control vector with user defined scalingSCALE. note: use comma-separated values (format:FNAME:SCALE,...)--control-vector-layer-range START ENDโ layer range to apply the control vector(s) to, start and end inclusive-m,--model FNAMEโ the model path to load. env:LLAMA_ARG_MODEL๐-mu,--model-url MODEL_URLโ model download url (default: unused). env:LLAMA_ARG_MODEL_URL-dr,--docker-repo [<repo>/]<model>[:quant]โ Docker Hub model repository.repois optional and defaults toai/.quantis optional and defaults to:latest. example:gemma3(default: unused). env:LLAMA_ARG_DOCKER_REPO๐ณ-hf,-hfr,--hf-repo <user>/<model>[:quant]
Hugging Face model repository; quant is optional, case-insensitive, default to Q4_K_M, or falls back to the first file in the repo if Q4_K_M doesn't exist. mmproj is also downloaded automatically if available. to disable, add --no-mmproj example: ggml-org/GLM-4.7-Flash-GGUF:Q4_K_M (default: unused) (env: LLAMA_ARG_HF_REPO) ๐
-hff,--hf-file FILEโ Hugging Face model file. If specified, it will override the quant in--hf-repo(default: unused) (env:LLAMA_ARG_HF_FILE) โจ-hft,--hf-token TOKENโ Hugging Face access token (default: value fromHF_TOKENenvironment variable) (env:HF_TOKEN) ๐--log-disableโ Log disable ๐ซ--log-file FNAMEโ Log to file (env:LLAMA_ARG_LOG_FILE) ๐--log-colors [on|off|auto]โ Set colored logging ('on', 'off', or 'auto', default: 'auto'). 'auto' enables colors when output is to a terminal (env:LLAMA_ARG_LOG_COLORS) ๐-v,--verbose,--log-verboseโ Set verbosity level to infinity (i.e. log all messages, useful for debugging) ๐ฃ๏ธ--offlineโ Offline mode: forces use of cache, prevents network access (env:LLAMA_ARG_OFFLINE) โ๏ธ-lv,--verbosity,--log-verbosity Nโ Set the verbosity threshold. Messages with a higher verbosity will be ignored. Values:- 0: generic output
- 1: error
- 2: warning
- 3: info
- 4: trace (more info)
- 5: debug
(default: 3) (env: LLAMA_ARG_LOG_VERBOSITY)
--log-prefix,--no-log-prefixโ Enable prefix in log messages (env:LLAMA_ARG_LOG_PREFIX) ๐ท๏ธ--log-timestamps,--no-log-timestampsโ Enable timestamps in log messages (env:LLAMA_ARG_LOG_TIMESTAMPS) โฐ--spec-draft-type-k,-ctkd,--cache-type-k-draft TYPEโ KV cache data type for K for the draft model, allowed values:f32,f16,bf16,q8_0,q4_0,q4_1,iq4_nl,q5_0,q5_1(default:f16) (env:LLAMA_ARG_SPEC_DRAFT_CACHE_TYPE_K) ๐ง--spec-draft-type-v,-ctvd,--cache-type-v-draft TYPEโ KV cache data type for V for the draft model, allowed values:f32,f16,bf16,q8_0,q4_0,q4_1,iq4_nl,q5_0,q5_1(default:f16) (env:LLAMA_ARG_SPEC_DRAFT_CACHE_TYPE_V) ๐ง
๐ sampling params ๐
okay bestie this is where the flavor lives, this is the seasoning section fr fr ๐
--samplers SAMPLERSโ samplers that will be used for generation in the order, separated by;(default:penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature) ๐๏ธ-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) ๐ก๏ธ--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-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)--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)--dry-penalty-last-n Nโ set DRY penalty for the last n tokens (default:64,0= disable)--dry-sequence-breaker STRINGโ add sequence breaker for DRY sampling, clearing out default breakers ('\n',':','"','*') in the process; use"none"to not use any sequence breakers โ๏ธ--adaptive-target Nโ adaptive-p: select tokens near this probability (valid range0.0to1.0; negative = disabled) (default:-1.00) [(more info)](https://github.com/ggml-org/llama.cpp/pull/17927) โ more info lives athttps://github.com/ggml-org/llama.cpp/pull/17927๐ซถ--adaptive-decay Nโ adaptive-p: decay rate for target adaptation over time. lower values are more reactive, higher values are more stable. (valid range0.0to0.99) (default:0.90)--dynatemp-range Nโ dynamic temperature range (default:0.00,0.0= disabled)--dynatemp-exp Nโ dynamic temperature exponent (default:1.00)--mirostat Nโ use Mirostat sampling. Top K, Nucleus and Locally Typical samplers are ignored if used. (default:0,0= disabled,1= Mirostat,2= Mirostat 2.0)--mirostat-lr Nโ Mirostat learning rate, parameter eta (default:0.10)--mirostat-ent Nโ Mirostat target entropy, parameter tau (default:5.00)-l,--logit-bias TOKEN_ID(+/-)BIASโ modifies the likelihood of token appearing in the completion, i.e.--logit-bias 15043+1to increase likelihood of token' Hello', or--logit-bias 15043-1to decrease likelihood of token' Hello'โ๏ธ--grammar GRAMMARโ BNF-like grammar to constrain generations (see samples ingrammars/dir) ๐--grammar-file FNAMEโ file to read grammar from ๐-j,--json-schema SCHEMAโ JSON schema to constrain generations (https://json-schema.org/), e.g.{}for any JSON object. For schemas w/ external$refs, use--grammar+example/json_schema_to_grammar.pyinstead ๐งฉ-jf,--json-schema-file FILEโ File containing a JSON schema to constrain generations (https://json-schema.org/), e.g.{}for any JSON object. For schemas w/ external$refs, use--grammar+example/json_schema_to_grammar.pyinstead ๐งฉ-bs,--backend-samplingโ enable backend sampling (experimental) (default: disabled) (env:LLAMA_ARG_BACKEND_SAMPLING) ๐งช
๐ฆ speculative params ๐ฆ
draft models!! the little guy that guesses ahead so the big model can vibe check it ๐
--spec-draft-hf,-hfd,-hfrd,--hf-repo-draft <user>/<model>[:quant]โ Same as--hf-repo, but for the draft model (default: unused) (env:LLAMA_ARG_SPEC_DRAFT_HF_REPO) ๐ธ--spec-draft-threads,-td,--threads-draft Nโ number of threads to use during generation (default: same as--threads) ๐งต--spec-draft-threads-batch,-tbd,--threads-batch-draft Nโ number of threads to use during batch and prompt processing (default: same as--threads-draft) ๐งต--spec-draft-cpu-mask,-Cd,--cpu-mask-draft Mโ Draft model CPU affinity mask. Complementscpu-range-draft(default: same as--cpu-mask) ๐ฏ--spec-draft-cpu-range,-Crd,--cpu-range-draft lo-hiโ Ranges of CPUs for affinity. Complements--cpu-mask-draft๐ฏ--spec-draft-cpu-strict,--cpu-strict-draft <0|1>โ Use strict CPU placement for draft model (default: same as--cpu-strict) ๐--spec-draft-prio,--prio-draft Nโ set draft process/thread priority :0-normal,1-medium,2-high,3-realtime (default:0) โก--spec-draft-poll,--poll-draft <0|1>โ Use polling to wait for draft model work (default: same as--poll) โณ--spec-draft-cpu-mask-batch,-Cbd,--cpu-mask-batch-draft Mโ Draft model CPU affinity mask. Complementscpu-range-draft(default: same as--cpu-mask) ๐ฏ--spec-draft-cpu-strict-batch,--cpu-strict-batch-draft <0|1>โ Use strict CPU placement for draft model (default:--cpu-strict-draft) ๐--spec-draft-prio-batch,--prio-batch-draft Nโ set draft process/thread priority :0-normal,1-medium,2-high,3-realtime (default:0) โก--spec-draft-poll-batch,--poll-batch-draft <0|1>โ Use polling to wait for draft model work (default:--poll-draft) โณ--spec-draft-override-tensor,-otd,--override-tensor-draft <tensor name pattern>=<buffer type>,...โ override tensor buffer type for draft model ๐งฑ--spec-draft-cpu-moe,-cmoed,--cpu-moe-draftโ keep all Mixture of Experts (MoE) weights in the CPU for the draft model (env:LLAMA_ARG_SPEC_DRAFT_CPU_MOE) ๐--spec-draft-n-cpu-moe,--spec-draft-ncmoe,-ncmoed,--n-cpu-moe-draft Nโ keep the Mixture of Experts (MoE) weights of the first N layers in the CPU for the draft model (env:LLAMA_ARG_SPEC_DRAFT_N_CPU_MOE) ๐--spec-draft-n-max Nโ number of tokens to draft for speculative decoding (default:3) (env:LLAMA_ARG_SPEC_DRAFT_N_MAX) ๐ข--spec-draft-n-min Nโ minimum number of draft tokens to use for speculative decoding (default:0) (env:LLAMA_ARG_SPEC_DRAFT_N_MIN) ๐ข--spec-draft-p-split,--draft-p-split Pโ speculative decoding split probability (default:0.10) (env:LLAMA_ARG_SPEC_DRAFT_P_SPLIT) โ๏ธ--spec-draft-p-min,--draft-p-min Pโ minimum speculative decoding probability (greedy) (default:0.00) (env:LLAMA_ARG_SPEC_DRAFT_P_MIN) โ๏ธ--spec-draft-backend-sampling,--no-spec-draft-backend-samplingโ offload draft sampling to the backend (default: enabled) (env:LLAMA_ARG_SPEC_DRAFT_BACKEND_SAMPLING) ๐งช--spec-draft-device,-devd,--device-draft <dev1,dev2,..>โ comma-separated list of devices to use for offloading the draft model (none= don't offload), use--list-devicesto see a list of available devices ๐ป--spec-draft-ngl,-ngld,--gpu-layers-draft,--n-gpu-layers-draft Nโ max. number of draft model layers to store in VRAM, either an exact number,'auto', or'all'(default:auto) (env:LLAMA_ARG_N_GPU_LAYERS_DRAFT) ๐ฎ--spec-draft-model,-md,--model-draft FNAMEโ draft model for speculative decoding (default: unused) (env:LLAMA_ARG_SPEC_DRAFT_MODEL) ๐ง--spec-typenone,draft-simple,draft-eagle3,draft-mtp,draft-dflash,draft-dspark,ngram-simple,ngram-map-k,ngram-map-k4v,ngram-mod,ngram-cacheโ comma-separated list of types of speculative decoding to use (default:none) (env:LLAMA_ARG_SPEC_TYPE) ๐--spec-ngram-mod-n-min Nโ minimum number of ngram tokens to use for ngram-based speculative decoding (default:48) ๐ข--spec-ngram-mod-n-max Nโ the absolute max number of ngram tokens we're allowed to use for ngram-based speculative decoding (default:64). cap it, bestie ๐--spec-ngram-mod-n-match Nโ how long the ngram-mod lookup is (default:24) ๐--spec-ngram-simple-size-n Nโ the ngram sizeNfor ngram-simple speculative decoding, aka the length of the lookup n-gram (default:12) โจ--spec-ngram-simple-size-m Nโ the ngram sizeMfor ngram-simple speculative decoding, aka the length of the draft m-gram (default:48) ๐ธ--spec-ngram-simple-min-hits Nโ minimum hits required for ngram-simple speculative decoding (default:1) ๐ฏ--spec-ngram-map-k-size-n Nโ ngram sizeNfor ngram-map-k speculative decoding, the length of the lookup n-gram (default:12) ๐--spec-ngram-map-k-size-m Nโ ngram sizeMfor ngram-map-k speculative decoding, the length of the draft m-gram (default:48) ๐ฆ--spec-ngram-map-k-min-hits Nโ minimum hits for ngram-map-k speculative decoding (default:1) โญ--spec-ngram-map-k4v-size-n Nโ ngram sizeNfor ngram-map-k4v speculative decoding, the length of the lookup n-gram (default:12) ๐ง--spec-ngram-map-k4v-size-m Nโ ngram sizeMfor ngram-map-k4v speculative decoding, the length of the draft m-gram (default:48) ๐--spec-ngram-map-k4v-min-hits Nโ minimum hits for ngram-map-k4v speculative decoding (default:1) ๐--draft,--draft-n,--draft-max Nโ okay so this one got removed ๐ญ use--spec-draft-n-maxor--spec-ngram-mod-n-maxinstead (env:LLAMA_ARG_DRAFT_MAX)--draft-min,--draft-n-min Nโ also removed ๐ use--spec-draft-n-minor--spec-ngram-mod-n-min(env:LLAMA_ARG_DRAFT_MIN)--spec-ngram-size-n Nโ removed, she's gone ๐ use the respective--spec-ngram-*-size-nor--spec-ngram-mod-n-match--spec-ngram-size-m Nโ removed ๐ฅ use the respective--spec-ngram-*-size-m--spec-ngram-min-hits Nโ removed ๐ use the respective--spec-ngram-*-min-hits
โจ ----- example-specific params ----- โจ
-lcs,--lookup-cache-static FNAMEโ path to the static lookup cache to use for lookup decoding (heads up: it does not get updated by generation) ๐-lcd,--lookup-cache-dynamic FNAMEโ path to the dynamic lookup cache to use for lookup decoding (this one does get updated by generation) ๐-ctxcp,--ctx-checkpoints,--swa-checkpoints Nโ max number of context checkpoints to create per slot (default:32) (more info athttps://github.com/ggml-org/llama.cpp/pull/15293) (env:LLAMA_ARG_CTX_CHECKPOINTS) ๐งท-cms,--checkpoint-min-step Nโ minimum spacing between context checkpoints, in tokens (default:8192, and0= no minimum) (env:LLAMA_ARG_CHECKPOINT_MIN_SPACING_NT) ๐-cram,--cache-ram Nโ set the maximum cache size in MiB (default:8192,-1= no limit,0= disable) (more info athttps://github.com/ggml-org/llama.cpp/pull/16391) (env:LLAMA_ARG_CACHE_RAM) ๐-kvu,--kv-unified,-no-kvu,--no-kv-unifiedโ use a single unified KV buffer shared across all sequences (default: enabled if the number of slots is auto) (env:LLAMA_ARG_KV_UNIFIED) ๐ซถ--cache-idle-slots,--no-cache-idle-slotsโ save idle slots to the prompt cache on a new task, and clear them when using unified KV (default: enabled, requirescache-ram) (env:LLAMA_ARG_CACHE_IDLE_SLOTS) ๐ค--context-shift,--no-context-shiftโ whether to use context shift on infinite text generation (default: disabled) (env:LLAMA_ARG_CONTEXT_SHIFT) โพ๏ธ-r,--reverse-prompt PROMPTโ halt generation atPROMPT, and return control in interactive mode ๐-sp,--specialโ special tokens output enabled (default:false) ๐ฎ--warmup,--no-warmupโ whether to perform a warmup with an empty run (default: enabled) ๐ฅ--spm-infillโ use Suffix/Prefix/Middle pattern for infill (instead of Prefix/Suffix/Middle), because some models prefer it that way. (default: disabled) ๐งฉ--pooling {none,mean,cls,last,rank}โ pooling type for embeddings; uses the model default if you don't specify one (env:LLAMA_ARG_POOLING) ๐-np,--parallel Nโ number of server slots (default:-1, and-1= auto) (env:LLAMA_ARG_N_PARALLEL) ๐ฏ-cb,--cont-batching,-nocb,--no-cont-batchingโ whether to enable continuous batching (a.k.a dynamic batching) (default: enabled) (env:LLAMA_ARG_CONT_BATCHING) ๐ฆ-mm,--mmproj FILEโ path to a multimodal projector file. seetools/mtmd/README.mdโ note: if-hfis used, this argument can be omitted (env:LLAMA_ARG_MMPROJ) ๐ผ๏ธ-mmu,--mmproj-url URLโ URL to a multimodal projector file. seetools/mtmd/README.md(env:LLAMA_ARG_MMPROJ_URL) ๐--mmproj-auto,--no-mmproj,--no-mmproj-autoโ whether to use a multimodal projector file (if available), which is super useful when using-hf(default: enabled) (env:LLAMA_ARG_MMPROJ_AUTO) ๐ค--mmproj-offload,--no-mmproj-offloadโ whether to enable GPU offloading for the multimodal projector (default: enabled) (env:LLAMA_ARG_MMPROJ_OFFLOAD) โก--image-min-tokens Nโ minimum number of tokens each image can take, only used by vision models with dynamic resolution (default: read from model) (env:LLAMA_ARG_IMAGE_MIN_TOKENS) ๐--image-max-tokens Nโ maximum number of tokens each image can take, only used by vision models with dynamic resolution (default: read from model) (env:LLAMA_ARG_IMAGE_MAX_TOKENS) ๐--mtmd-batch-max-tokens Nโ maximum number of image tokens per batch when encoding images (default:1024) (env:LLAMA_ARG_MTMD_BATCH_MAX_TOKENS) ๐๏ธ-a,--alias STRINGโ set model name aliases, comma-separated (to be used by the API) (env:LLAMA_ARG_ALIAS) ๐ท๏ธ--tags STRINGโ set model tags, comma-separated (informational, not used for routing) (env:LLAMA_ARG_TAGS) ๐--embd-normalize Nโ normalisation for embeddings (default:2) โ-1=none,0=max absolute int16,1=taxicab,2=euclidean,>2=p-norm ๐--host HOSTโ ip address to listen on, or bind to a UNIX socket if the address ends with.sock(default:127.0.0.1) (env:LLAMA_ARG_HOST) ๐--port PORTโ port to listen on (default:8080) (env:LLAMA_ARG_PORT) ๐ช--reuse-portโ allow multiple sockets to bind to the same port (default: disabled) (env:LLAMA_ARG_REUSE_PORT) โป๏ธ--path PATHโ path to serve static files from (default: empty) (env:LLAMA_ARG_STATIC_PATH) ๐--cors-origins ORIGINSโ comma-separated list of allowed origins for CORS (default:*); if set to the special valuelocalhost, it reflects the Origin header only if it is localhost (env:LLAMA_ARG_CORS_ORIGINS) ๐--cors-methods METHODSโ comma-separated list of allowed methods for CORS (default:GET, POST, DELETE, OPTIONS) (env:LLAMA_ARG_CORS_METHODS) โ--cors-headers HEADERSโ comma-separated list of allowed headers for CORS (default:*) (env:LLAMA_ARG_CORS_HEADERS) ๐--cors-credentials,--no-cors-credentialsโ whether to allow credentials for CORS (default: enabled) โ note: if this is enabled and--cors-originsis set to*(the default), the Origin header will be echoed back, and credentials will always be allowed (env:LLAMA_ARG_CORS_CREDENTIALS) ๐--api-prefix PREFIXโ prefix path the server serves from, without the trailing slash (default: empty) (env:LLAMA_ARG_API_PREFIX) ๐ฃ๏ธ--ui-config,--webui-config JSONโ JSON that provides default UI settings (overrides UI defaults) (env:LLAMA_ARG_UI_CONFIG) ๐๏ธ--ui-config-file,--webui-config-file PATHโ JSON file that provides default UI settings (overrides UI defaults) (env:LLAMA_ARG_UI_CONFIG_FILE) ๐--ui-mcp-proxy,--webui-mcp-proxy,--no-ui-mcp-proxy,--no-webui-mcp-proxyโ experimental: whether to enable the MCP CORS proxy โ do not enable in untrusted environments (default: disabled) (env:LLAMA_ARG_UI_MCP_PROXY) โ ๏ธ--tools TOOL1,TOOL2,...โ experimental: whether to enable built-in tools for AI agents โ do not enable in untrusted environments (default: no tools). specify"all"to enable all tools. available tools:read_file,file_glob_search,grep_search,exec_shell_command,write_file,edit_file,get_datetime,get_info. note: for security reasons, this will limit--cors-originsto localhost by default (env:LLAMA_ARG_TOOLS) ๐ ๏ธ--tools-runtime OPTIONโ experimental: run tools in a separate runtime environment (default:none, i.e. use the host environment). available options:'docker:<image>','podman:<image>': spin up a new container and reuse it for all invocations, clean up on server exit.'docker-container:<id>','podman-container:<id>': use an existing container by ID, and it won't stop on server exit.'ssh:<target>': run tools on a remote POSIX host over SSH, key-based auth and a trusted host key are required (env:LLAMA_ARG_TOOLS_RUNTIME) ๐ณ--mcp-servers-config PATHโ experimental: path to a JSON file with MCP server definitions (Cursor-compatible format) โ do not enable in untrusted environments (default: none). note: for security reasons, this will limit--cors-originsto localhost by default (env:LLAMA_ARG_MCP_SERVERS_CONFIG) ๐--mcp-servers-json JSONโ experimental: inline JSON with MCP server definitions (Cursor-compatible format) โ do not enable in untrusted environments (default: none). note: for security reasons, this will limit--cors-originsto localhost by default (env:LLAMA_ARG_MCP_SERVERS_JSON) ๐งพ-ag,--agent,-no-ag,--no-agentโ whether to enable the CORS proxy and all built-in tools โ do not enable in untrusted environments (default: disabled). note: for security reasons, this will limit--cors-originsto localhost by default (env:LLAMA_ARG_AGENT) ๐ต๏ธ--ui,--webui,--no-ui,--no-webuiโ whether to enable the Web UI (default: enabled) (env:LLAMA_ARG_UI) ๐ฅ๏ธ--embedding,--embeddingsโ restrict to only support the embedding use case; use only with dedicated embedding models (default: disabled) (env:LLAMA_ARG_EMBEDDINGS) ๐งฒ--rerank,--rerankingโ enable the reranking endpoint on the server (default: disabled) (env:LLAMA_ARG_RERANKING) ๐ฅ--api-key KEYโ API key to use for authentication, and multiple keys can be provided as a comma-separated list (default: none) (env:LLAMA_API_KEY) ๐--api-key-file FNAMEโ the path to a file holding your API keys, one per line</p>, bestie. Lines that start with a#are treated as comments, so go ahead and annotate ๐ (default: none) (env:LLAMA_ARG_API_KEY_FILE)--ssl-key-file FNAMEโ path to a file with a PEM-encoded SSL private key ๐ (env:LLAMA_ARG_SSL_KEY_FILE)--ssl-cert-file FNAMEโ path to a file with a PEM-encoded SSL certificate ๐ (env:LLAMA_ARG_SSL_CERT_FILE)--chat-template-kwargs STRINGโ sets extra params for the json template parser, and it has to be a valid json object string, like'{"key1":"value1","key2":"value2"}'โ no vibes-based json allowed, it's giving strict ๐งพ (env:LLAMA_ARG_CHAT_TEMPLATE_KWARGS)-to,--timeout Nโ server read/write timeout in seconds โฐ (default: 3600) (env:LLAMA_ARG_TIMEOUT)--sse-ping-interval Nโ server SSE ping interval in seconds, and-1= disabled, so if you want it quiet just say that โจ (default: 30) (env:LLAMA_ARG_SSE_PING_INTERVAL)--threads-http Nโ how many threads get to process HTTP requests ๐งต (default: -1) (env:LLAMA_ARG_THREADS_HTTP)--cache-prompt,--no-cache-promptโ whether to enable prompt caching, it's on by default because of course it is ๐ (default: enabled) (env:LLAMA_ARG_CACHE_PROMPT)--cache-reuse Nโ the min chunk size to attempt reusing from the cache via KV shifting, and heads up: it requires prompt caching to be enabled, so no caching no reusing no debate ๐ (default: 0)[(card)](https://ggml.ai/f0.png)(env:LLAMA_ARG_CACHE_REUSE)--metricsโ enable the prometheus compatible metrics endpoint ๐ (default: disabled) (env:LLAMA_ARG_ENDPOINT_METRICS)--propsโ enable changing global properties viaPOST /props๐๏ธ (default: disabled) (env:LLAMA_ARG_ENDPOINT_PROPS)--slots,--no-slotsโ expose the slots monitoring endpoint ๐ (default: enabled) (env:LLAMA_ARG_ENDPOINT_SLOTS)--slot-save-path PATHโ path to save the slot kv cache ๐พ (default: disabled)--media-path PATHโ directory for loading local media files; files can be accessed viafile://URLs using relative paths ๐ผ๏ธ (default: disabled)--models-dir PATHโ directory containing models for the router server ๐ (default: disabled) (env:LLAMA_ARG_MODELS_DIR)--models-preset PATHโ path to an INI file containing model presets for the router server ๐ (default: disabled) (env:LLAMA_ARG_MODELS_PRESET)--models-max Nโ for the router server, the maximum number of models to load simultaneously โ (default: 4, 0 = unlimited) (env:LLAMA_ARG_MODELS_MAX)--models-autoload,--no-models-autoloadโ for the router server, whether to automatically load models ๐ค (default: enabled) (env:LLAMA_ARG_MODELS_AUTOLOAD)--jinja,--no-jinjaโ whether to use the jinja template engine for chat ๐ง (default: enabled) (env:LLAMA_ARG_JINJA)--reasoning-format FORMATโ this one controls whether thought tags are allowed and/or extracted from the response, and in which format they're returned; it's one of:none: leaves thoughts unparsed inmessage.contentdeepseek: puts thoughts inmessage.reasoning_contentdeepseek-legacy: keeps `` tags inmessage.contentwhile also populatingmessage.reasoning_content
(default: auto) (env: LLAMA_ARG_THINK)
-rea,--reasoning [on|off|auto]โ use reasoning/thinking in the chat; it's'on','off', or'auto'๐ง (default:'auto'(detect from template)) (env:LLAMA_ARG_REASONING)--reasoning-effort LEVELโ the reasoning effort level handed to the chat template:'default'keeps the template default, or you give it a level such as'minimal','low','medium','high','xhigh'or'max'๐ฅ (default: default) (env:LLAMA_ARG_REASONING_EFFORT)--reasoning-budget Nโ token budget for thinking:-1for unrestricted,0for immediate end,N>0for token budget ๐ช (default: -1) (env:LLAMA_ARG_THINK_BUDGET)--reasoning-budget-message MESSAGEโ the message injected before the end-of-thinking tag when the reasoning budget is exhausted ๐ฌ (default: none) (env:LLAMA_ARG_THINK_BUDGET_MESSAGE)--reasoning-preserve,--no-reasoning-preserveโ preserve the reasoning trace in the full history, not just the last assistant message ๐ซถ (default: template default) โ compatible with certain templates having'supports_preserve_reasoning'capability, and the original drops an example athttps://docs.z.ai/guides/capabilities/thinking-mode#preserved-thinking(env:LLAMA_ARG_REASONING_PRESERVE)--chat-template JINJA_TEMPLATEโ set a custom jinja chat template ๐ (default: template taken from model's metadata) โ but ngl there's fine print: if suffix/prefix are specified, the template will be disabled, and only commonly used templates are accepted (unless--jinjais set before this flag). Here's the list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r,
deepseek, deepseek-ocr, deepseek2, deepseek3, exaone-moe, exaone3, exaone4,
falcon3, gemma, gigachat, glmedge, gpt-oss, granite, granite-4.0, granite-4.1,
grok-2, hunyuan-dense, hunyuan-moe, hunyuan-vl, kimi-k2, llama2, llama2-sys,
llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,
mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,
openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm,
solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE)
--chat-template-file JINJA_TEMPLATE_FILEโ same deal but you point it at a file with a custom jinja chat template ๐ (default: template taken from model's metadata) โ again: if suffix/prefix are specified, the template will be disabled, only commonly used templates are accepted (unless--jinjais set before this flag), and the built-in list is:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r,
deepseek, deepseek-ocr, deepseek2, deepseek3, exaone-moe, exaone3, exaone4,
falcon3, gemma, gigachat, glmedge, gpt-oss, granite, granite-4.0, granite-4.1,
grok-2, hunyuan-dense, hunyuan-moe, hunyuan-vl, kimi-k2, llama2, llama2-sys,
llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,
mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,
openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm,
solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE_FILE)
--skip-chat-parsing,--no-skip-chat-parsingโ force a pure content parser, even if a Jinja template is specified; the model will output everything in the content section, including any reasoning and/or tool calls ๐ช๏ธ (default: disabled) (env:LLAMA_ARG_SKIP_CHAT_PARSING)--prefill-assistant,--no-prefill-assistantโ whether to prefill the assistant's response if the last message is an assistant message ๐ฃ๏ธ (default: prefill enabled) โ when this flag is set, if the last message is an assistant message then it will be treated as a full message and not prefilled (env:LLAMA_ARG_PREFILL_ASSISTANT)-sps,--slot-prompt-similarity SIMILARITYโ how much the prompt of a request must match the prompt of a slot in order to use that slot ๐ฏ (default: 0.10, 0.0 = disabled)--lora-init-without-applyโ load LoRA adapters without applying them, then apply later viaPOST /lora-adapters๐งฉ (default: disabled)--sleep-idle-seconds SECONDSโ number of seconds of idleness after which the server will sleep ๐ด (default: -1; -1 = disabled)--log-prompts-dir PATHโ log prompts to a directory, which gets auto-created if it's not already there; heads up, this is only used for debugging ๐ (default: disabled)--embd-gemma-defaultโ use the default EmbeddingGemma model ๐งฒ (note: can download weights from the internet)--fim-qwen-1.5b-defaultโ use default Qwen 2.5 Coder 1.5B โ๏ธ (note: can download weights from the internet)--fim-qwen-3b-defaultโ use default Qwen 2.5 Coder 3B โ๏ธ (note: can download weights from the internet)--fim-qwen-7b-defaultโ use default Qwen 2.5 Coder 7B โ๏ธ (note: can download weights from the internet)--fim-qwen-7b-specโ use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding โก (note: can download weights from the internet)--fim-qwen-14b-specโ use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding โก (note: can download weights from the internet)--fim-qwen-30b-defaultโ use default Qwen 3 Coder 30B A3B Instruct ๐ (note: can download weights from the internet)--gpt-oss-20b-defaultโ use gpt-oss-20b ๐ซง (note: can download weights from the internet)--gpt-oss-120b-defaultโ use gpt-oss-120b ๐ (note: can download weights from the internet)--vision-gemma-4b-defaultโ use Gemma 3 4B QAT ๐๏ธ (note: can download weights from the internet)--vision-gemma-12b-defaultโ use Gemma 3 12B QAT ๐๏ธ (note: can download weights from the internet)--spec-defaultโ enable the default speculative decoding config โจ
and that's a wrap on the whole page, bestie ๐ fr fr you now know every single flag. this one's a debian situation, dated September 2026, living under the name LLAMA-SERVER(1) โ go be the main character of your own server ๐
โจ
๐ฆ where this page comes from
- ubuntu stonking: llama.cpp-tools 10438+dfsg-1ubuntu1 ยท MIT
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms