YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

JevCommunity: local System One decisions on Apple Silicon with a measured choice response card

JevCommunity

Local Jev-compatible decisions for software — on a Mac mini M4.

Send one shared state and parallel typed questions (choice / score / noul). Get probability distributions and confidence back. No chat generation.

Quick start Apple Silicon MLX Weights Kev-0.8B License MIT

Why it exists

TypeSafe Jev is a hosted System One decision model: great for production APIs, not something you can self-host. JevCommunity vendors the open Kev serve stack and pins Kev-0.8B so the same /v1/systemone shape runs locally on 16 GB Apple Silicon.

You want… Use
Hosted frontier accuracy TypeSafe Jev
Local Mac prototyping / offline API parity JevCommunity (this repo)

Quality tracks Kev-0.8B, not proprietary Jev. Kev’s cards put Jev near Decision Index ~54; 0.8B is much lower. Use this for schema/confidence parity and local iteration.

Proof (real local run)

Ticket about API 500s → routing decision on 127.0.0.1:8008 with MLX:

Field Result
answers.department.choice technical
answers.department.confidence 0.9782
answers.department.probabilities billing 0.0099 · technical 0.9854 · sales 0.0046
answers.is_urgent.noul 0.6999
Backend mlx / mps

How it works

Flow: state and questions, one Kev-0.8B prefill pass on MLX, typed answers with probabilities

  1. Ask — POST /v1/systemone with state + named questions.
  2. Score — Kev-0.8B pointer head returns option probabilities (no text generation).
  3. Act — your code thresholds confidence / noul like production Jev clients.

Accepted model names: kev-latest, jev-latest, jevcommunity-0.8b, jevcommunity-4b-8bit.

How-to + single-file client: GUIDE.md · example_single.py

Quick start

Needs: macOS arm64, uv, Python 3.13, Hugging Face network on first download (~few GB for adapter + Qwen/Qwen3.5-0.8B-Base).

./scripts/serve_mac.sh

That syncs deps and serves:

uv run --extra serve python -m kev.serve \
  --run jaredpalmer/kev-0.8b@v1.0 \
  --host 127.0.0.1 --port 8008 --device auto

Leave KEV_BACKEND unset (auto → MLX on Darwin). Optional KEV_API_KEY enables bearer auth.

Fast + accurate (default): ./scripts/serve_mac.sh loads Kev-0.8B for clear tickets (~50 ms) and escalates uncertain ones to AbstractFramework/kev-4b-mlx-4bit (near-bf16 Kev-4B accuracy, ~3 GB). The earlier 8-bit dual-load thrashed 16 GB swap; 4-bit is the cascade that fits. Opt out with JEVCOMMUNITY_ESCALATE_RUN=off. Quality-only: JEVCOMMUNITY_QUALITY=1 (4-bit 4B alone).

First request

curl -sS http://127.0.0.1:8008/v1/systemone \
  -H 'content-type: application/json' \
  -d '{
    "state": "Our API integration started returning 500 errors on every request about 20 minutes ago, and we cannot process any customer orders until this is fixed.",
    "model": "jev-latest",
    "questions": {
      "department": {
        "type": "choice",
        "instructions": "Which team should handle this",
        "criteria": {
          "billing": "Payment or subscription issues",
          "technical": "Bugs or integration problems",
          "sales": "Pricing or account questions"
        }
      },
      "frustration": {
        "type": "score",
        "instructions": "How frustrated the customer appears",
        "criteria": [
          "Calm, just stating facts",
          "Frustrated but civil",
          "Very angry, strong language"
        ]
      },
      "is_urgent": {
        "type": "noul",
        "instructions": "The message conveys urgency or time-sensitivity"
      }
    }
  }'

Or interactively (paste tickets at the prompt):

uv run --extra serve python example.py

Or via TypeSafe SDK (one-shot sample ticket):

uv run --extra serve python examples/route_ticket.py

Tests

JECOMMUNITY_BASE_URL=http://127.0.0.1:8008 uv run pytest -m server tests/test_systemone_smoke.py -q

Limits (read before upgrading models)

  • Text primitives only in this setup: choice, score, noul. No Box/images.
  • Hardware: Official bf16 Kev-4B wants 32 GB. Default cascade uses community MLX 4-bit Kev-4B (3 GB) beside 0.8B on 16 GB. Prefer 4-bit over 8-bit for dual-resident; 8-bit dual-load thrashed swap in testing.
  • Fallback: if MLX fails, KEV_BACKEND=torch … --device cpu. If that OOMs, stop — don’t jump to 4B/9B without quantization.
  • Not affiliated with TypeSafe AI. “Jev” compatibility means API/schema/confidence formulas, not identical accuracy.

Provenance & license

  • This repo: MIT — see LICENSE. Funding: GitHub Sponsors syrex1013.
  • Serve stack: vendored from Jared Palmer’s Kev @ 2074cc4 (Apache-2.0) — NOTICE, third_party/kev/LICENSE.
  • Weights: default fast jaredpalmer/kev-0.8b@v1.0 on Qwen/Qwen3.5-0.8B-Base; default quality escalate AbstractFramework/kev-4b-mlx-4bit (merged/4-bit from jaredpalmer/kev-4b@v1.0, Gated DeltaNet projections kept 8-bit).
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support