Fara1.5-4B-mlx-4bit / README.md
Aman0runanywhere's picture
Upload folder using huggingface_hub
9e3987b verified
|
Raw
History Blame Contribute Delete
3.32 kB
---
license: mit
library_name: mlx
pipeline_tag: image-text-to-text
language:
- en
base_model: microsoft/Fara1.5-4B
tags:
- computer-use
- cua
- web-agent
- multimodal
- vision-language
- agent
- browser-automation
- magentic
- fara
- mlx
---
# Fara1.5-4B β€” MLX 4-bit
An [Apple **MLX**](https://github.com/ml-explore/mlx) 4-bit conversion of
[**microsoft/Fara1.5-4B**](https://huggingface.co/microsoft/Fara1.5-4B), Microsoft AI
Frontiers' agentic **Computer-Use Agent (CUA)** for web browsers, built on the Qwen3.5-VL
architecture (`model_type: qwen3_5` / `qwen3_5_vision`).
This repository only re-packages Microsoft's model for on-device Apple-silicon inference.
All model capabilities, training, and credit belong to Microsoft AI Frontiers. Original
model, full system prompt, and the MagenticLite agent scaffold:
<https://huggingface.co/microsoft/Fara1.5-4B> and <https://github.com/microsoft/fara>.
## What this is
- **Format:** MLX, 4-bit (`affine`, group size 64). The **vision tower is kept at full
precision (bf16)** β€” only the language-model layers are quantized β€” so visual grounding
is not degraded by quantization.
- **Size:** ~3.7 GB (vs ~8 GB bf16).
- **Converted with** [`mlx-vlm`](https://github.com/Blaizzy/mlx-vlm) 0.6.6:
```bash
python -m mlx_vlm convert --hf-path microsoft/Fara1.5-4B \
--mlx-path Fara1.5-4B-mlx-4bit -q
```
## Usage
Loads through MLX VLM stacks that support `qwen3_5` (e.g. `mlx-vlm`, and
`mlx-swift-lm`'s `Qwen35` VLM class) with no code changes.
```bash
python -m mlx_vlm generate --model runanywhere/Fara1.5-4B-mlx-4bit \
--image screenshot.png --system "$FARA_SYSTEM_PROMPT" \
--prompt "Book a table for 2 at a sushi place in Sunnyvale for Friday 7pm." \
--temperature 0.0 --max-tokens 1024
```
Fara is a **web-browser** agent. To drive it correctly, use Microsoft's contract
(see the base model / `microsoft/fara`):
- Provide the **full system prompt** including the `computer_use` tool schema inside
`<tools></tools>` β€” without it the model cannot reliably emit valid tool-calls.
- The model emits actions as `<tool_call>{"name": "computer_use", "arguments": {...}}</tool_call>`.
- Coordinates are returned in a **fixed 1000Γ—1000 space**; scale to your viewport
(e.g. `x*1.44, y*0.9` for a 1440Γ—900 window). 1440Γ—900 is the recommended capture size.
- The reference agent loop, safety "critical points", and sandboxing live in **MagenticLite**.
## Validation
Verified running through the Apple MLX runtime (Python `mlx-vlm` and Swift `mlx-swift-lm`).
On a small suite of real 1440Γ—900 browser screenshots with Fara's exact CUA prompt, this
4-bit conversion produced **valid `left_click` tool-calls** and grounded coordinates that
were **near-identical (within ~0.1–0.3%) to the full-precision f32 reference on every
task**, missing the same targets with the same coordinates β€” i.e. the quantization is
essentially lossless; any grounding errors are the base model's own behavior, not an
artifact of this conversion.
## License
MIT, inherited from [microsoft/Fara1.5-4B](https://huggingface.co/microsoft/Fara1.5-4B).
Please review Microsoft's model card for intended use, limitations, and responsible-AI
guidance (Fara is trained to pause at safety-critical points; keep a human in the loop for
irreversible actions).