セルフホスト · オープンソース · 2026-09 スナップショット

セルフホスト Jev:実際に動かせるオープン代替と、必要なハードウェア

TypeSafe Jev はホスト型 API です。SDK はクライアントにすぎず、その出力から類似製品を作ることは契約で禁じられています。実際にセルフホストできるのは、その周りで育ったオープンソースエコシステムのほうです。10 のルートを 1 つのマトリクスにまとめ、それぞれに最小のインストールコマンドを付けています。

結論から

GPU が一切ないなら Von。395M パラメータ、ディスク約 1.5GB、CPU で 15ms 未満。MacBook なら Kev の MLX(47ms)、または Laya-MLX(M3 Max で p50 13.4ms)。コンシューマー向け GPU が 1 枚なら、速度重視は cbjev、微調整の土台は Laya、学習なしで 4B を再利用するのは SemIf。サーバーに予算を回せるなら H100 で Kev か JevK5、24GB のカードで DiffusionGemma、B200 で openjev-sglang。そして Jev 本体はホスト型・クローズドウェイトで、セルフホストはできません。

本ページの数値はすべて、第三者が公開した値か公開リポジトリを確認して得た値(2026-09-23/26 時点)であり、当サイトが計測したものではありません。このエコシステムは週単位で変わるため、依存する前に必ず再確認してください。

まずは正直な結論から

セルフホストできないもの

Jev 本体です。TypeSafe は Jev をホスト型 API として提供しており、Python および TypeScript のパッケージはその API をネットワーク越しに呼ぶクライアントにすぎません。公開された Jev の重みは存在せず、オフラインモードもありません。さらに Master Customer Agreement 2.3(b) は、同サービスとその出力を類似製品の開発に使うことを禁じています。

セルフホストできるもの

その周りで育ったオープンなエコシステムです。3 系統に分かれます。訓練済みの判断モデル(Laya、Von、cbjev、NanoJev、JevK5)、すでに動かしているモデルから選択肢のロジットを読み取るアダプタ(Kev、SemIf、AnyJev、simple-jev)、そして拡散ベースのサーバー(OpenJev、openjev-sglang)。ほとんどが同じ /v1/systemone 仕様を受け付けるので、既存の TypeSafe SDK 呼び出しは base URL を差し替えるだけでそのまま動きます。

インストールとハードウェアのマトリクス

10 のルートを 1 行ずつ。最低ハードウェア、フットプリント、作者または測定者が報告したレイテンシ、1 行のインストール。内部リンクは当サイトの各プロジェクト詳解へ、それ以外は一次リポジトリへ直行します。

プロジェクトライセンス最低ハードウェアフットプリントレイテンシ(自己申告値)インストール向いている用途
VonwfzyxApache-2.0GPU 不要。ノート PC、エッジ端末、CPU のみのコンテナ395M パラメータ、ディスク約 1.5GBCPU で 1 判断 15ms 未満git clone + von-sdk最も安価なデプロイ構成。エッジ側での CPU オンリーのトリアージ
LayaConvai InnovationsApache-2.0CPU でそのまま動作。リファレンス GPU は T4。多言語 Router を内蔵421M パラメータ(+ 322M の多言語チェックポイント)。Laya-MLX 移植は約 0.9GBT4:32.8〜39.5ms/設問、10 設問バッチ 7.2ms · RTX 5090:22ms · M3 Pro CPU:3 設問 66mspip install laya自前ラベルで微調整する土台。多言語チェックポイントで 100 言語以上
cbjevtomek7667GPL-3.0-or-laterコンシューマー向け GPU 1 枚(公表値は RTX 4090)チェックポイントあたり約 800MBRTX 4090 で 3.0〜31.4ms。Laya の 1.5〜6.9 倍速いpip install -e ".[serve]"最速で、しかもキャリブレーション済みのエンコーダ。1 設問の選択肢は 30 個まで
KevJared PalmerApache-2.0Apple Silicon(MLX)または CUDA サーバー0.8B / 4B / 9B。4B は約 9GB bf16、9B は約 17〜19GBMLX 47ms(同一 state)/ 77ms(新規 state)· H100 12〜26ms · 旧 MPS 213ms · M5 780msuv sync --extra serve差し替え前提の /v1/systemone 互換。MacBook で訓練と微調整が可能
SemIfTheo LeeMIT(コード)RTX 3090 が 1 枚(公表構成は BF16 の 4B)。llama.cpp 経由なら CPU も可。Apple Silicon は MLX/MPS凍結した Qwen3.5-4B。Q4_K_M GGUF で約 3GB(ブラウザタブでも動く)3090 で 21 項目 1.023 秒。JSON 生成の 5.332 秒と比べ 5.21 倍 · state 再利用時は 20.03 判断/秒git clone (see README)訓練ゼロで、すでに動かしているモデルのロジットを読み取る
JevK5allebeeApache-2.0公表値の中心は H100 計測。CPU のみでも動くが遅い。llama.cpp GGUF 経由で NVIDIA/AMD/Intel/Apple に対応bf16 で約 9GB(4B)/ 約 19GB(9B)。GGUF は 2.0〜9.5GBH100 p50 13.2ms(easy/standard)、30ms(hard)(9B:p50 32ms)· CPU で約 0.25 秒(2B)/ 0.6 秒(4B)jevk5-serve (repo + HF weights)ワイヤ互換を保つオープンウェイト。JevBench v1.2 でオープン勢最高のスコア(62.04、Jev は 63.29)
NanoJevTianyuCodingsリポジトリに表記なし(第三者は MIT)CUDA GPU が必須。Apple Silicon で動かす道はないQwen3-0.6B バックボーン + 判断ヘッドp50 の公表なし。タイトな制御ループ向け(独自ハーネスで ViZDoom 128/128、Jev は 56/128)git clone (train/eval pipeline included)研究と制御ループ向け。評価集合がそのまま訓練ドメイン
OpenJevrazorback16Apache-2.024GB 以上の NVIDIA GPU(DiffusionGemma 26B-A4B NVFP4)、または約 16GB ユニファイドメモリの Apple Silicon(MLX)重みは約 18GBRTX PRO 6000、同時実行 1 で p50 27ms(1 設問)/ 31ms(3 設問)git clone (serves /v1/systemone)画像と最大 255 選択肢を扱う拡散ルート。同一サーバーで Laya と Verdict のプロキシにも対応
openjev-sglangekzhangリポジトリ参照B200 級のデータセンターハードウェアSGLang 上の Qwen3.6-35B-A3B未公開。SGLang でのバッチサービング向けgit cloneデータセンター規模の高スループットなプロトコルサービング
AnyJev / simple-jevNokia · featherless-aiApache-2.0 · MITすでにオープン LLM を動かしている環境なら何でも(vLLM、HuggingFace、llama-server)新しい重みなし(simple-jev)。AnyJev のヘッドは 1 個約 100KBAnyJev の L2 ヘッドは、追加の順伝播 1 回分よりも軽いpip install "anyjev[hf]"訓練ゼロで、すでにセルフホストしているモデルを判断層に変える

レイテンシは各プロジェクト自身か、名前の明らかなサードパーティが、記載のハードウェア上で測った値です。保証ではなく仮説として扱ってください。公式とは独立した 49 タスクのテストでは、最強のオープンモデル(Von、395M)が約 0.704、ホスト型 Jev が 0.966。どのルートを選んでも、キャリブレーションとフォールバックは最初から計画に入れてください。

8 つのルート、8 つの最小構成インストール

ルートごとに、ゼロから最初の typed decision までの最短経路を。コマンド部分はどの言語版でも同じで、言語ごとに違うのは前後の説明だけです。

Von

ルート 1 · GPU 不要

どんなときに選ぶか

GPU がどこにもないとき。Von は 395M の ModernBERT-Large エンコーダに 3 つの判断ヘッドを載せたモデルで、ディスク約 1.5GB、CPU で 1 判断 15ms 未満。公式とは独立した 49 タスクベンチマークではオープン陣営の首位(約 0.704)です。記録されている失敗モードは、未知のドメインで単一モードへ崩壊すること。採用時に想定した仕事以外は任せないこと。

Von
bash · clone + SDK
# Von needs no GPU: 395M params, ~1.5 GB on disk,
# each decision under 15 ms on a CPU.
git clone https://github.com/wfzyx/von.git && cd von
# follow the README to serve or call it in-process

# JavaScript callers can use the published SDK:
npm install von-sdk
Node SDK の呼び出し形:decide({ state, question, options }) が { choice, confidence } を返します。自分のしきい値を下回ったらエスカレーション。

Laya

ルート 2 · ノート PC か無料枠 GPU

どんなときに選ぶか

ラベル付きデータが数百件あって微調整するつもりなら。それが Laya の得意な仕事です。ゼロショットではほぼ乱数(typed decisions で 0.362)。pip install は訓練プロジェクトの一段目であり、完成した代替品ではありません。英語以外のテキストで cbjev ではなくこちらを選ぶ理由が、多言語 Router です。

Laya
bash · pip + serve
pip install laya

# python: load and predict — one forward pass, N questions
#   import laya
#   agent = laya.load("convaiinnovations/laya")
#   answers = agent.predict(state, questions)["answers"]

# serve the /v1/systemone contract for existing SDK callers:
laya-serve
v0.3.7 以降、ノート PC でもサーバーは約 4 秒で立ち上がります。出力される信頼度を信じる前に、ホールドアウトデータで温度を再フィットしてください。

cbjev

ルート 3 · コンシューマー GPU 1 枚

どんなときに選ぶか

エンコーダ方式が正解で、Laya は遅すぎる、または選択肢の並べ替えで答えをひっくり返しすぎるとき。cbjev は Laya から微調整され、答えの反転率は 0.2%(Laya は 7.8%)、4090 上で 1.5〜6.9 倍速い。注意は 2 つ。GPL-3.0-or-later であることと、英語チェックポイントは英語専用なので、他の言語は多言語チェックポイントに回すこと。

cbjev
bash · clone + editable install
git clone https://github.com/tomek7667/cbjev.git && cd cbjev
pip install -e ".[serve]"

# GPL-3.0-or-later — check licence compatibility before adopting.
1 設問の選択肢は 30 個まで。それを超えると精度の落ち方が Jev より急になります。

Kev

ルート 4 · MacBook MLX か H100 差し替え

どんなときに選ぶか

最短の移行経路が欲しいとき。Kev は同じ /v1/systemone 仕様に対応しているので、TypeSafe SDK の呼び出しは base URL を変えるだけで動き続けます。MacBook での訓練と微調整に対応(MLX で同一 state 47ms)、H100 では 12〜26ms。採用前に、Kev 自身が公開している数字に目を通してください。ホールドアウトの新ソースで 0.822(Jev 0.857)、高信頼回答の誤り率は 4.0% 対 3.7%。

Kev
bash · uv + serve + curl
git clone https://github.com/jaredpalmer/kev.git && cd kev
uv sync --extra serve

# serve the 0.8B checkpoint on your own hardware
KEV_DTYPE=bf16 uv run --extra serve python -m kev.serve \
  --run jaredpalmer/kev-0.8b --port 8009

# the same request shape Jev uses
curl -s localhost:8009/v1/systemone \
  -H 'content-type: application/json' \
  -d '{"model":"kev-latest","state":"...","questions":{...}}'
最初の公開は 0.5B。現在の主流は Qwen3.5 上の 0.8B/4B/9B です。必要 VRAM は 4B で約 9GB(bf16)、9B で約 17〜19GB。

SemIf

ルート 5 · 訓練ゼロ、3090 が 1 枚

どんなときに選ぶか

すでにオープンモデルを動かしていて、訓練は一切したくないとき。SemIf は読み出しのハーネスです。凍結した Qwen3.5-4B のロジットから、宣言した選択肢を 1 回の順伝播で採点します。リファレンス環境は RTX 3090 が 1 枚だけで、同じ仕事を JSON として書かせるより 5.21 倍速い。llama.cpp 経由の CPU バックエンド、MLX/MPS、さらには WebGPU のブラウザデモもあり、GPU は便利だが必須ではない立ち位置です。

SemIf
bash · clone, no weights shipped
git clone https://github.com/TheoLeeCJ/SemIf.git && cd SemIf
# reference run: one RTX 3090, frozen Qwen3.5-4B, BF16
# also runs on CPU via llama.cpp; MLX / MPS on Apple Silicon
#
# the idea, in three lines:
#   probs = read_option_logits(model, state, question, options)
#   decision = max(probs, key=probs.get)
#   if probs[decision] < 0.85: decision = "human_review"
作者自身が率直に認めています。再現しているのはインターフェースのパターンで、Jev の精度ではありません。102 行の整合済みサブセットで 0.845 対 0.883。リリース前に、ワークロードごとにキャリブレーションを。

JevK5

ルート 6 · オープンウェイト、vLLM / GGUF サービング

どんなときに選ぶか

重みが公開されていて、しかも Jev のワイヤ形式に対応したものが欲しいとき。JevK5(Apache-2.0、4B/9B、Qwen3.5 + 蒸留 LoRA)は jevk5-serve 経由で /v1/systemone 仕様を提供し、JevBench v1.2 の 62.04(Jev は 63.29)はこのリーダーボードでオープン勢最高の数字です。GGUF 版(2.0〜9.5GB)は llama.cpp 経由で CPU と Apple Silicon で動き、短い判断 1 回あたり約 0.25〜0.6 秒。知っておくべき制限は、日本語非対応、1 設問 16 選択肢まで、入力上限 16,384 トークン。

JevK5
bash · repo + Hugging Face weights
git clone https://github.com/allebee/jevk5.git && cd jevk5
# weights on Hugging Face:
#   alibiserikbay/JevK5 (4B) · alibiserikbay/JevK5-9B · JevK5-GGUF
#
# jevk5-serve speaks /v1/systemone — Jev-wire-compatible.
# bf16 needs ~9 GB (4B) or ~19 GB (9B) of GPU memory;
# the GGUF route runs on NVIDIA / AMD / Intel / Apple via llama.cpp.
自身で実行した hard ティアは 0.784 で、Jev が公開している hard 半分の 0.730 を上回ります。ただしこれは自己計測の値であり、公式の JevBench スコアではありません。日本語は非対応。1 設問の選択肢は 16 個まで。

NanoJev

ルート 7 · CUDA 研究環境

どんなときに選ぶか

判断モデルを動かすだけでなく、自分で訓練したいとき。NanoJev(Qwen3-0.6B + 判断ヘッド。第三者の表記では MIT)は訓練と評価のパイプライン一式を同梱し、ある課題で本当に Jev を破った唯一のオープンプロジェクトです。独自ハーネスで ViZDoom Basic 128/128、Jev は 56/128。正直な境界として、その 4 ゲームは訓練ドメインでもあります。迷路のテスト集合では Jev が 7/10 で逆転するので、チケットの振り分けに使ってはいけません。

NanoJev
bash · clone, CUDA required
git clone https://github.com/TianyuCodings/NanoJev.git && cd NanoJev
# Qwen3-0.6B backbone + decision heads.
# The inference script expects CUDA — there is no Apple Silicon path.
# Training + evaluation pipeline ships with the repo
# (a Chinese README is available).
数値を信じる前に自分の環境で評価を。公表されているハーネス結果は、モデルの訓練ドメインそのものです。

OpenJev + openjev-sglang

ルート 8 · 拡散ルート。ワークステーションからデータセンターへ

どんなときに選ぶか

state に画像が含まれる、または選択肢が数百に及ぶとき。画像入力を受け付けるのは拡散ルートだけで、OpenJev(razorback16)は DiffusionGemma 26B-A4B を最大 255 選択肢でサービングし、RTX PRO 6000 で p50 27ms です。LocalJev の README にある注意は、この一族全体にそのまま当てはまります。ワイヤ互換であって、数学的に等価ではない。データセンター規模では、openjev-sglang が SGLang で Qwen3.6-35B-A3B をサービングし、B200 級のバッチスループットを狙います。

OpenJev + openjev-sglang
bash · two repos, two scales
# workstation scale: DiffusionGemma 26B-A4B on a 24 GB+ NVIDIA GPU
# (~18 GB weights, NVFP4) or ~16 GB Apple silicon via MLX
git clone https://github.com/razorback16/openjev.git && cd openjev

# datacenter scale: Qwen3.6-35B-A3B on SGLang, B200-class
git clone https://github.com/ekzhang/openjev-sglang.git && cd openjev-sglang
どちらも /v1/systemone 風のエンドポイントを公開しているので、SDK 側の差し替えはこのページの他のルートと同じです。OpenJev は同じ API 経由で Laya と Verdict のプロキシにもなります。

手持ちのハードウェアから選ぶ

判断モデルのフットプリントは 4 桁にわたります。精度を比べる前に、まず手持ちのハードウェアが候補を絞り込みます。

GPU が一切ない

ノート PC の CPU、古いオフィス機、エッジボックス、CPU のみのコンテナ

Von を動かします。395M パラメータ、ディスク約 1.5GB、CPU で 1 判断 15ms 未満。最も単純なラベル集合なら Verdict(ONNX int8)で 2ms 未満、ワイヤ互換が必要なら JevK5 の GGUF 版で短い判断 1 回あたり約 0.25〜0.6 秒。4B の量子化モデルで足りるなら、SemIf も llama.cpp 経由で CPU で動きます。

Apple Silicon

M シリーズの MacBook と Mac Studio、16GB 以上のユニファイドメモリ

Kev は MLX で同一 state なら 47ms(新規 state は 77ms)で応答し、同じマシンで訓練もできます。Laya-MLX は M3 Max で p50 13.4ms、1GB 未満。OpenJev は約 16GB のユニファイドメモリで DiffusionGemma を動かせます。設定ゼロで済む受け皿は、相変わらず Von です。

コンシューマー GPU 1 枚

RTX 3090 / 4090 / T4 クラス、8〜24GB の VRAM

とにかく速いのが欲しいなら cbjev(4090 で 1 設問 3ms)、微調整の土台は Laya(T4 で 33〜40ms)、3090 に凍結 4B を BF16 で載せるのは SemIf、約 9GB の bf16 で動かすなら JevK5-4B、CUDA の訓練パイプライン自体が目的なら NanoJev です。

ワークステーションかサーバー

RTX PRO 6000 / H100 / B200 級のハードウェア

H100 では Kev が 12〜26ms、JevK5 は p50 13.2ms。OpenJev の DiffusionGemma サーバーは 24GB 以上のカードを必要とし(p50 27ms)、openjev-sglang は B200 級のバッチスループットを狙います。すでに動かしているオープン LLM をそのまま判断層にするなら、vLLM に AnyJev か simple-jev。訓練ゼロで、追加レイテンシもほぼありません。

導入までの 5 ステップ

落ち着き先が 1.5GB の CPU モデルでも、B200 サーバーでも、順序は同じです。

  1. 01

    どの層を置き換えるのかを決める

    Jev という API はセルフホストできません。置き換え対象を意識して選んでください。モデルそのもの(訓練済みエンコーダ)、サービング層(ワイヤ互換サーバー)、あるいは何も置き換えず、すでに動かしているオープンモデルからロジットを借りる(アダプタ)という道もあります。

  2. 02

    ルートをハードウェアに合わせる

    上のマトリクスを使います。1.5GB で GPU なしなら Von。3090 が 1 枚なら SemIf か小型エンコーダ。24GB のカードがあれば DiffusionGemma が選択肢に入り、データセンター規模のバッチサービングは B200 級の SGLang です。

  3. 03

    最小のコマンドで入れる

    以下の各ブロックは、最初の答えまでの最短経路です。clone、sync、serve、curl。最初のリクエストが返る前に、プラットフォームを作り始めないこと。

  4. 04

    自分のラベルでキャリブレーションする

    自己申告の信頼度は、キャリブレーション済みの信頼度ではありません。確率を信じる前に、自分のワークロードから分けておいたホールドアウトデータで温度スケーリングを当てはめてください。SemIf 自身の数値では ECE が 0.208 から 0.069 へ改善し、Laya では較正は直ったのに精度は 1 ポイントも動きませんでした。

  5. 05

    シャドウテストをしてから、信頼度で振り分ける

    セルフホスト経路を現行構成の隣で実トラフィックに載せ、プロジェクトのベンチマークではなく自分のラベルで比較します。旧経路を消す前に、低信頼度の判断を人間かフォールバックチェーンへ回す仕組みを入れてください。

セルフホスト Jev:よくある質問

Jev はオープンソースですか?

いいえ。TypeSafe Jev はクローズドウェイトのホスト型 API で、Python および TypeScript SDK はそのクライアントです。Master Customer Agreement 2.3(b) は、同サービスとその出力を類似製品に使うことを禁じています。オープンなのは周囲のエコシステムです。Laya、Von、cbjev、NanoJev、JevK5 は訓練済みのオープンモデル、Kev、SemIf、AnyJev、simple-jev は既存モデルを活かすアダプタ、OpenJev と openjev-sglang は拡散ルートのサーバーです。

Jev 本体をセルフホストできますか?

モデルとしては無理です。公開された重みはなく、オフラインモードもありません。「セルフホスト Jev」とは通常、上のオープン代替のいずれかを指します。その多くは同じ /v1/systemone リクエスト形状を受け付けるので、既存の SDK 統合は base URL を変えるだけで動き続けます。

Jev 系の判断モデルをセルフホストするのに必要なハードウェアは?

1.5GB・GPU なしから B200 まで。Von は CPU で 15ms 未満。Laya は pip 一発で、ノート PC でも動かせます。SemIf のリファレンス環境は、RTX 3090 が 1 枚で凍結済み Qwen3.5-4B を BF16 で載せる構成。Kev は Apple Silicon の MLX か H100(12〜26ms)。DiffusionGemma 系サーバーは 24GB 以上の VRAM が必要で、openjev-sglang は B200 級が対象です。

ローカルで動かすなら Laya と Kev のどちら?

役割が違います。Kev は差し替え用です。同じ /v1/systemone 仕様、Qwen3.5(0.8B/4B/9B)への LoRA アダプタ、MacBook での訓練に対応し、自分に不利な数字も自ら公表しています。ホールドアウトの新ソースで 0.822、対する Jev は 0.857。Laya は微調整の土台です。ゼロショットはほぼ乱数同然(typed decisions で 0.362、多数派ベースライン 0.461)ですが、自前ラベルで微調整すれば十分に戦力になり、順序尺度の設問には測定済みの位置バイアスがあります。訓練を一切したくないなら、SemIf が既存の 4B からロジットを読み取ります。

JevK5 とは何ですか?

Apache-2.0 のオープンウェイト判断モデルです(4B と 9B。Qwen3.5 に蒸留 LoRA)。jevk5-serve エンドポイント経由で Jev とワイヤ互換を保ちます。JevBench v1.2 では 62.04 を出し、ホスト型 Jev の 63.29 に迫る、このリーダーボードで最も近いオープンのスコアです。H100 での easy/standard の p50 は 13.2ms。GGUF 版(2.0〜9.5GB)は llama.cpp 経由で CPU と Apple Silicon で動きます。日本語は非対応で、1 設問の選択肢は 16 個までです。

セルフホストした代替モデルでも、ホスト型 Jev と同等の精度は出ますか?

ゼロショットのまま未知のドメインで使うかぎり、出ません。どのプロジェクトにも利害関係のない唯一の独立ベンチマーク(49 タスク、869 ケース)で、最強のオープンモデルは 395M の Von の約 0.704、Jev は 0.966 です。差は約 26 ポイント。オープン側が勝つのは、自分のハードウェアでのレイテンシ、ハードウェア償還後の 1 呼び出しコスト、データを外に出さずに済むことです。どちらを選んでも、温度キャリブレーションと信頼度ゲート付きのフォールバックは、最初から織り込んでおいてください。