LLAMA-PERPLEXITY(1)
π LLAMA-PERPLEXITY(1) π β User Commands
okay bestie, sit down, hydrate, and let me tell you about llama-perplexity β it's lowkey one of the most iconic little tools in the llama.cpp fam, and this is the part of its manual where we spill the common params, the shared settings basically every llama.cpp binary shares. it's giving "universal cheat codes" and honestly? obsessed. π
β¨ NAME β¨
llama-perplexity β literally just llama-perplexity. that's the name, that's the whole vibe, no notes. π
π¦ DESCRIPTION π¦
okay so the manual doesn't do a big dramatic intro here β it just dives straight into the shared options block and goes off. main character energy fr fr. here's the whole thing, every single flag, no crumbs left behind:
π« ----- common params ----- π«
-h,--help,--usageβ print usage and exit. the classic "i'm lost bestie" button. π«Ά--versionβ show version and build info. proof you're running the right build, no cap.-cl,--cache-listβ show list of models in cache. window-shopping your downloads. β¨--completion-bashβ print source-able bash completion script forllama.cpp. yes, it will make your shell finish your sentences. iconic. π-t,--threads Nβ number of CPU threads to use during generation (default:<num_cpus>)- env:
LLAMA_ARG_THREADS
- env:
-tb,--threads-batch Nβ number of threads to use during batch and prompt processing (default: same as--threads)-C,--cpu-mask Mβ CPU affinity mask: arbitrarily long hex. Complements cpu-range (default:"")-Cr,--cpu-range lo-hiβ range of CPUs for affinity. Complements--cpu-mask--cpu-strict <0|1>β use strict CPU placement (default: 0)--prio Nβ set process/thread priority : low(-1), normal(0), medium(1), high(2), realtime(3) (default: 0)--poll <0...100>β use polling level to wait for work (0 - no polling, default: 50)-Cb,--cpu-mask-batch Mβ CPU affinity mask: arbitrarily long hex. Complements cpu-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 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β size of the prompt context (default: 512, 0 = loaded from model)- env:
LLAMA_ARG_CTX_SIZE
- env:
-n,--predict,--n-predict Nβ number of tokens to predict (default: -1, -1 = infinity)- env:
LLAMA_ARG_N_PREDICT
- env:
-b,--batch-size Nβ logical maximum batch size (default: 2048)- env:
LLAMA_ARG_BATCH
- env:
-ub,--ubatch-size Nβ physical maximum batch size (default: 512)- env:
LLAMA_ARG_UBATCH
- env:
--keep Nβ number of tokens to keep from the initial prompt (default: 0, -1 = all)--swa-fullβ use full-size SWA cache (default: false) [more info:https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055]- env:
LLAMA_ARG_SWA_FULL
- env:
-fa,--flash-attn [on|off|auto]β set Flash Attention use ('on', 'off', or 'auto', default: 'auto')- env:
LLAMA_ARG_FLASH_ATTN
- env:
-p,--prompt PROMPTβ prompt to start generation with; for system message, use-sys--perf,--no-perfβ whether to enable internal libllama performance timings (default: false)- env:
LLAMA_ARG_PERF
- env:
-f,--file FNAMEβ a file containing the prompt (default: none)-bf,--binary-file FNAMEβ binary file containing the prompt (default: none)-e,--escape,--no-escapeβ whether to process escapes sequences (\n,\r,\t,\',\",\\) (default: false)--rope-scaling {none,linear,yarn}β RoPE frequency scaling method, defaults to linear unless specified by the model- env:
LLAMA_ARG_ROPE_SCALING_TYPE
- env:
--rope-scale Nβ RoPE context scaling factor, expands context by a factor of N- env:
LLAMA_ARG_ROPE_SCALE
- env:
--rope-freq-base Nβ RoPE base frequency, used by NTK-aware scaling (default: loaded from model)- env:
LLAMA_ARG_ROPE_FREQ_BASE
- env:
--rope-freq-scale Nβ RoPE frequency scaling factor, expands context by a factor of 1/N- env:
LLAMA_ARG_ROPE_FREQ_SCALE
- env:
--yarn-orig-ctx Nβ YaRN: original context size of model (default: 0 = model training context size)- env:
LLAMA_ARG_YARN_ORIG_CTX
- env:
--yarn-ext-factor Nβ YaRN: extrapolation mix factor (default: -1.00, 0.0 = full interpolation)- env:
LLAMA_ARG_YARN_EXT_FACTOR
- env:
--yarn-attn-factor Nβ YaRN: scale sqrt(t) or attention magnitude (default: -1.00)- env:
LLAMA_ARG_YARN_ATTN_FACTOR
- env:
--yarn-beta-slow Nβ YaRN: high correction dim or alpha (default: -1.00)- env:
LLAMA_ARG_YARN_BETA_SLOW
- env:
--yarn-beta-fast Nβ YaRN: low correction dim or beta (default: -1.00)- env:
LLAMA_ARG_YARN_BETA_FAST
- env:
-kvo,--kv-offload,-nkvo,--no-kv-offloadβ whether to enable KV cache offloading (default: enabled)- env:
LLAMA_ARG_KV_OFFLOAD
- env:
--repack,-nr,--no-repackβ whether to enable weight repacking (default: enabled)- env:
LLAMA_ARG_REPACK
- env:
--no-hostβ bypass host buffer allowing extra buffers to be used- env:
LLAMA_ARG_NO_HOST
- env:
-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
- allowed values:
-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
- allowed values:
-dt,--defrag-thold Nβ KV cache defragmentation threshold (DEPRECATED) π- env:
LLAMA_ARG_DEFRAG_THOLD
- env:
-np,--parallel Nβ number of parallel sequences to decode (default: 1)- env:
LLAMA_ARG_N_PARALLEL
- env:
--mlockβ DEPRECATED in favor of--load-mode: force system to keep model in RAM rather than swapping or compressing- env:
LLAMA_ARG_MLOCK
- env:
--mmap,--no-mmapβ DEPRECATED in favor of--load-mode: whether to memory-map model. (if mmap disabled, slower load but may reduce pageouts if not using mlock)- env:
LLAMA_ARG_MMAP
- env:
-dio,--direct-io,-ndio,--no-direct-ioβ DEPRECATED in favor of--load-mode: use DirectIO if available- env:
LLAMA_ARG_DIO
- env:
-lm,--load-mode MODEβ model loading mode (default: auto)auto: mmap, unless a device does not support itnone: no special loading modemmap: memory-map model (if mmap disabled, slower load but may reduce pageouts if not using mlock)mlock: force system to keep model in RAM rather than swapping or compressingmmap+mlock: mmap + force system to keep 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 systemsdistribute: 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 run without this previously, it is recommended to 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 available devices - env:
LLAMA_ARG_DEVICE
- use
--list-devicesβ print list of available devices and exit-ot,--override-tensor <tensor name pattern>=<buffer type>,...β override tensor buffer type- env:
LLAMA_ARG_OVERRIDE_TENSOR
- env:
-cmoe,--cpu-moeβ keep all Mixture of Experts (MoE) weights in the CPU- env:
LLAMA_ARG_CPU_MOE
- env:
-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
- env:
-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
- env:
-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, comma-separated list of proportions, e.g.3,1- env:
LLAMA_ARG_TENSOR_SPLIT
- env:
-mg,--main-gpu INDEXβ the GPU to use for the model (with split-mode = none), or for intermediate results and KV (with split-mode = row) (default: 0)- env:
LLAMA_ARG_MAIN_GPU
- env:
-fit,--fit [on|off]β whether to adjust unset arguments to fit in device memory ('on' or 'off', default: 'on')- env:
LLAMA_ARG_FIT
- env:
-fitt,--fit-target MiB0,MiB1,MiB2,...β target margin per device for--fit, comma-separated list of values, single value is broadcast across all devices, default: 1024- env:
LLAMA_ARG_FIT_TARGET
- env:
-fitc,--fit-ctx Nβ minimum ctx size that can be set by--fitoption, default: 4096- env:
LLAMA_ARG_FIT_CTX
- env:
--check-tensorsβ check model tensor data for invalid values (default: false)--override-kv KEY=TYPE:VALUE,...β 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 device (default: true)--lora FNAMEβ path to LoRA adapter (use comma-separated values to load multiple adapters)--lora-scaled FNAME:SCALE,...β path to 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 scaling SCALE 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β model path to load- env:
LLAMA_ARG_MODEL
- env:
-mu,--model-url MODEL_URLβ model download url (default: unused)- env:
LLAMA_ARG_MODEL_URL
- env:
-dr,--docker-repo [<repo>/]<model>[:quant]
and that's where part one dips out bestie β the -dr, --docker-repo entry is literally just getting started and the rest is pulling up in the next chunk like a dramatic season finale. keep scrolling, we're not done yet π
- (bestie we literally got cut off mid-bullet, so here's the rest of this one π) β Docker Hub model repository.
repois optional, and it defaults toai/.quantis optional, and it defaults to:latest. example:gemma3(default: unused) (env:LLAMA_ARG_DOCKER_REPO) -hf,-hfr,--hf-repo <user>/<model>[:quant]β Hugging Face model repository, the one you actually want 90% of the time π¦.quantis optional, case-insensitive, and defaults toQ4_K_Mβ or it falls back to the first file in the repo ifQ4_K_Mdoesn't exist.mmprojalso gets downloaded automatically if available. to disable that, 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 you specify it, 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β the entire description is just "Log disable", and honestly? that's the whole vibe. it disables logging. periodt π--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). infinity, bestie. not a number. infinity π₯--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 output1: error2: warning3: info4: 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 this is the part where the model gets its little personality transplant. buckle up πΈ
--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)--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)
it's giving "we're still cooking this one". experimental means experimental, bestie π§
π§ͺ example-specific params π§ͺ
-kvu,--kv-unified,-no-kvu,--no-kv-unifiedβ use single unified KV buffer shared across all sequences (default: enabled if number of slots is auto) (env:LLAMA_ARG_KV_UNIFIED)--context-shift,--no-context-shiftβ whether to use context shift on infinite text generation (default: disabled) (env:LLAMA_ARG_CONTEXT_SHIFT)--chunks Nβ max number of chunks to process (default:-1,-1= all)--warmup,--no-warmupβ whether to perform warmup with an empty run (default: enabled)--hellaswagβ compute HellaSwag score over random tasks from datafile supplied with-f--hellaswag-tasks Nβ number of tasks to use when computing the HellaSwag score (default:400)--winograndeβ compute Winogrande score over random tasks from datafile supplied with-f--winogrande-tasks Nβ number of tasks to use when computing the Winogrande score (default:0)--multiple-choiceβ compute multiple choice score over random tasks from datafile supplied with-f--multiple-choice-tasks Nβ number of tasks to use when computing the multiple choice score (default:0)--kl-divergenceβ computes KL-divergence to logits provided via--kl-divergence-base--save-all-logits,--kl-divergence-base FNAMEβ set logits file--ppl-stride Nβ stride for perplexity calculation (default:0)--ppl-output-type <0|1>β output type for perplexity calculation (default:0)
and that's a wrap on the flags, bestie π you made it to the end of a very long options list and honestly? main character energy. go run something unhinged with --temp 2.0 and tell me how it went π«Ά
this page ships from debian and its date stamp says September 2026, and yeah, it's the one and only LLAMA-PERPLEXITY(1) manual β love her, respect her, read her before you file a bug π
π¦ where this page comes from
- ubuntu stonking: llama.cpp-tools-extra 10438+dfsg-1ubuntu1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms