Image-Text-to-Text
Safetensors
MLX
multilingual
mlx-vlm
unlimited-ocr
quantized
apple-silicon
ocr
vision-language
document-parsing
conversational
8-bit precision
Instructions to use will702/unlimited-ocr-mxfp8-mlx with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use will702/unlimited-ocr-mxfp8-mlx with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("will702/unlimited-ocr-mxfp8-mlx") config = load_config("will702/unlimited-ocr-mxfp8-mlx") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
Unlimited-OCR MXFP8 (mlx-vlm ≥ 0.6 ready)
Drop-in MLX pack of sahilchachra/unlimited-ocr-mxfp8-mlx with configs fixed for native Unlimited-OCR loading on mlx-vlm 0.6+.
What changed vs the upstream MXFP8 pack
| File | Upstream (old shim) | This repo |
|---|---|---|
config.json model_type |
deepseekocr |
unlimited-ocr |
processor_config.json processor_class |
DeepseekOCRProcessor |
UnlimitedOCRHFProcessor |
processor_config.json sft_format |
deepseek |
unlimitedocr |
| Weights | MXFP8 | unchanged |
On mlx-vlm 0.6+, the upstream deepseekocr shim often generates repetitive garbage. Routing to unlimited-ocr restores correct OCR.
See FINDINGS.md for details and benchmarks.
Usage
pip install -U "mlx-vlm>=0.6.0" pymupdf
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config
model_id = "will702/unlimited-ocr-mxfp8-mlx" # update if your namespace differs
model, processor = load(model_id)
config = load_config(model_id)
prompt = apply_chat_template(processor, config, "Free OCR.", num_images=1)
out = generate(
model, processor,
prompt=prompt,
image="page.png",
max_tokens=4096,
temperature=0.0,
repetition_penalty=1.05,
)
text = out.text.replace("Ġ", " ").replace("Ċ", "\n")
print(text)
Prefer prompt Free OCR. — document parsing. often stops immediately on this MLX path.
Credits
- Base model: baidu/Unlimited-OCR (MIT)
- MXFP8 quantization: sahilchachra/unlimited-ocr-mxfp8-mlx
- Runtime: mlx-vlm
- Config fix + Mac tooling: will702/unlimited-ocr-mlx
- Downloads last month
- 135
Model size
1B params
Tensor type
BF16
·
U8 ·
U32 ·
Hardware compatibility
Log In to add your hardware
8-bit
Model tree for will702/unlimited-ocr-mxfp8-mlx
Base model
baidu/Unlimited-OCR