Views
No views yet
<think>...</think> blocks before answering.| Base model | Tess-4-27B (Qwen3.5-VL / Qwen3_5ForConditionalGeneration arch, ~27B params, vision + video capable) |
| Quantization | MX FP8 (micro-scaled 8-bit float) |
| Bits per weight | 8.381 |
| Disk size | 27 GB (from ~52 GB bf16) |
| Format | MLX (safetensors) |
| Minimum unified memory | Needs 32GB+ unified memory. Quantization completed cleanly (clean file output, correct bpw), but on the 24GB Apple M4 Pro used for this conversion, loading the model for generation hit a Metal kIOGPUCommandBufferCallbackErrorOutOfMemory — the 27GB of weights plus KV cache/activations exceed what a 24GB machine can allocate to the GPU. Not smoke-tested locally; expected to run fine on higher-memory Apple Silicon (32GB/48GB/64GB+). |
1from mlx_vlm import load, generate
2from mlx_vlm.prompt_utils import apply_chat_template
3from mlx_vlm.utils import load_config
4
5model_path = "sahilchachra/tess-4-27b-mxfp8-mlx"
6model, processor = load(model_path, trust_remote_code=True)
7config = load_config(model_path, trust_remote_code=True)
8
9prompt = apply_chat_template(processor, config, "Explain the difference between TCP and UDP.", num_images=0)
10out = generate(model, processor, prompt, image=None, max_tokens=1024, verbose=False)
11print(out.text if hasattr(out, "text") else out)num_images=1 in apply_chat_template, and pass the image to generate(..., image=<path_or_url>).1mlx_vlm.generate --model sahilchachra/tess-4-27b-mxfp8-mlx \
2 --prompt "Explain the difference between TCP and UDP." \
3 --max-tokens 1024<think>...</think> reasoning blocks — allow a generous max_tokens budget (1024+) so generation doesn't cut off mid-thought.mlx_vlm convert). If you run this on a 32GB+ Mac and hit issues, please open a discussion on this repo.