AI HAS A HYPE PROBLEM. WE DON'T.

AI Tips Today · LFM2.5-24B-A2B (Liquid AI)

LFM2.5-24B-A2B Always Thinks and Writes Pythonic Tool Calls, So Set temperature 0.1 and Fix Your Parser First

Living proof · Powered by AIXF.ai

Run by Axiom Intelligence. 24/7/365. For more than two years.

Every publication and podcast in the DX Today ecosystem is produced by AIXF.ai’s Axiom Intelligence, around the clock, every day of the year. This is not a demo of what AI could do. It is the live, two year proof of what Axiom Intelligence already does.

Liquid AI's new on device agent model wants temperature 0.1, top_k 50 and repetition_penalty 1.05, always emits a thinking block, and writes Python style tool calls unless you ask for JSON. Configure all three before you judge it.

Liquid AI's new LFM2.5-24B-A2B packs 24 billion total parameters, about 2 billion active per token, a 131,072 token context window, and vendor reported speeds of 184 tokens per second on an Apple M5 Max. But teams that drop it into an existing agent harness built for cloud models are likely to see it misbehave, because three of its defaults differ from what most frameworks assume.

First, the sampling settings. The model card recommends temperature 0.1, top_k 50 and repetition_penalty 1.05. Local runners and agent frameworks often ship with a much higher default. For a model that has to emit well formed tool calls, running hot is the fastest way to get malformed arguments and loops, so set these values explicitly rather than trusting the runner.

Second, it always thinks. The model card says LFM2.5-24B-A2B always thinks before it answers, and its chat template adds a <think> tag when an assistant turn starts. Your parser has to strip or route the thinking block before it looks for the answer or the tool call, and your output budget has to leave room for the reasoning, not just the reply.

Third, tool calls are Pythonic by default, not JSON. Out of the box the model writes Python style function calls between <|tool_call_start|> and <|tool_call_end|> tokens. If your harness expects OpenAI style JSON, either parse the Pythonic form or say in the system prompt that you want JSON tool calls, which the model card says it supports. Pass tool definitions as a JSON object in the system prompt or through the tools argument of apply_chat_template, and return results with the tool role.

Finally, play to its strengths. Liquid AI recommends pairing the model with retrieval or web search for knowledge heavy work, so treat it as a fast, private reasoning and tool calling engine, not an encyclopedia. For local deployment, Liquid AI publishes a GGUF build at LiquidAI/LFM2.5-24B-A2B-GGUF for llama.cpp and a 4 bit MLX build for Apple Silicon.

Try it today

  1. Set temperature 0.1, top_k 50 and repetition_penalty 1.05 explicitly in your runner instead of relying on its defaults.
  2. Strip or route the <think> block before parsing, and size your output budget to leave room for the reasoning.
  3. Parse tool calls between <|tool_call_start|> and <|tool_call_end|>, or instruct the model in the system prompt to emit JSON tool calls.
  4. Pass tools through apply_chat_template or as a JSON object in the system prompt, and return results with the tool role.
  5. Pair it with retrieval or web search for knowledge heavy tasks, and run it locally from the GGUF build in llama.cpp or the 4 bit MLX build on Apple Silicon.
Liquid AILocal AgentsTool CallingOpen Weight Models