Skip to content

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.

Modelbeta

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

TypeQuestionAnswers
Yes / noYes/no question about text or an imageyes · no
ChoiceChoose the next action or label from up to 255 options—
ScoreExpected rubric index—

How it works

  1. uv run openjev serve with a profile.
  2. Send text or images with typed questions.
  3. Read the one-token probability distribution per question.
  4. 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 serve

At 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.

    ServicebetaPython
  • Hugging Face card for NeoHorse-Jev-4B: Apache-2.0 4B decision model for text or image-plus-text, served at /v1/systemone.

    ModelbetaPython
  • Standard Thinking's Apache-2.0 3B and 8B decision models on Ministral 3 that score bounded answers via /v1/systemone, with vision.

    ServicebetaPython