Skip to content

sokudan

Japanese System One decision model on ModernBERT-ja (314.6M) returning typed choice, score and bool distributions with no generation.

ProjectbetaApache-2.0

Overview

sokudan (即断) is a Japanese-native decision model: send text and typed questions, get typed answers with probabilities, without generating a token. Answers are read from a decision head's logits, so there is nothing to parse and no way to answer outside the options sent. The backbone is sbintuitions/modernbert-ja-310m (314.6M parameters), small enough for CPU; on Apple Silicon it uses MLX, where a five-option choice takes about 13 ms on an M1 Max. Question types are choice, score and noul (bool), with a free schema per request and no retraining. Code is Apache-2.0 and weights are on Hugging Face.

The README says it beats laya-multilingual on Japanese business messages on every reported metric. A list summary cites, for v0.2 (a weight average of eight seeds), 0.880 choice accuracy, 0.075 score RPS and 0.844 bool AUROC on its own synthetic 300-item bench_ja from one run, and notes the project does not call or measure Jev. The README is candid that bool under-predicts true (mean P(true) 0.133 against a 0.297 gold rate) and advises setting thresholds from your own prior. Bool answers get temperature calibration by default; a server offers TypeSafe-compatible /v1/systemone.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich department should handle this inquiry? (この問い合わせはどの部署が担当すべきか)請求 · 技術 · 営業 · その他
Yes / noYes/no (bool) questions about Japanese text—
ScoreOrdinal score questions—

How it works

  1. pip install sokudan and load the model
  2. Pass state as a string with typed questions
  3. Read probabilities from the decision head
  4. Set thresholds from your own prior, especially for bool

Strengths

  • Japanese-native and small enough for CPU
  • Fast on Apple Silicon via MLX
  • Jev-compatible server endpoint

Caveats

  • Bool under-predicts true
  • Benchmark is the author's own synthetic set
  • Not measured against Jev

Getting started

pip install sokudan, then sokudan.load("GeneLab/sokudan-ja-310m").predict(text, questions).

At a glance

Type
Project
Status
beta
Language
Python
Runtime
MLX or PyTorch; optional HTTP server
Has code
yes
License
Apache-2.0

Use cases and integrations

How curated lists describe it

  • Apache-2.0 Japanese decision model on a ModernBERT-ja backbone (314.6M parameters) that returns typed choice, score and bool distributions in one forward pass with no generated text; v0.2 is a weight average (model soup) of eight seeds trained as v0.1, and on its own synthetic 300-item `bench_ja` (CC BY 4.0) it reports 0.880 choice accuracy, 0.075 score RPS and 0.844 bool AUROC from one run with no spread, states that bool under-predicts true, and does not call or measure Jev.

    cobanov/awesome-jev
  • Japanese System One decision model (Jev-style): typed answers and probabilities in one forward pass, no text generation. Includes bench_ja/bench_en and a Laya position-bias repro.

    hellogumbo/awesome-jev

Frequently asked questions

What language does sokudan target?

Japanese, with an English benchmark also included.

Is it compatible with Jev clients?

Its server's /v1/systemone uses the same request and answer shapes as TypeSafe's public API.

Any known weaknesses?

Bool answers under-predict true, so set your own threshold.

Related projects

  • OEV: 184M-parameter decision engine that scores options in one pass, reporting 0.7705 on typed-decisions and 22 ms per question.

    ProjectresearchPython
  • Fastino's 340M Apache-2.0 decision classifier that scores caller-defined labels in one forward pass for routing, intent and scoring.

    ModelproductionPython
  • Open multilingual System 1 decision engine built on Laya checkpoints with a router that picks the best checkpoint per request.

    ModelbetaPython
  • Mangaba AI's local, calibrated typed-decision model for Portuguese text, trained to optimize the Brier score; proprietary since v5.

    ProjectproductionPython
  • blink★ 22

    Open one-pass typed-decision model with a dependency-free C99 runtime that also builds to a 66 KB WebAssembly module.

    ServicebetaC
  • Foq★ 11

    Local open alternative to Jev using a 1.58-bit ternary 8B model to answer booleans, choices, scores and Pydantic extraction in ~25 ms.

    ProjectbetaPython