openjev-multimodal
Local Jev-compatible API on a Mac: Qwen via llama.cpp/Metal reads one output token per question for text and image decisions.
Overview
OpenJev Multimodal is a local, open-source Jev-compatible SystemOne API powered by Qwen and llama.cpp with Metal. It answers Noul (yes probability), Choice (selection plus distribution, up to 255 options with verified single-token labels) and Score (expected rubric index) about text and images, reading one output token per question with no generated reasoning or token-by-token JSON. Images (PNG, JPEG, WebP), multimodal chat and sampled frames are supported, and everything stays on the machine.
Profiles range from fast (Qwen3.5-0.8B) to balanced (Qwen3.5-4B, default), quality (Qwen3.6-35B-A3B) and max (Qwen3.8-27B), with a patched llama.cpp build for sub-second max decisions on repeated state. It includes a browser playground, API docs and a doctor command, defaults to one inference slot and four CPU threads, and can fetch weights from ModelScope. The README states probabilities are conditioned on your options and are not calibrated correctness guarantees.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Yes/no question about text or an image | yes · no |
| Choice | Choose the next action or label from up to 255 options | — |
| Score | Expected rubric index | — |
How it works
- uv run openjev serve with a profile.
- Send text or images with typed questions.
- Read the one-token probability distribution per question.
- Use the playground or API docs to iterate.
Strengths
- Fully local on Apple Silicon.
- Image and frame inputs.
- Multiple model profiles for different Macs.
Caveats
- Probabilities are not calibrated guarantees.
- Quality/max profiles need 17-23 GB of weights.
Getting started
brew install uv llama.cpp; git clone https://github.com/jev-skills/openjev-multimodal.git; cd openjev-multimodal; uv sync --frozen; uv run openjev serveAt a glance
- Type
- Model
- Status
- beta
- Language
- Python
- Runtime
- llama.cpp (Metal), HTTP server
- Has code
- yes
Use cases and integrations
How curated lists describe it
Local multimodal decisions on your Mac. Jev-compatible typed probabilities with Qwen, llama.cpp and Metal.
hellogumbo/awesome-jev
Frequently asked questions
Does it need a GPU server?
No, it runs on Apple Silicon Macs via llama.cpp and Metal.
Are probabilities calibrated?
The README says they are conditioned on your options, not calibrated correctness guarantees.
Which models can it use?
Qwen profiles from 0.8B up to Qwen3.8-27B.
Related projects
- vLLM Jev★ 524
Native vLLM serving for Jev-style decision models on Linux and Apple Silicon, including image and video questions for Valen.
ServicebetaPython Hugging Face blog on llama.cpp's /v1/systemone endpoint serving decision models locally in Jev's wire format.
ServiceproductionC++- Lichen★ 58
Drop-in local replacement for Jev that serves /v1/systemone from open weights, including questions about images.
ServicebetaPython Local /v1/systemone server in Japanese docs with LFM, Sarashina and fine-tuned ModernBERT-Ja backends, including image input.
ServicebetaPythonHugging Face card for NeoHorse-Jev-4B: Apache-2.0 4B decision model for text or image-plus-text, served at /v1/systemone.
ModelbetaPythonStandard Thinking's Apache-2.0 3B and 8B decision models on Ministral 3 that score bounded answers via /v1/systemone, with vision.
ServicebetaPython