LFM2.5 is a family of hybrid models designed for on-device deployment. It builds on the LFM2 architecture with extended pre-training and reinforcement learning.
Our most compact model yet: 230M parameters that punch above their weight, bringing real capability to the tightest memory and compute budgets.
Fast edge inference: Best throughput from low-cost CPUs to production GPUs, running at 213 tok/s decode speed on Galaxy S25 Ultra and 42 tok/s on a Raspberry Pi 5.
Built for agentic tasks: Distilled from LFM2.5-350M and refined with multi-stage reinforcement learning, making it well-suited for tool use and data extraction.
Find more information about LFM2.5-230M in our blog post.
MLX format for Apple Silicon. Optimized for fast inference on Mac devices.
We recommend using it for data extraction and lightweight on-device agentic pipelines. It is not recommended for reasoning-heavy workloads such as advanced math, code generation, or creative writing.
<|startoftext|><|im_start|>system
You are a helpful assistant trained by Liquid AI.<|im_end|>
<|im_start|>user
What is C. elegans?<|im_end|>
<|im_start|>assistant
Function definition: Provide the list of tools as a JSON object in the system prompt, or use tokenizer.apply_chat_template() with tools=....
Function call: By default, LFM2.5 writes Pythonic function calls (a Python list between <|tool_call_start|> and <|tool_call_end|> special tokens), as the assistant answer. You can override this behavior by asking the model to output JSON function calls in the system prompt.
Function execution: Execute the call and return the result with the tool role.
Final answer: LFM2.5 interprets the tool output and returns a plain-text answer addressing the original prompt.
<|startoftext|><|im_start|>system
List of tools: [{"name": "get_candidate_status", "description": "Retrieves the current status of a candidate in the recruitment process", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string", "description": "Unique identifier for the candidate"}}, "required": ["candidate_id"]}}]<|im_end|>
<|im_start|>user
What is the current status of candidate ID 12345?<|im_end|>
<|im_start|>assistant
<|tool_call_start|>[get_candidate_status(candidate_id="12345")]<|tool_call_end|>Checking the current status of candidate ID 12345.<|im_end|>
<|im_start|>tool
[{"candidate_id": "12345", "status": "Interview Scheduled", "position": "Clinical Research Associate", "date": "2023-11-20"}]<|im_end|>
<|im_start|>assistant
The candidate with ID 12345 is currently in the "Interview Scheduled" stage for the position of Clinical Research Associate, with an interview date set for 2023-11-20.<|im_end|>
🏃 Inference
LFM2.5 is supported by many inference frameworks. See the Inference documentation for the full list.
If you are interested in custom solutions with edge deployment, please contact our sales team.
Citation
bibtex
1@article{liquidAI2026230M,
2 author = {Liquid AI},
3 title = {LFM2.5-230M: Built to Run Anywhere},
4 journal = {Liquid AI Blog},
5 year = {2026},
6 note = {www.liquid.ai/blog/lfm2-5-230m},
7}