--- license: other license_name: lfm1.0 license_link: LICENSE base_model: LiquidAI/LFM2.5-1.2B-Instruct tags: - gguf - tool-calling - liquid - lfm2.5 --- # LFM2.5-1.2B-Instruct GGUF — with tool_calls chat-template fix GGUF builds of [LiquidAI/LFM2.5-1.2B-Instruct](https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct-GGUF) prepared for tool calling. Every file is the corresponding upstream quant with **bit-identical weight tensors**; the embedded chat template (`tokenizer.chat_template`) is extended to render the `tool_calls` field of assistant messages, and the files marked in the table additionally embed LiquidAI's recommended sampling as `general.sampling.*` metadata. ## Model Capabilities - **Text generation** — instruction-following chat model - **Tool calling** — native LFM2 function-calling format; multi-turn tool use works thanks to the template fix in this repo - **Long context** — 128k tokens ## Getting Started Install [NobodyWho](https://docs.nobodywho.ooo/): ```bash pip install nobodywho ``` Run — the model is downloaded and cached automatically on first use: ```python from nobodywho import Chat chat = Chat("huggingface:NobodyWho/LFM2.5-1.2B-Instruct-GGUF/LFM2.5-1.2B-Instruct-Q8_0-vendor-sampling.gguf") response = chat.ask("What is the capital of Denmark?").completed() print(response) # Copenhagen! ``` ### Tool calling ```python from nobodywho import Chat, tool @tool(description="Gets the current weather for a city") def get_weather(city: str) -> str: return f"It is sunny and 22°C in {city}." chat = Chat( "huggingface:NobodyWho/LFM2.5-1.2B-Instruct-GGUF/LFM2.5-1.2B-Instruct-Q8_0-vendor-sampling.gguf", tools=[get_weather], ) print(chat.ask("What is the weather in Paris?").completed()) ``` > [!NOTE] > Tool calling with LFM models ships in the upcoming `nobodywho` release > ([PR #564](https://github.com/nobodywho-ooo/nobodywho/pull/564)). These files also work in any other > llama.cpp-based runtime; the original unmodified GGUFs live in the upstream > [LiquidAI/LFM2.5-1.2B-Instruct-GGUF](https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct-GGUF) repo. ## Why The upstream template renders only `message.content`. Runtimes that store tool calls in the structured `tool_calls` field (the HF "unified tool use" convention, used by NobodyWho and OpenAI-style APIs) re-render assistant tool-call turns as **empty turns**, so the model never sees its own previous calls — causing re-issued tool calls and degraded multi-turn tool use. The fixed template renders them in the model's native markup: ``` <|tool_call_start|>[get_weather(city="Paris")]<|tool_call_end|> ``` ## Files | File | Fix recipe | NobodyWho tool-suite score | |---|---|---| | `LFM2.5-1.2B-Instruct-Q8_0-vendor-sampling.gguf` | template + vendor sampling | 14/14 | | `LFM2.5-1.2B-Instruct-F16.gguf` | template only | 14/14 | | `LFM2.5-1.2B-Instruct-Q4_0-vendor-sampling.gguf` | template + vendor sampling | 12/14 (double-calls two tests) | ## Sampling notes The Q4_0 and Q8_0 files embed LiquidAI's recommended sampling as `general.sampling.*` metadata, taken from the vendor's LEAP deployment config: `temperature 0.3`, `min_p 0.15`, `repetition_penalty 1.05`. The F16 deliberately ships **without** sampling metadata: at full precision, embedding those values drops the bash-writing test (13/14 vs 14/14 with default sampling), so runtimes fall back to their own defaults. > The embedded values were previously `temp 0.1, top_k 50` (the vendor's > *model-card* prose, which conflicts with its LEAP config) and have been > corrected to the LEAP values above. All scores re-verified against these > files with the corrected sampler: Q8_0 **14/14**, F16 **14/14** > (sampling-free), F16 + vendor sampling 13/14, Q4_0 **12/14** (double-calls > two tests). ## Use Verified against [NobodyWho](https://github.com/nobodywho-ooo/nobodywho)'s 14-test tool-calling suite (single and multi-call, nested arguments, multi-turn) — see PR [#564](https://github.com/nobodywho-ooo/nobodywho/pull/564). Works as a drop-in replacement for the upstream Q8_0 file in any llama.cpp-based runtime. ## Model Details | Property | Value | |---|---| | Parameters | 1.2B | | Context length | 128,000 tokens | | License | [LFM Open License v1.0](LICENSE) | | Base model | [LiquidAI/LFM2.5-1.2B-Instruct](https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct) | ## License LFM Open License v1.0, unchanged from upstream — see [LICENSE](LICENSE). All credit for the model goes to [Liquid AI](https://huggingface.co/LiquidAI).