Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

typed-lm and Jev

typed-lm implements the Jev (TypeSafe AI) HTTP contract so an existing Jev client can point at a self-hosted model running on your own hardware. This page summarizes what is compatible and where the projects differ.

What is Jev?

Jev is TypeSafe’s flagship System One model. It evaluates typed questions against a state and returns structured answers. typed-lm follows the same idea: no free-text generation, only typed results extracted from a single forward pass.

Compatibility table

AspectJevtyped-lm
Main routePOST /v1/systemonePOST /v1/systemone
Question typesnoul, choice, scorenoul, choice, score
Combine types in one callYesYes
choice answerchoice, probabilities, confidencechoice, probabilities, confidence
score answerscore, legend, probabilities, confidencescore, legend, probabilities, confidence
noul answernoul (0.0 to 1.0)noul (0.0 to 1.0)
Model listingGET /v1/modelsGET /v1/models
HealthGET /healthGET /health, GET /health/live
HostingManaged APISelf-hosted, open source
ModelJevAny supported dense family

Where they differ

  • Hosting. Jev is a managed service; typed-lm runs on your hardware and exposes the contract locally.
  • Model choice. typed-lm serves dense decoder checkpoints you supply — Llama, Qwen2, Qwen3, Mistral, Gemma, Gemma2 and Gemma3 — plus adapters and quantized artifacts produced by its own trainer.
  • Training. typed-lm ships a trainer so you can fine-tune the exact decision-position behavior the API uses.
---
accTitle: A Jev-compatible client against either backend
accDescr: The same typed request works against the managed Jev API or a self-hosted typed-lm server.
---
flowchart LR
  client["Jev-compatible client"]:::neutral
  jv["Jev managed API"]:::primary
  tl["typed-lm self-hosted"]:::accent
  answers["identical typed answers"]:::success

  client -- "same contract" --> jv --> answers
  client -- "same contract" --> tl --> answers

  classDef primary fill:#ede9fe,stroke:#7c3aed,color:#3b0764,stroke-width:1.5px
  classDef accent fill:#dbeafe,stroke:#2563eb,color:#0c4a6e,stroke-width:1.5px
  classDef success fill:#d1fae5,stroke:#059669,color:#064e3b,stroke-width:1.5px
  classDef neutral fill:#f4f4f5,stroke:#a1a1aa,color:#18181b,stroke-width:1.5px

When should I use which?

  • Use Jev when you want a managed, always-up-to-date model with no operations.
  • Use typed-lm when you need self-hosting, a specific open model, local data residency, or a model fine-tuned on your own decisions.

Next steps