feat(llama-cpp): add lazy_mode model option (#12743)

* feat(llama-cpp): add lazy_mode model option

Expose upstream --lazy-mode (on, auto, off) as a model option, for
example `lazy_mode:on`. It controls on-demand reading of large tensors
such as per-layer embeddings; `on` requires mmap.

The option is also accepted as `lazy-mode` or `lzm`. Invalid values log
a warning and keep the upstream default (auto). The pinned llama.cpp
already provides the lazy_mode field in common_params.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* chore(llama-cpp): bump llama.cpp to c0fd78626405

Update the default llama.cpp pin to the current upstream master. The
changes since the old pin that the backend touches are additive: a new
common_decision_type value, new mtmd audio-stream and download helper
declarations. The two server patches still apply in order, and the
common_params fields and server headers the backend uses are unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

---------

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
authored and GitHub committed 2026-10-17 22:38:23 +02:00
1 parent e715af1def
commit e7cc993b0f
4 files changed
+46 -1

No files matched your search

@@ -398,6 +398,26 @@ Leave memory for the KV cache, compute buffers, the operating system, and other
Reduce `context_size` if the KV cache consumes too much memory.
The [GPU auto-fit settings](#gpu-auto-fit-mode) provide a separate way to let llama.cpp choose the allocation.
#### Lazy tensor loading
Some models have very large tensors that are used sparsely, such as per-layer embeddings.
The `lazy_mode` option (also `lazy-mode`) sets upstream `--lazy-mode`: it controls whether llama.cpp reads those tensors on demand instead of loading them all at startup.
```yaml
backend: llama-cpp
options:
- lazy_mode:on
```
| Value | Behavior |
|---|---|
| `auto` | Default. Read on demand only the marked tensors larger than 4 GiB. |
| `on` | Read on demand every marked tensor. Requires `mmap` (enabled by default). |
| `off` | Load everything at startup. |
An invalid value logs a warning and keeps the default.
The option needs a llama.cpp build that has `--lazy-mode`.
### Sampling and Generation
| Field | Type | Default | Description |