Spaces:
Paused
Paused
| # 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 | |