A self-hosted, OpenAI-compatible AI engine that runs LLMs, vision, voice, image and video models on any hardware, including CPU-only machines.
hr98w/jev-visual
A small educational project for running vision-language model inference on Apple Silicon with MLX, scoring candidate answers about one image.
- Stars
- 320
- Forks
- 29
- Open issues
- 1
- Last commit
- 28 days ago
What is it?
Jev Visual is a runnable experiment in vision-language model inference on Apple Silicon Macs. It uses Qwen3.5-0.8B through MLX to answer several questions about one image at once, such as choosing an option, judging yes or no, or scoring ordered levels. Instead of generating structured output token by token, it reuses a shared multimodal context and reads scores for candidate answers directly from model logits.
The project ships a local browser UI, a command-line tool, and an HTTP API. The inference path is split into readable modules for image preprocessing, adapter-level prefill and cache reuse, candidate scoring, and result assembly, so developers can follow how the pipeline works. It uses existing model weights with no training or calibration, and only the Qwen3.5 adapter is verified. Candidate probabilities are relative to the options supplied, not estimates of correctness.
The repository also includes benchmarks comparing generated JSON, independent candidate scoring, and shared-prefix batched scoring, along with visual game demos built on the same approach.
Key features
- 01Runs Qwen3.5-0.8B locally on Apple Silicon using MLX.
- 02Answers multiple questions about one image with shared context reuse.
- 03Scores candidate answers from model logits instead of generating JSON.
- 04Provides a local browser UI, CLI, and HTTP API.
- 05Includes benchmarks and scoring verification scripts.
Use cases
- Learning how vision-language model inference and candidate scoring work.
- Prototyping image classification or multiple-choice questions on a Mac without cloud APIs.
- Benchmarking generated output against direct logit scoring for structured answers.
- Experimenting with visual demos such as gesture control or sorting classification.
Quick start
- 1
Create a virtual environment with Python 3.13
uv venv --python 3.13 - 2
Activate the environment and install dependencies
source .venv/bin/activate && uv pip install -r requirements-lock.txt && uv pip install --no-deps -e . - 3
Download the model weights
jev-visual-download - 4
Start the local server, then open http://127.0.0.1:8788 in a browser
JEV_VISUAL_MODEL_PATH=.models/Qwen3.5-0.8B-4bit uvicorn jev_visual.server:app --host 127.0.0.1 --port 8788
Things to know
- Requires an Apple Silicon Mac with Metal; it does not run on other platforms.
- First setup downloads roughly 596 MiB of model weights.
- Only the Qwen3.5 adapter is verified, and the server is intended for local use only.
Topics
FAQ
- What is jev-visual?
- A small educational project for running vision-language model inference on Apple Silicon with MLX, scoring candidate answers about one image. Jev Visual is a runnable experiment in vision-language model inference on Apple Silicon Macs. It uses Qwen3.5-0.8B through MLX to answer several questions about one image at once, such as choosing an option, judging yes or no, or scoring ordered levels. Instead of generating structured output token by token, it reuses a shared multimodal context and reads scores for candidate answers directly from model logits.
- Is jev-visual free to use? What license does it have?
- jev-visual is open source under the MIT license. Check the license terms before using it in commercial products.
- Is jev-visual still maintained?
- Actively maintained. The last commit to jev-visual was on Sep 21, 2026.
- What can I use jev-visual for?
- Learning how vision-language model inference and candidate scoring work. Prototyping image classification or multiple-choice questions on a Mac without cloud APIs. Benchmarking generated output against direct logit scoring for structured answers. Experimenting with visual demos such as gesture control or sorting classification.
- How do I install jev-visual?
- Create a virtual environment with Python 3.13: uv venv --python 3.13 Activate the environment and install dependencies: source .venv/bin/activate && uv pip install -r requirements-lock.txt && uv pip install --no-deps -e . Download the model weights: jev-visual-download Start the local server, then open http://127.0.0.1:8788 in a browser: JEV_VISUAL_MODEL_PATH=.models/Qwen3.5-0.8B-4bit uvicorn jev_visual.server:app --host 127.0.0.1 --port 8788
- Where can I get jev-visual?
- The source code and installation instructions are on GitHub: https://github.com/hr98w/jev-visual
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source Python framework for building real-time voice and multimodal AI agents, with pluggable speech, LLM, and transport services.
A serving framework that extends vLLM to run omni-modality models producing text, image, audio, video and action outputs.
Open source inference engine that tunes its kernels to your hardware to run open models faster on Apple Silicon, NVIDIA, AMD, or CPU.
Open-source native unified multimodal models from SenseNova that handle image understanding, text-to-image generation, and image editing in one architecture.
Open-source Python package that turns websites, PDFs, images, YouTube videos or topics into multilingual audio podcast conversations using GenAI.