StackMap
Subscribe

CLM vs localjev

Contrastive Language Models: CLM-8B, an open System-1 decision model scoring states against actions — typed choice/score/yes-no answers on a TypeSafe-compatible API, up to 9x faster than Jev. — versus — GitHub Next's local Jev bridge: a Bun/TypeScript POST /v1/systemone that translates typed decision questions into prompts for DiffusionGemma behind any OpenAI-compatible endpoint.

The curated verdict

Both give you a local endpoint for Jev-style typed questions; localjev bridges to DiffusionGemma via prompts, CLM serves its own trained decision model.

CLMlocaljev
Stars3.0k821
Forks25654
LanguagePythonTypeScript
LicenseApache-2.0MIT
Last activity6 days ago23 days ago
Topicsdecision-models, localdecision-models, gateway, local
Curated connections58

CLM — the curator's take

Use it when an agent must pick among many candidates fast — next action, tool, best-of-N verifier — and you want calibrated probabilities on your own GPU; cached state/action embeddings are why it beats Jev on latency. Not for anything generative: it ranks, never writes. Needs a Qwen3-8B encoder under vLLM plus the head, and states past 2,048 tokens are truncated unless you raise both limits.

localjev — the curator's take

Use LocalJev when you want to point TypeSafe's SDK at your own hardware today, with a model you already serve: set TYPESAFE_BASE_URL and the quickstart runs unchanged, with chunking, admission control (max-inflight, HTTP 529 queue), and corrective retries on malformed JSON already handled. Read the honesty in its own README before trusting it: the probabilities are *generated* by the model as a JSON scalar/vector, not read from logits, so it is wire-compatible with Jev but not mathematically equivalent — OpenJev's structured read needs unmerged vLLM extensions that oMLX doesn't expose. That makes it fine for routing and triage, and the wrong tool for consequential decisions until you have run its own bake-off (AG News / BoolQ / SST-5, five models, two input lengths) on your workload. If you would rather own calibrated probabilities than borrow them, kev trains a readout head instead of prompting.