Built with mlx-optiq, the MLX-native toolkit to quantize, fine-tune, and serve LLMs locally on Apple Silicon, no PyTorch and no cloud. All OptiQ quants · Docs
Liquid's on-device vision-language model, quantized for a Mac. This is an OptiQ mixed-precision quant of LiquidAI/LFM2.5-VL-3B-MLX-bf16. 2.8 GB on disk, down from 6.3 GB.
LFM2.5-VL pairs a SigLIP2 encoder with the LFM2.5 hybrid language tower: short convolutional blocks alternate with full-attention blocks, and only the attention blocks carry a KV cache, so memory grows slowly as context does. OptiQ quantizes the language tower to mixed 4/8-bit and keeps the vision tower at bf16 in a sidecar, so one checkpoint does text and images.
per-layer 4/8-bit: 88 layers at 4-bit, 78 at 8-bit
Vision tower
bf16, kept in optiq/optiq_vision.safetensors (441 tensors)
On disk
1.98 GB language + 0.85 GB vision
Resolution
native aspect ratio; position embeddings resampled per image
The vision tower runs natively in MLX with no PyTorch and no mlx-vlm at runtime. It was checked against the reference implementation across four patch grids and matches to bf16 round-off, so image answers are the base model's rather than an approximation.
Following llama.cpp's naming for mixed quants, the "4bit" label denotes the family, not the weighted average.
It does not initiate tool calls. The 0.0% is a real result, not a harness artifact: on BFCL's prompts this model works the answer out itself rather than calling the function. Asked "find the area of a triangle with base 10 and height 5" it derives the formula and answers 25, while its text-only sibling LFM2.5-1.2B-Instruct calls calculate_triangle_area and scores 45.0%. Both were run through the same harness with the same chat template logic.
It emits correct calls when told to use a tool — <|tool_call_start|>[get_weather(city="Paris")]<|tool_call_end|> parses cleanly — so the capability is there; the model just does not reach for it unprompted. If you need agentic tool use at this size, take the text 1.2B or 2.6B instead.
Long-context retrieval also falls off quickly: 40% at one hop, near zero beyond. That is what a hybrid with few attention layers predicts, and it is the trade that keeps its KV cache small.
# custom terms: read the license before you download$ fw get mlx-community/LFM2.5-VL-3B-OptiQ-4bit
# manifest sha256 c3be34e0d355… · 2.83 GB · 14 files$ fw verify ./LFM2.5-VL-3B-OptiQ-4bit mlx-community/LFM2.5-VL-3B-OptiQ-4bit
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.