agent-inference / config.yaml
Leon4gr45's picture
Thinking fixes: strip client max_tokens (enforce n-predict 2048), deepseek reasoning-format
1c24286 verified
Raw
History Blame Contribute Delete
1.6 kB
# llama-swap config: two 1.2B specialists, swapped by the request's "model"
# field. One model resident at a time (2-vCPU tier); a swap costs a ~1.3GB
# mmap load (~5-10s), far cheaper than running the wrong specialist.
#
# lfm-thinking : LFM2.5-1.2B-Thinking — deliberate reasoning / decisions
# lfm-tool : LFM2-1.2B-Tool — tool-call execution
#
# Shared tuning (mirrors the other Spaces): split KV cache quant K=q8_0/V=q4_0,
# flash-attn on (required for quantized V), cache-reuse 256, 32K ctx / 2 slots.
macros:
common: >
/llama.cpp/build/bin/llama-server
--host 127.0.0.1 --port ${PORT}
--threads 2 --threads-batch 2
--ctx-size 32768 --parallel 2
--batch-size 512 --ubatch-size 512
--cache-type-k q8_0 --cache-type-v q4_0
--flash-attn on --cache-reuse 256
--jinja --mmap
models:
lfm-thinking:
# A thinking model dies inside <think> on small budgets (measured: 512 was
# exhausted mid-reasoning on trivial prompts). Strip the client's max_tokens
# and enforce a 2048 default server-side; deepseek reasoning-format moves
# <think> text into reasoning_content so content carries only the answer.
cmd: >
${common}
--model /models/LFM2.5-1.2B-Thinking-Q8_0.gguf
--reasoning-format deepseek
--n-predict 2048
--alias lfm-thinking
filters:
strip_params: "max_tokens, max_completion_tokens"
aliases:
- thinking
- decision
lfm-tool:
cmd: >
${common}
--model /models/LFM2-1.2B-Tool-Q8_0.gguf
--alias lfm-tool
aliases:
- tool
- agent