alt.freeweights.lfm / LFM2-1.2B-Tool
From: LiquidAI <huggingface.co/LiquidAI>Newsgroups: alt.freeweights.lfmSubject:

LFM2-1.2B-Tool

Date: 2026-11-15Commit: 6d24c6bSigned: 2DC28CC7B26A283B ✓

Text generation model with 1.2B parameters. Safetensors weights, 2.35 GB in all. Published by LiquidAI under LFM-1.0 (custom).

1.2B params2.35GBLFM2-1.2B-Toolsafetensorscustom terms
FactsParams1.2BSize2.35 GBFormatssafetensorsTasktext generationLicenseLFM-1.0 (custom)From sourcecustom termsread terms
# custom terms: read the license before you download
$ fw get LiquidAI/LFM2-1.2B-Tool
# manifest sha256 98746a083c82… · 2.35 GB · 10 files
$ fw verify ./LFM2-1.2B-Tool LiquidAI/LFM2-1.2B-Tool
From sourceHosted (signed)LiquidAI/LFM2-1.2B-ToolLast check: 2026-11-15 03:48 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of LFM2-1.2B.

Works with

Overview

Size
2.35 GB
Weights
2.34 GB (safetensors)
Parameters
1.2B
Formats
safetensors
Task
text generation
License
LFM-1.0 (custom) (custom)
Files
10, each with a sha256
Publisher
LiquidAI
Added
2026-11-15
Section
alt.freeweights.lfm
Lineage

Original release from the publisher.

Base model: LiquidAI/LFM2-1.2B

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 03:48 UTCpassed

Model card

From the publisher at commit 6d24c6b. Shown as plain text with links; images open at the publisher.

Image: Liquid AI

Try LFM • Docs • LEAP • Discord

LFM2-1.2B-Tool#

Based on LFM2-1.2B, LFM2-1.2B-Tool is designed for concise and precise tool calling. The key challenge was designing a non-thinking model that outperforms similarly sized thinking models for tool use.

Use cases:

  • Mobile and edge devices requiring instant API calls, database queries, or system integrations without cloud dependency.
  • Real-time assistants in cars, IoT devices, or customer support, where response latency is critical.
  • Resource-constrained environments like embedded systems or battery-powered devices needing efficient tool execution.

You can find more information about other task-specific models in this blog post.

📄 Model details#

Generation parameters: We recommend using greedy decoding with a temperature=0.

System prompt: The system prompt must provide all the available tools

Supported languages: English, Arabic, Chinese, French, German, Japanese, Korean, Portuguese, and Spanish.

Image: 68d41b9699b7e1fafd645300_Model Library-Prompt + Answer

Tool use: It consists of four main steps:

  1. Function definition: LFM2 takes JSON function definitions as input (JSON objects between <|tool_list_start|> and <|tool_list_end|> special tokens), usually in the system prompt
  2. Function call: LFM2 writes Pythonic function calls (a Python list between <|tool_call_start|> and <|tool_call_end|> special tokens), as the assistant answer.
  3. Function execution: The function call is executed and the result is returned (string between <|tool_response_start|> and <|tool_response_end|> special tokens), as a "tool" role.
  4. Final answer: LFM2 interprets the outcome of the function call to address the original user prompt in plain text.

Here is a simple example of a conversation using tool use:

<|startoftext|><|im_start|>system
List of tools: <|tool_list_start|>[{"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"]}}]<|tool_list_end|><|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
<|tool_response_start|>{"candidate_id": "12345", "status": "Interview Scheduled", "position": "Clinical Research Associate", "date": "2023-11-20"}<|tool_response_end|><|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|>

Warning. ⚠️ The model supports both single-turn and multi-turn conversations.

📈 Performance#

For edge inference, latency is a crucial factor in delivering a seamless and satisfactory user experience. Consequently, while test-time-compute inherently provides more accuracy, it ultimately compromises the user experience due to increased waiting times for function calls.

Therefore, the goal was to develop a tool calling model that is competitive with thinking models, yet operates without any internal chain-of-thought process.

Image: image

We evaluated each model on a proprietary benchmark that was specifically designed to prevent data contamination. The benchmark ensures that performance metrics reflect genuine tool-calling capabilities rather than memorized patterns from training data.

🏃 How to run#

You can use the following Colab notebooks for easy inference and fine-tuning:

NotebookDescriptionLink
InferenceRun the model with Hugging Face's transformers library.Colab link
SFT (TRL)Supervised Fine-Tuning (SFT) notebook with a LoRA adapter using TRL.Colab link
DPO (TRL)Preference alignment with Direct Preference Optimization (DPO) using TRL.Colab link
SFT (Axolotl)Supervised Fine-Tuning (SFT) notebook with a LoRA adapter using Axolotl.Colab link
SFT (Unsloth)Supervised Fine-Tuning (SFT) notebook with a LoRA adapter using Unsloth.Colab link

📬 Contact#

Citation#

@article{liquidai2025lfm2,
 title={LFM2 Technical Report},
 author={Liquid AI},
 journal={arXiv preprint arXiv:2511.23404},
 year={2025}
}

Files

10 files · 2.35 GBWeights 2.34 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 10 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
LICENSE10.6 KB4d28ca14dedc0b3d0fcc2b3339f0e79931faa33874f3d24f522183a8fc70068c
README.md7.44 KB0b7534c15e371ce65ae4cf2e5572e45de8d9ac6c7c108676054b659c8e08b50b
chat_template.jinja1.30 KB89e790f027916b5a2bca145a6a8454e06ffc7a5043bf3b6d97829aff86bb543f
config.json1.28 KB88176f18a15c1fc526c4cfd694b51f72303955251ed9350d4dd5f022652200f7
generation_config.json132 Ba22f60d4dfc3ff7a207e34d547acbcf738748fbfa5b654d38b0a72eb27fe6472
model.safetensors2.34 GBa4c20a1b60004c55497f326f09ad7c241cb09955035304bf666f8c3c28def154
special_tokens_map.json434 B742aefe2b7dec496e8caffdba03a75d0c1a9925d53bd3f3e0d388c96b591b6f4
tokenizer.json4.73 MBfbb4071ea653afe958c24562139c2c09618f90bb6bf50d7669dfe10a0fa02e68
tokenizer_config.json91.6 KB7ca0d77fb4efd7a7b3b957ef1f7749de4143e163e36eddfdf5a3de6822825eb8
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
6d24c6b747 pinned now2026-11-15 03:48 UTC10 files · 2.35 GB

Use it

# custom terms: read the license before you download
$ fw get LiquidAI/LFM2-1.2B-Tool
# manifest sha256 98746a083c82… · 2.35 GB · 10 files
$ fw verify ./LFM2-1.2B-Tool LiquidAI/LFM2-1.2B-Tool
Terms that come with these files. LFM 1.0: commercial use only for organisations under US$10M annual revenue. Keep a copy of the license with the files.
Custom license (custom). Read the license text first. Open this panel to show the commands once you accept its terms.
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/LiquidAI/LFM2-1.2B-Tool.json --dir ./LFM2-1.2B-Tool $ python3 fw.py verify ./LFM2-1.2B-Tool ./LiquidAI__LFM2-1.2B-Tool.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download LiquidAI/LFM2-1.2B-Tool --revision 6d24c6b7471fcbcec084935e377a5302f4b84389 --local-dir ./LFM2-1.2B-Tool
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("LiquidAI/LFM2-1.2B-Tool", revision="6d24c6b7471fcbcec084935e377a5302f4b84389") model = AutoModelForCausalLM.from_pretrained("LiquidAI/LFM2-1.2B-Tool", revision="6d24c6b7471fcbcec084935e377a5302f4b84389", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve LiquidAI/LFM2-1.2B-Tool --revision 6d24c6b7471fcbcec084935e377a5302f4b84389

License

Name
LFM Open License v1.0
Id
LicenseRef-LFM-1.0
Class
Custom terms
Redistribution
click-through
Listing
Hosted (signed)
Terms
LFM 1.0: commercial use only for organisations under US$10M annual revenue. Keep a copy of the license with the files.
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
LICENSE
Text sha256
4d28ca14dedc0b3d0fcc2b3339f0e79931faa33874f3d24f522183a8fc70068c
Terms gate
Yes. The commands stay folded until you open them after reading the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: LiquidAI <huggingface.co/LiquidAI>Newsgroups: alt.freeweights.lfmSubject: LFM2-1.2B-ToolDate: 2026-11-15Commit: 6d24c6bSigned: 2DC28CC7B26A283B ✓
Upstream
LiquidAI/LFM2-1.2B-Tool
Pinned commit
6d24c6b7471fcbcec084935e377a5302f4b84389
Manifest
LFM2-1.2B-Tool.json · .minisig
Manifest sha256
98746a083c82f8f02d2c4f97a5749b322804415b1776bb3f052cdfcafe84592d
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:48 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/LiquidAI/LFM2-1.2B-Tool.json $ curl -O https://freeweights.allternit.com/manifests/LiquidAI/LFM2-1.2B-Tool.json.minisig $ minisign -Vm LFM2-1.2B-Tool.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

LiquidAI/LFM2-1.2B · this model is a finetune of it

1 model in the catalog name this one as their parent.

Quantizations
1
Get it
Read license, then download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download LiquidAI/LFM2-1.2B-Tool
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. LFM2-1.2B-Tool.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of LFM2-1.2B-Tool. Each has its own license check and page.

From: LiquidAI <huggingface.co/LiquidAI>Subject: LFM2-1.2B
From: LiquidAI <huggingface.co/LiquidAI>Subject: LFM2-1.2B-Extract
From: LiquidAI <huggingface.co/LiquidAI>Subject: LFM2-1.2B-RAG
From: LiquidAI <huggingface.co/LiquidAI>Subject: LFM2-2.6B
From: LiquidAI <huggingface.co/LiquidAI>Subject: LFM2-2.6B-Exp
From: LiquidAI <huggingface.co/LiquidAI>Subject: LFM2-24B-A2B