LLAMA-TOKENIZE(1)

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

🌸 NAME 🌸

Ok so this is the manual page for llama-tokenize, bestie β€” section 1, User Commands. It's the llama.cpp tool for tokenizing, and this page is all of its lore. Every flag, every env var, every default. Buckle up, we're going through it together. πŸ’–


πŸ’… DESCRIPTION πŸ’…

Before we get to the spicy part, there's a whole pile of shared settings that llama.cpp tools all understand. These are the common params, and they're giving "the same options show up in every sibling man page" energy. Read them once, know them forever. Periodt. ✨

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

  • -h, --help, --usage β€” prints the usage text and dips out. The "hello, what is this" button. 🫢
  • --version β€” shows the version plus build info. Iconic for bug reports.
  • -cl, --cache-list β€” shows you the list of models chillin' in your cache. πŸ—‚οΈ
  • --completion-bash β€” prints a source-able bash completion script for llama.cpp. Slap it in your shell and enjoy the tab-tab magic. ✨
  • -t, --threads N β€” how many 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, an arbitrarily long hex value. Complements cpu-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 β€” sets process/thread priority, and the mapping is: 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: 0, and 0 means "loaded from model". (env: LLAMA_ARG_CTX_SIZE)
  • -n, --predict, --n-predict N β€” number of tokens to predict. Default: -1, and -1 = infinity. Yes, infinity. Go off. 😭 (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, and -1 = all.
  • --swa-full β€” use full-size SWA cache. Default: false. (more info at 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, with 'on', 'off', or 'auto'. Default: 'auto'. (env: LLAMA_ARG_FLASH_ATTN)
  • -p, --prompt PROMPT β€” the prompt to start generation with. Heads up: for a 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. It defaults to linear unless the model itself specifies it. (env: LLAMA_ARG_ROPE_SCALING_TYPE)
  • --rope-scale N β€” RoPE context scaling factor, which 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, and 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, bestie, it's giving "we moved on". (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. The modes are:
    • 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. Simple, gorgeous, does exactly what it says. πŸ‘‘
  • -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, 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 (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, a comma-separated list of values, and a 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. A little vibe check for your tensors. πŸ”
  • --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.
  • --log-disable β€” Log disable.
  • --log-file FNAME β€” Log to file. (env: LLAMA_ARG_LOG_FILE)
  • --log-colors [on|off|auto] β€” turns colored logging on, off, or lets it decide for itself (on, off, or auto, default: auto). and bestie, auto means the colors show up whenever your output is headed to a terminal, which is exactly the vibe check you want. (env: LLAMA_ARG_LOG_COLORS)
  • -v, --verbose, --log-verbose β€” sets the verbosity level to infinity β€” like, log absolutely everything, no thoughts just messages. lowkey essential when you're debugging. 😭
  • -lv, --verbosity, --log-verbosity N β€” sets the verbosity threshold. any message with a higher verbosity than this one gets ignored, sorry girl. the values are:
    • 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, so you know exactly when everything popped off. (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 β€” same thing but for V on the draft model, bestie. 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 🌸

  • --samplers SAMPLERS β€” the samplers that get used for generation, in the order you list them, 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 -1 means 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 on generating (this implies --logit-bias EOS-inf). she does not know how to stop. πŸ’…
  • --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 β€” the last n tokens to consider for penalize (default: 64, 0 = disabled)
  • --repeat-penalty N β€” penalize a 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 the DRY sampling multiplier (default: 0.00, 0.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, 0 = 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 want no 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: 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. heads up bestie: Top K, Nucleus and Locally Typical samplers are ignored if they're used alongside this. (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 the likelihood of token ' Hello', or --logit-bias 15043-1 to decrease the likelihood of token ' Hello' ✨
  • --grammar GRAMMAR β€” a BNF-like grammar to constrain generations (see the samples in the grammars/ 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.py instead πŸ¦‹
  • -jf, --json-schema-file FILE β€” a 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)


πŸŽ€ example-specific params πŸŽ€

  • -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] β€” Docker Hub model repository. repo is optional and defaults to ai/. quant is 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, defaults to Q4_K_M, or falls back to the first file in the repo if Q4_K_M doesn't exist. mmproj also gets downloaded automatically 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 β€” Hugging Face model file. if you specify this, 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 the HF_TOKEN environment variable)

(env: HF_TOKEN)

  • --ids β€” only print the token IDs, in a Python-parseable list form like [1, 2, 3] (default: false) 🐍
  • --stdin β€” read the prompt from stdin (this takes precedence over -f/--file and -p/--prompt) (default: false)
  • --no-bos β€” do not add a BOS token to the prompt, even if the model normally uses one (default: false)
  • --no-parse-special β€” do not parse special tokens (chat, tool, etc.) (default: false)
  • --show-count β€” print the total number of tokens (default: false)
  • --offline β€” Offline mode: forces use of cache and prevents network access, so no wandering off to the internet mid-thought. (env: LLAMA_ARG_OFFLINE)

✨ example usage ✨

llama-tokenize -m your_model.gguf -p "Hello world"

llama-tokenize -m your_model.gguf -f prompt.txt --ids

cat prompt.txt | llama-tokenize -m your_model.gguf --stdin --show-count

and that's the whole page, bestie, you ate it up fr fr πŸ’…βœ¨ this one ships from debian and it's dated September 2026 β€” page LLAMA-TOKENIZE(1), no cap. go tokenize something iconic πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from