LFM2.5‑VL-450M is
Liquid AI
's refreshed version of the first vision-language model,
LFM2-VL-450M
, built on an updated backbone
LFM2.5-350M
and tuned for stronger real-world performance. Find more about LFM2.5 family of models in our
blog post
.
Enhanced instruction following
on vision and language tasks.
Improved multilingual vision understanding
in Arabic, Chinese, French, German, Japanese, Korean, Portuguese and Spanish.
Bounding box prediction and object detection
for grounded visual understanding.
Function calling support
for text-only input.
🎥⚡️ You can try LFM2.5-VL-450M running locally in your browser with our real-time video stream captioning
WebGPU demo
🎥⚡️
Alternatively, try the API model on the
Playground
.
📄 Model details
LFM2.5-VL-450M is a general-purpose vision-language model with the following features:
MLX format for Apple Silicon. Optimized for fast on-device inference on Mac with
mlx-vlm
. Also available in
4bit
,
5bit
,
6bit
, and
bf16
.
We recommend using it for general vision-language workloads, captioning and object detection. It’s not well-suited for knowledge-intensive tasks or fine-grained OCR.
<|startoftext|><|im_start|>system
You are a helpful multimodal assistant by Liquid AI.<|im_end|>
<|im_start|>user
<image>Describe this image.<|im_end|>
<|im_start|>assistant
This image shows a Caenorhabditis elegans (C. elegans) nematode.<|im_end|>
You can run LFM2.5-VL-450M with Hugging Face
transformers
v5.1 or newer:
pip install transformers pillow
from transformers import AutoProcessor, AutoModelForImageTextToText
from transformers.image_utils import load_image
# Load model and processor
model_id = "LiquidAI/LFM2.5-VL-450M"
model = AutoModelForImageTextToText.from_pretrained(
model_id,
device_map="auto",
dtype="bfloat16"
)
processor = AutoProcessor.from_pretrained(model_id)
# Load image and create conversation
url = "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
image = load_image(url)
conversation = [
{
"role": "user",
"content": [
{"type": "image", "image": image},
{"type": "text", "text": "What is in this image?"},
],
},
]
# Generate Answer
inputs = processor.apply_chat_template(
conversation,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
tokenize=True,
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=64)
processor.batch_decode(outputs, skip_special_tokens=True)[0]
# This image captures the iconic Statue of Liberty standing majestically on Liberty Island in New York City. The statue, a symbol of freedom and democracy, is prominently featured in the foreground, its greenish-gray hue contrasting beautifully with the surrounding water.
LFM2.5 supports function calling for text only input by applying the chat template with the tokenizer. See the
Tool Use documentation
for the full guide.
tools = [{
"name": "get_weather",
"description": "Get current weather for a location",
"parameters": {
"type": "object",
"properties": {"location": {"type": "string"}},
"required": ["location"]
}
}]
messages = [{"role": "user", "content": "What's the weather in Paris?"}]
# Apply chat template with tools
inputs = processor.tokenizer.apply_chat_template(
messages,
tools=tools,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
)
input_ids = inputs["input_ids"].to(model.device)
outputs = model.generate(input_ids, max_new_tokens=256)
response = processor.tokenizer.decode(outputs[0, input_ids.shape[1]:], skip_special_tokens=False)
# <|tool_call_start|>[get_weather(location="Paris")]<|tool_call_end|>I am retrieving the current weather for Paris.<|im_end|>
We recommend fine-tuning LFM2.5-VL-450M model on your use cases to maximize performance.
Notebook
Description
Link
SFT (Unsloth)
Supervised Fine-Tuning with LoRA using Unsloth.
SFT (TRL)
Supervised Fine-Tuning with LoRA using TRL.
📊 Performance
LFM2.5-VL-450M improves over LFM2-VL-450M across both vision and language benchmarks, while also adding two new capabilities: bounding box prediction on RefCOCO-M and function calling support measured by BFCLv4.
Vision benchmarks
Model
MMStar
RealWorldQA
MMBench (dev en)
MMMU (val)
POPE
MMVet
BLINK
InfoVQA (val)
OCRBench
MM-IFEval
MMMB
CountBench
RefCOCO-M
LFM2.5-VL-450M
43.00
58.43
60.91
32.67
86.93
41.10
43.92
43.02
684
45.00
68.09
73.31
81.28
LFM2-VL-450M
40.87
52.03
56.27
34.44
83.79
33.85
42.61
44.56
657
33.09
54.29
47.64
-
SmolVLM2-500M
38.20
49.90
52.32
34.10
82.67
29.90
40.70
24.64
609
11.27
46.79
61.81
-
All vision benchmark scores are obtained using
VLMEvalKit
. Multilingual scores are based on the average of benchmarks translated by GPT-4.1-mini from English to Arabic, Chinese, French, German, Japanese, Korean, Portuguese, and Spanish.
LFM2.5-VL-450M huggingface.co is an AI model on huggingface.co that provides LFM2.5-VL-450M's model effect (), which can be used instantly with this LiquidAI LFM2.5-VL-450M model. huggingface.co supports a free trial of the LFM2.5-VL-450M model, and also provides paid use of the LFM2.5-VL-450M. Support call LFM2.5-VL-450M model through api, including Node.js, Python, http.
LFM2.5-VL-450M huggingface.co is an online trial and call api platform, which integrates LFM2.5-VL-450M's modeling effects, including api services, and provides a free online trial of LFM2.5-VL-450M, you can try LFM2.5-VL-450M online for free by clicking the link below.
LiquidAI LFM2.5-VL-450M online free url in huggingface.co:
LFM2.5-VL-450M is an open source model from GitHub that offers a free installation service, and any user can find LFM2.5-VL-450M on GitHub to install. At the same time, huggingface.co provides the effect of LFM2.5-VL-450M install, users can directly use LFM2.5-VL-450M installed effect in huggingface.co for debugging and trial. It also supports api for free installation.