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

An 8-bit quantized MLX export of Liquid AI's LFM2.5-1.2B-Instruct model, purpose-built for efficient text generation on Apple Silicon hardware. At just 1.2 GB, this model delivers capable instruction-following performance in a highly portable package.
Architecture & Specifications
LFM2.5 is part of Liquid AI's proprietary Liquid Foundation Model family, designed with edge deployment in mind. This variant packs 1.2 billion parameters into an 8-bit quantized format (group size 64), enabling fast local inference via the MLX framework on Mac devices. Despite its compact size, it supports an impressive 128K token context length, making it suitable for tasks that require processing long documents or extended conversations.
Capabilities
The model is multilingual, supporting ten languages including English, Japanese, Korean, French, Spanish, German, Italian, Portuguese, Arabic, and Chinese. As an instruction-tuned model, it handles conversational prompts, question answering, and general-purpose text generation tasks. Liquid AI recommends conservative sampling parameters — low temperature (0.1) and narrow top-p (0.1) — suggesting the model is optimized for precise, deterministic outputs rather than creative generation.
Use Cases
- On-device inference on MacBooks, iMacs, and other Apple Silicon machines
- Multilingual assistant tasks across ten supported languages
- Long-context processing with up to 128K tokens of input
- Resource-constrained environments where a sub-2 GB model footprint is essential
Provenance
Built by Liquid AI and exported for MLX using the `mlx-lm` library. The base model is LFM2.5-1.2B-Instruct. 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-8bit") 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 | } |