LiquidAI/LFM2.5-1.2B-Instruct-MLX-4bit
Run locally on Apple devices with Mirai
- Type
- local
- From
- LiquidAI
- Quantization
- MLX 4-bit
- Parameters
- 1.2B
- Size
- 632.8 MB

LFM2.5-1.2B-Instruct-MLX-4bit is a compact, quantized version of Liquid AI's LFM2.5-1.2B-Instruct model, exported specifically for fast inference on Apple Silicon devices using the MLX framework. At just 628 MB on disk, it delivers a remarkably efficient edge-deployment option for multilingual text generation.
Architecture & Specifications
This is a 4-bit quantized export (group size 64) of the 1.2-billion-parameter LFM2.5 instruction-tuned model. Despite its small footprint, it supports a generous 128K token context length, making it well-suited for tasks that require processing or generating long-form content on local hardware.
Multilingual Capability
LFM2.5-1.2B supports ten languages out of the box: English, Japanese, Korean, French, Spanish, German, Italian, Portuguese, Arabic, and Chinese — providing broad multilingual coverage for an edge-class model.
Ideal Use Cases
- On-device chat and instruction following on MacBooks, iMacs, and other Apple Silicon machines
- Low-latency local inference where cloud connectivity is unavailable or undesirable
- Multilingual text generation for lightweight assistants and embedded applications
- Long-context workloads that benefit from the 128K context window without requiring a large GPU
Getting Started
The model integrates directly with the `mlx-lm` Python library. Liquid AI recommends conservative sampling parameters — low temperature (0.1), top-k of 50, top-p of 0.1, and a slight repetition penalty of 1.05 — to produce focused, high-quality outputs.
Provenance
Developed by Liquid AI and derived from the base LFM2.5-1.2B-Instruct model. Released under the LFM 1.0 License.
spm https://github.com/trymirai/uzu.git
| 1 | import Uzu |
| 2 | |
| 3 | public func runChat() async throws { |
| 4 | let engineConfig = EngineConfig.create() |
| 5 | let engine = try await Engine.create(config: engineConfig) |
| 6 | |
| 7 | guard let model = try await engine.model(identifier: "LiquidAI/LFM2.5-1.2B-Instruct-MLX-4bit") else { |
| 8 | return |
| 9 | } |
| 10 | for try await update in try await engine.download(model: model).iterator() { |
| 11 | print("Download progress: \(update.progress())") |
| 12 | } |
| 13 | |
| 14 | let messages = [ |
| 15 | ChatMessage.system().withText(text: "You are a helpful assistant"), |
| 16 | ChatMessage.user().withText(text: "Tell me a short, funny story about a robot") |
| 17 | ] |
| 18 | let session = try await engine.chat(model: model, config: .create()) |
| 19 | let stream = await session.replyWithStream(input: messages, config: .create()) |
| 20 | var message: ChatMessage? = nil |
| 21 | for try await update in stream.iterator() { |
| 22 | switch update { |
| 23 | case .replies(let replies): |
| 24 | message = replies.last?.message |
| 25 | case .error(let error): |
| 26 | print("Error: \(error)") |
| 27 | } |
| 28 | } |
| 29 | print("Text: \(message?.text() ?? "empty")") |
| 30 | } |