LLAMA-EMBEDDING(1)

πŸ“¦
version 10438 Β· 2 versions
, in ubuntu stonking

πŸ’– NAME πŸ’–

llama-embedding β€” section 1, User Commands, and the name of this whole thing is llama-embedding. That's it, that's the name, and the description is also llama-embedding. She contains multitudes. πŸ’…

✨ DESCRIPTION ✨

Okay bestie, listen. This page is the whole vibe board of knobs and dials, and it opens with the universal llama.cpp stuff β€” the stuff every binary in the family shares. There's a lot. You're gonna want a snack. πŸ“

πŸŽ€ ----- common params ----- πŸŽ€

  • -h, --help, --usage β€” prints the usage and dips out. The "what does this even do" button. 🫢
  • --version β€” shows you the version and the build info. Receipts for what you compiled.
  • -cl, --cache-list β€” shows the list of models chillin' in the cache. ✨
  • --completion-bash β€” prints a source-able bash completion script for llama.cpp. Your tab key is about to eat. πŸ‘‘
  • -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: arbitrarily long hex. Complements cpu-range (default: ""). It's giving "let me pick exactly which cores I talk to".
  • -Cr, --cpu-range lo-hi β€” a range of CPUs for affinity. Complements --cpu-mask. The low-effort version of the hex thing πŸ’…
  • --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). Spinning like it's a hot girl summer, except it's a CPU.
  • -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: 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)
πŸ’€ deprecated, bestie. It's still here but it's giving ghost of configs past.
  • -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).
    • auto: mmap, unless a device does not support it
    • none: no special loading mode
    • mmap: 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 compressing
    • mmap+mlock: mmap + force system to keep model in RAM rather than swapping or compressing
    • dio: 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 nodes
    • isolate: only spawn threads on CPUs on the node that execution started on
    • numactl: 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-devices to see a list of available devices (env: LLAMA_ARG_DEVICE).
  • --list-devices β€” print list of available devices and exit. Window shopping but for GPUs πŸ’…
  • -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 only
    • layer (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).
  • -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)
  • -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 --fit option, default: 4096 (env: LLAMA_ARG_FIT_CTX).
  • --check-tensors β€” check model tensor data for invalid values (default: false). It's giving "who hurt you, tensor" πŸ”
  • --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 β€” model download url (default: unused). (env: LLAMA_ARG_MODEL_URL)
  • -dr, --docker-repo [<repo>/]<model>[:quant] β€” and that's exactly where this chunk of the page cuts off, bestie 🫢 no cap, the rest is coming.

Docker Hub model repository. repo is optional, default to ai/. quant is optional, default to :latest. example: gemma3 (default: unused) (env: LLAMA_ARG_DOCKER_REPO)

  • -hf, -hfr, --hf-repo <user>/<model>[:quant] β€” the Hugging Face model repo, bestie πŸ’œ quant is optional, case-insensitive, defaults to Q4_K_M, or if Q4_K_M doesn't exist it falls back to the first file in the repo. mmproj gets downloaded automatically too if it's available. to turn that off, 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 β€” the 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 β€” your Hugging Face access token (default: value from the HF_TOKEN environment variable) (env: HF_TOKEN)
  • --log-disable β€” Log disable. yeah. silence. that's the whole option πŸ”‡
  • --log-file FNAME β€” log to a 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). not exaggerating, it literally says 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, in order:
    • 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 πŸŽ€

this is where the flavor lives, like actually. every knob that decides which token comes next πŸ‘‘

  • --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, use random seed for -1)
  • --sampler-seq, --sampling-seq SEQUENCE β€” the simplified sequence for the 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 a sequence breaker for DRY sampling, clearing out the 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 range 0.0 to 1.0; negative = disabled) (default: -1.00). more info lives 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, 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 a token appearing in the completion, i.e. --logit-bias 15043+1 to increase likelihood of token ' Hello', or --logit-bias 15043-1 to decrease likelihood of token ' Hello'
  • --grammar GRAMMAR β€” BNF-like grammar to constrain generations (see samples in the grammars/ 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.py instead
  • -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.py instead
  • -bs, --backend-sampling β€” enable backend sampling (experimental) (default: disabled) (env: LLAMA_ARG_BACKEND_SAMPLING)
⚠️ okay gentle reminder bestie: -bs/--backend-sampling is marked experimental in the original, so treat it accordingly ✨

πŸ¦‹ example-specific params πŸ¦‹

the lil extras that the llama-embedding example itself brings to the party πŸ’–

  • --verbose-prompt β€” print a verbose prompt before generation (default: false)
  • --warmup, --no-warmup β€” whether to perform warmup with an empty run (default: enabled)
  • --pooling {none,mean,cls,last,rank} β€” pooling type for embeddings, use model default if unspecified (env: LLAMA_ARG_POOLING)
  • --attention {causal,non-causal} β€” attention type for embeddings, use model default if unspecified
  • --embd-normalize N β€” normalisation for embeddings (default: 2) (-1=none, 0=max absolute int16, 1=taxicab, 2=euclidean, >2=p-norm)
  • --embd-output-format FORMAT β€” empty = default, "array" = [[],[]...], "json" = openai style, "json+" = same "json" + cosine similarity matrix, "raw" = plain whitespace-delimited output (one embedding per line)
  • --embd-separator STRING β€” separator of embeddings (default \n) for example "<#sep#>"
  • --cls-separator STRING β€” separator of classification sequences (default \t) for example "<#seq#>"
  • --embd-gemma-default β€” use the default EmbeddingGemma model (note: can download weights from the internet 🌐)

okay that's the whole page, no notes, we ate πŸ“ every single flag survived the vibe translation, bestie, nothing got dropped, periodt πŸ’…

this lil masterpiece ships with the debian manual, dated September 2026, and it's filed under LLAMA-EMBEDDING(1) 🫢✨ go embed something iconic πŸ‘‘

πŸ“¦ where this page comes from