Jev Visual
Local Qwen3.5-0.8B visual inference that maps answers to fixed labels, prefills once, then scores candidates — a 200ms three-color sorting demo on a 16GB M4 MacBook.
Haoran published a local Apple Silicon experiment that scores visual answers the Jev way: map candidates to fixed labels, prefill the image once, then read a short token instead of generating JSON.
It runs Qwen3.5-0.8B in 4-bit on a 16GB M4 MacBook. The posted demo classifies conveyor objects into three color lanes in about 200ms. A follow-up Breakout clip reduces control to a 5-way “where is the ball” question every 500ms; the 0.8B model cannot track the ball from two frames or solve a cube.
This is an inference-layer recreation of the Jev shape, not TypeSafe Jev’s model, training, or serving stack.
How it works
- One image plus shared context is prefilled once.
- The cache is forked; each question suffix is scored against fixed labels (A/B/C or similar).
- Code assembles typed answers from those scores.
Run it
Requires an Apple Silicon Mac with Metal. First setup downloads about 596 MiB of weights.
uv venv --python 3.13
source .venv/bin/activate
uv pip install -r requirements-lock.txt
uv pip install --no-deps -e .
jev-visual-download
JEV_VISUAL_MODEL_PATH=.models/Qwen3.5-0.8B-4bit \
uvicorn jev_visual.server:app --host 127.0.0.1 --port 8788
Open http://127.0.0.1:8788 to analyze an image, or /demo/ for the sorting, Breakout, and camera-gesture demos.