Liquid AI
Try LFMDocsLEAPDiscord

LFM2.5-VL-450M-Extract-MLX-8bit

LFM2.5-VL-450M-Extract-MLX-8bit is the 8-bit quantized Apple Silicon MLX port of Liquid AI's LFM2.5-VL-450M-Extract. It extracts user-defined fields from images and returns them as strict JSON, offering the ideal balance between high extraction accuracy, minimal quantization loss, and fast inference on Apple Silicon (M1/M2/M3/M4) devices via MLX and mlx-vlm.

⚙️ How it works

You specify what to extract as a YAML field list in the system prompt, and the model returns a JSON object with those fields.

  • System prompt:
wood_color: The overall coloration of the wood surface
wood_texture: The tactile quality of the wood surface 
wood_pattern: The pattern types visible on the wood surface
  • Output:
{
  "wood_color": "light to medium brown",
  "wood_texture": "smooth with visible grain",
  "wood_pattern": "parallel, irregular, wavy"
}

Our model also supports enum constrained definitions:

wood_color: The overall coloration of the wood surface, such as blue, red, or light tan
wood_texture: The tactile quality of the wood surface, select from smooth, rough, or grainy
wood_pattern: The pattern types visible on the wood surface, e.g., straight, wavy, or curly

📄 Model Details

Property Detail
Base Model LiquidAI/LFM2.5-VL-450M-Extract
Parameters (LM only) 350M
Vision Encoder SigLIP2 (~100M, SigLIP-2 paper)
Quantization 8-bit affine (group_size: 64, mode: affine)
Weights Size ~565 MB (model.safetensors)
Context Window 128,000 tokens
Runtime / Library Apple Silicon MLX (mlx_vlm)
License LFM Open License v1.0

📊 Conversion Specs & Resource Usage

  • Conversion Parameters: python -m mlx_vlm.convert --hf-path LiquidAI/LFM2.5-VL-450M-Extract -q --q-bits 8 --q-group-size 64
  • Memory Footprint: ~600 MB active unified memory during inference.
Model Variant Precision Group Size Weight Size Est. Unified RAM
LFM2.5-VL-450M-Extract-MLX-4bit 4-bit (int4) 64 ~388 MB ~400 MB
LFM2.5-VL-450M-Extract-MLX-8bit 8-bit (int8) 64 ~565 MB ~600 MB
LFM2.5-VL-450M-Extract-MLX-bf16 bfloat16 N/A ~897 MB ~900 MB

🏃 How to run with MLX

1. Install dependencies

pip install mlx-vlm pillow

2. Run inference in Python

from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_image

model_id = "LeoFortunato/LFM2.5-VL-450M-Extract-MLX-8bit"
model, processor = load(model_id)

image = load_image("https://huggingface.co/LiquidAI/LFM2.5-VL-450M-Extract/resolve/main/sample_image.png")

fields_yaml = """wood_color: The overall coloration of the wood surface
wood_texture: The tactile quality of the wood surface
wood_pattern: The pattern types visible on the wood surface"""

system_prompt = f"""Extract the following from the image:

{fields_yaml}

Respond with only a JSON object. Do not include any text outside the JSON."""

formatted_prompt = apply_chat_template(
    processor,
    processor.config,
    system_prompt,
    num_images=1
)

output = generate(
    model,
    processor,
    formatted_prompt,
    image=[image],
    max_tokens=512,
    temperature=0.0,
    verbose=False
)
print(output)

📬 Citation & Contact

@article{liquidai2025lfm2,
 title={LFM2 Technical Report},
 author={Liquid AI},
 journal={arXiv preprint arXiv:2511.23404},
 year={2025}
}
Downloads last month
30
Safetensors
Model size
0.2B params
Tensor type
BF16
·
U32
·
MLX
Hardware compatibility
Log In to add your hardware

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for LeoFortunato/LFM2.5-VL-450M-Extract-MLX-8bit

Quantized
(4)
this model

Papers for LeoFortunato/LFM2.5-VL-450M-Extract-MLX-8bit