Image-Text-to-Text
Transformers
Safetensors
lfm2_vl
browser-automation
gui-understanding
vision-language-model
webbrain
conversational
Instructions to use webbrain-one/webbrain-vl-2-450M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use webbrain-one/webbrain-vl-2-450M with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="webbrain-one/webbrain-vl-2-450M") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("webbrain-one/webbrain-vl-2-450M") model = AutoModelForMultimodalLM.from_pretrained("webbrain-one/webbrain-vl-2-450M", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use webbrain-one/webbrain-vl-2-450M with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "webbrain-one/webbrain-vl-2-450M" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "webbrain-one/webbrain-vl-2-450M", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/webbrain-one/webbrain-vl-2-450M
- SGLang
How to use webbrain-one/webbrain-vl-2-450M with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "webbrain-one/webbrain-vl-2-450M" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "webbrain-one/webbrain-vl-2-450M", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "webbrain-one/webbrain-vl-2-450M" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "webbrain-one/webbrain-vl-2-450M", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use webbrain-one/webbrain-vl-2-450M with Docker Model Runner:
docker model run hf.co/webbrain-one/webbrain-vl-2-450M
Add benchmark charts and refresh renamed links
Browse files- .gitattributes +2 -0
- README.md +39 -8
- SHA256SUMS +3 -1
- assets/browser-vision-benchmark-strict-passes.png +3 -0
- assets/browser-vision-performance-vs-size.png +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
assets/browser-vision-benchmark-strict-passes.png filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
assets/browser-vision-performance-vs-size.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -5,7 +5,7 @@ pipeline_tag: image-text-to-text
|
|
| 5 |
license: other
|
| 6 |
license_name: lfm1.0
|
| 7 |
datasets:
|
| 8 |
-
- webbrain-one/webbrain-
|
| 9 |
tags:
|
| 10 |
- browser-automation
|
| 11 |
- gui-understanding
|
|
@@ -13,9 +13,9 @@ tags:
|
|
| 13 |
- webbrain
|
| 14 |
---
|
| 15 |
|
| 16 |
-
# WebBrain
|
| 17 |
|
| 18 |
-
WebBrain
|
| 19 |
[`LiquidAI/LFM2.5-VL-450M`](https://huggingface.co/LiquidAI/LFM2.5-VL-450M).
|
| 20 |
It turns a browser viewport screenshot into the six-section observation format
|
| 21 |
consumed by WebBrain's planning agent. This repository preserves both the
|
|
@@ -108,6 +108,37 @@ six-section prompt exactly once after checkpoint selection.
|
|
| 108 |
Machine-readable results are in `eval/`. Latency is implementation- and
|
| 109 |
hardware-specific, so it is not presented as a portable speed claim.
|
| 110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
## Limitations
|
| 112 |
|
| 113 |
- Small, low-contrast, occluded, or non-Latin text can still be missed.
|
|
@@ -128,8 +159,8 @@ retain their row-level upstream licensing recorded in the dataset repository.
|
|
| 128 |
|
| 129 |
## Reproducibility
|
| 130 |
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
|
|
|
| 5 |
license: other
|
| 6 |
license_name: lfm1.0
|
| 7 |
datasets:
|
| 8 |
+
- webbrain-one/webbrain-vl-2-450M-dataset
|
| 9 |
tags:
|
| 10 |
- browser-automation
|
| 11 |
- gui-understanding
|
|
|
|
| 13 |
- webbrain
|
| 14 |
---
|
| 15 |
|
| 16 |
+
# WebBrain VL 2 450M
|
| 17 |
|
| 18 |
+
WebBrain VL 2 450M is a browser-GUI specialist derived from
|
| 19 |
[`LiquidAI/LFM2.5-VL-450M`](https://huggingface.co/LiquidAI/LFM2.5-VL-450M).
|
| 20 |
It turns a browser viewport screenshot into the six-section observation format
|
| 21 |
consumed by WebBrain's planning agent. This repository preserves both the
|
|
|
|
| 108 |
Machine-readable results are in `eval/`. Latency is implementation- and
|
| 109 |
hardware-specific, so it is not presented as a portable speed claim.
|
| 110 |
|
| 111 |
+
## Deployed ONNX/WebGPU comparison
|
| 112 |
+
|
| 113 |
+
The separately published
|
| 114 |
+
[`webbrain-one/webbrain-vl-2-450M-onnx`](https://huggingface.co/webbrain-one/webbrain-vl-2-450M-onnx)
|
| 115 |
+
package reached **44/100 strict passes** and a **76.24% mean rubric score** in its
|
| 116 |
+
Q4-decoder/FP16-vision deployment. The WebBrain point in both charts below is
|
| 117 |
+
that deployed ONNX/WebGPU row, not the 36/100 merged-PyTorch row above.
|
| 118 |
+
|
| 119 |
+

|
| 120 |
+
|
| 121 |
+

|
| 122 |
+
|
| 123 |
+
| Model and tested runtime | Parameter class | Strict passes | Mean rubric |
|
| 124 |
+
| --- | ---: | ---: | ---: |
|
| 125 |
+
| Qwen 3.5 4B, MLX | 4B | 55/100 | 83.4% |
|
| 126 |
+
| **WebBrain VL 2, deployed ONNX Q4/FP16** | **450M** | **44/100** | 76.2% |
|
| 127 |
+
| Gemma 4 E4B IT, MLX | E4B | 41/100 | 81.3% |
|
| 128 |
+
| Qwen 3.5 2B, MLX | 2B | 39/100 | 79.1% |
|
| 129 |
+
| Qwen 3.5 0.8B | 0.8B | 20/100 | 41.6% |
|
| 130 |
+
| LFM2.5-VL-1.6B, MLX | 1.6B | 12/100 | 44.4% |
|
| 131 |
+
|
| 132 |
+
All rows used the same 100 screenshots and production six-section prompt. The
|
| 133 |
+
[benchmark images, rubrics, runner, and committed result files](https://github.com/esokullu/webbrain/tree/main/test/vision)
|
| 134 |
+
are public. Gemma E4B is plotted at its effective 4B class. Latency is omitted
|
| 135 |
+
because the rows used different machines, quantizations, and inference stacks.
|
| 136 |
+
|
| 137 |
+
Further reading:
|
| 138 |
+
|
| 139 |
+
- [Tiny Vision Models Compared II](https://webbrain.one/blog/tiny-vision-models-compared-ii/)
|
| 140 |
+
- [From 16K to 50K Browser Screenshots](https://webbrain.one/blog/fine-tuning-lfm25-vl-450m-for-browser-tasks/)
|
| 141 |
+
|
| 142 |
## Limitations
|
| 143 |
|
| 144 |
- Small, low-contrast, occluded, or non-Latin text can still be missed.
|
|
|
|
| 159 |
|
| 160 |
## Reproducibility
|
| 161 |
|
| 162 |
+
`release-manifest.json`, the training configuration and metrics, machine-readable
|
| 163 |
+
evaluation files, and `SHA256SUMS` pin the artifact provenance and released
|
| 164 |
+
files. Historical manifest and evaluation fields retain the repository IDs that
|
| 165 |
+
were current when the release was produced; the current public names are the
|
| 166 |
+
`webbrain-vl-2-450M` repositories linked in this card.
|
SHA256SUMS
CHANGED
|
@@ -1,5 +1,7 @@
|
|
| 1 |
4d28ca14dedc0b3d0fcc2b3339f0e79931faa33874f3d24f522183a8fc70068c LICENSE
|
| 2 |
-
|
|
|
|
|
|
|
| 3 |
117e4eff25a5b8c8bc06044de386033edc69dc1b51f56852bd649286e6f7facd adapter/README.md
|
| 4 |
d4331b746dcd624d08c3eaf524ce31f8f04a86e5f7576cb3336342d8f89ccabf adapter/adapter_config.json
|
| 5 |
48cacbd2f210df504d3c277d0826466822c3497a73ae0a2c02b84ac03117d340 adapter/adapter_model.safetensors
|
|
|
|
| 1 |
4d28ca14dedc0b3d0fcc2b3339f0e79931faa33874f3d24f522183a8fc70068c LICENSE
|
| 2 |
+
f7c417aaa7c1b91ae43ab920c9a6ac3f2e3d86e545e94c4abefb1ce41805601d README.md
|
| 3 |
+
2af924baa6fa3c8bbe6242393b7b689594802312e27a8d834f5df978d15eb2a2 assets/browser-vision-benchmark-strict-passes.png
|
| 4 |
+
fb47d96d673c04d1ea747de2dca4e8d0ad81f8708508dc508b79236199c8b4d9 assets/browser-vision-performance-vs-size.png
|
| 5 |
117e4eff25a5b8c8bc06044de386033edc69dc1b51f56852bd649286e6f7facd adapter/README.md
|
| 6 |
d4331b746dcd624d08c3eaf524ce31f8f04a86e5f7576cb3336342d8f89ccabf adapter/adapter_config.json
|
| 7 |
48cacbd2f210df504d3c277d0826466822c3497a73ae0a2c02b84ac03117d340 adapter/adapter_model.safetensors
|
assets/browser-vision-benchmark-strict-passes.png
ADDED
|
Git LFS Details
|
assets/browser-vision-performance-vs-size.png
ADDED
|
Git LFS Details
|