LLAMA-MTMD-CLI(1)
LLAMA-MTMD-CLI(1)
ok bestie, welcome to the manual page for llama-mtmd-cli โ it's in User Commands, section 1, and yes it's giving main character energy. ๐
โจ NAME โจ
llama-mtmd-cli - llama-mtmd-cli
literally the name is the name, periodt. ๐
๐ธ SYNOPSIS ๐ธ
llama-mtmd-cli [options] -m <model> --mmproj <mmproj> --image <image>
--audio <audio> -p <prompt>
so you run it like that, bestie. The<model>,<mmproj>,<image>,<audio>, and<prompt>are placeholders โ swap them for your actual stuff. โจ
๐ DESCRIPTION ๐
๐ common params ๐
-h,--help,--usageโ print usage and exit ๐ซถ--versionโ show version and build info ๐-cl,--cache-listโ show list of models in cache ๐--completion-bashโ print source-able bash completion script for llama.cpp โจ-t,--threads Nโ number of CPU threads to use during generation (default:<num_cpus>) (env:LLAMA_ARG_THREADS) ๐งต-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. Complementscpu-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. 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 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: 0, 0 = loaded from model) (env:LLAMA_ARG_CTX_SIZE) ๐-n,--predict,--n-predict Nโ number of tokens to predict (default: -1, -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โ 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) ๐-fa,--flash-attn [on|off|auto]โ set Flash Attention use ('on', 'off', or 'auto', default: 'auto') (env:LLAMA_ARG_FLASH_ATTN) โก-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) โฑ๏ธ-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: true) ๐ช--rope-scaling {none,linear,yarn}โ RoPE frequency scaling method, defaults to linear unless specified by the model (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, used by NTK-aware scaling (default: loaded from model) (env:LLAMA_ARG_ROPE_FREQ_BASE) ๐๏ธ--rope-freq-scale Nโ RoPE frequency scaling factor, expands context by a factor of 1/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: scale sqrt(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 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) ๐ซ-np,--parallel Nโ number of parallel sequences to decode (default: 1) (env:LLAMA_ARG_N_PARALLEL) ๐งต--mlockโ DEPRECATED in favor of--load-mode: force system to keep model in RAM rather than swapping or compressing (env:LLAMA_ARG_MLOCK) ๐--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) ๐บ๏ธ-dio,--direct-io,-ndio,--no-direct-ioโ DEPRECATED in favor of--load-mode: use DirectIO if available (env:LLAMA_ARG_DIO) โก-lm,--load-mode MODEโ model loading mode (default: auto) (env:LLAMA_ARG_LOAD_MODE) ๐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
--numa TYPEโ attempt optimizations that help on some NUMA systems (env:LLAMA_ARG_NUMA) ๐ง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 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
-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) ๐ฅ๏ธ--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) ๐งฉ-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: (env:LLAMA_ARG_SPLIT_MODE) โ๏ธ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)
-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) โ๏ธ-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 to 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, comma-separated list of values, single value is broadcast across all devices default: 1024 (env:LLAMA_ARG_FIT_TARGET) ๐ฏ-fitc,--fit-ctx Nโ minimum ctx size that can be set by--fitoption default: 4096 (env:LLAMA_ARG_FIT_CTX) ๐--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) ๐-mu,--model-url MODEL_URLโ the download url for your model, bestie ๐ (default: unused) (env:LLAMA_ARG_MODEL_URL)-dr,--docker-repo [<repo>/]<model>[:quant]โ a Docker Hub model repository. The repo part is optional and defaults toai/. The quant part is also optional and defaults to:latest. example:gemma3(default: unused) (env:LLAMA_ARG_DOCKER_REPO)-hf,-hfr,--hf-repo <user>/<model>[:quant]โ a Hugging Face model repository ๐ซถ the quant is optional, case-insensitive, defaults toQ4_K_M, and ifQ4_K_Mdoesn't exist it falls back to the first file in the repo. Oh andmmprojgets downloaded automatically too if it's 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โ a 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 from theHF_TOKENenvironment variable) (env:HF_TOKEN)--log-disableโ Log disable. that's the whole description, no notes, iconic ๐--log-file FNAMEโ log to file (env:LLAMA_ARG_LOG_FILE)--log-colors [on|off|auto]โ set colored logging, and you pass'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 the verbosity level to infinity, like, log ALL the messages, super 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 ๐ the 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โ the 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โ the 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 you get to be a control freak about your tokens, and honestly? slay ๐
--samplers SAMPLERSโ the samplers that will be used for generation, in 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, and-1means use a random seed)--sampler-seq,--sampling-seq SEQUENCEโ a simplified sequence for the samplers that will be used (default:edskypmxt)--ignore-eosโ ignore the end of stream token and keep generating (this implies--logit-bias EOS-inf) ๐ซฃ--temp,--temperature Nโ temperature (default: 0.20)--top-k Nโ top-k sampling (default: 40, and0= disabled) (env:LLAMA_ARG_TOP_K)--top-p Nโ top-p sampling (default: 0.95, and1.0= disabled)--min-p Nโ min-p sampling (default: 0.05, and0.0= disabled)--top-nsigma,--top-n-sigma Nโ top-n-sigma sampling (default: -1.00, and-1.0= disabled)--xtc-probability Nโ xtc probability (default: 0.00, and0.0= disabled)--xtc-threshold Nโ xtc threshold (default: 0.10, and1.0= disabled)--typical,--typical-p Nโ locally typical sampling, parameter p (default: 1.00, and1.0= disabled)--repeat-last-n Nโ the last n tokens to consider for penalize (default: 64, and0= disabled)--repeat-penalty Nโ penalize repeat sequence of tokens (default: 1.00, and1.0= disabled)--presence-penalty Nโ repeat alpha presence penalty (default: 0.00, and0.0= disabled)--frequency-penalty Nโ repeat alpha frequency penalty (default: 0.00, and0.0= disabled)--dry-multiplier Nโ set the DRY sampling multiplier (default: 0.00, and0.0= disabled)--dry-base Nโ set the DRY sampling base value (default: 1.75)--dry-allowed-length Nโ set the allowed length for DRY sampling (default: 2)--dry-penalty-last-n Nโ set the DRY penalty for the last n tokens (default: 64, and0= disable)--dry-sequence-breaker STRINGโ add a sequence breaker for DRY sampling, which clears out the default breakers ('\n',':','"','*') in the process ๐ซ use"none"if you don't want to use any sequence breakers at all--adaptive-target Nโ adaptive-p: select tokens near this probability (valid range 0.0 to 1.0; negative = disabled) (default: -1.00) โ more info here: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 range 0.0 to 0.99) (default: 0.90)--dynatemp-range Nโ dynamic temperature range (default: 0.00, and0.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, just so you know ๐ (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 a token appearing in the completion, i.e.--logit-bias 15043+1to increase the likelihood of the token' Hello', or--logit-bias 15043-1to decrease the likelihood of the token' Hello'--grammar GRAMMARโ BNF-like grammar to constrain generations (see the samples in thegrammars/dir) ๐ฆ--grammar-file FNAMEโ file to read the 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)
๐ธ example-specific params ๐ธ
-sys,--system-prompt PROMPTโ the system prompt to use with the model (if applicable, depending on the chat template)--warmup,--no-warmupโ whether to perform warmup with an empty run (default: enabled)-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 the multimodal projector file (if available), 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,--audio,--video FILEโ path to an image, audio, or video file. use with multimodal models, and use comma-separated values for multiple files ๐ฌ--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)--jinja,--no-jinjaโ whether to use the jinja template engine for chat (default: disabled) (env:LLAMA_ARG_JINJA)--chat-template JINJA_TEMPLATEโ set a custom jinja chat template (default: template taken from the model's metadata). if suffix/prefix are specified, the template will be disabled โ ๏ธ only commonly used templates are accepted (unless--jinjais set before this flag). 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)
๐ฆ Experimental CLI for multimodal ๐ฆ
-mand--mmprojare required-hf user/repocan replace both-mand--mmprojin most cases ๐--image,--audioand-pare optional, if NOT provided, the CLI will run in chat mode- to disable using GPU for the mmproj model, add
--no-mmproj-offload
fr fr, that's the whole page. go make something cute with it ๐ซถ
and that's a wrap, bestie ๐ this page ships with debian, dated September 2026, and it lives at LLAMA-MTMD-CLI(1). periodt โจ
๐ฆ 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