Models, providers and routing

Decision models

Classifier models that answer typed questions with probabilities, used inside Janus and served to people and apps.

What it is

Decision models answer yes/no, choice and score questions with probabilities instead of generated text. Janus speaks the System One format (TypeSafe Jev, Bespoke Nimble and others, served by TypeSafe, OpenRouter, Ollama or llama.cpp) and the OpenAI Decisions format, and serves granted decision models to callers at /v1/decisions, /v1/systemone and /api/alpha/decisions.

Why you want it

One fast classifier can back security checks, usage labels and auto-routing, and applications that need classification get it through the same grants, quotas and logs as every other model.

How it works

  • Format chosen from the provider's address and overridable per model; Janus translates between the two and passes same-format requests through
  • Calls are granted, rate-limited, checked by security policies, counted against quotas, priced and logged
  • /v1/models lists decision models with janus.kind set to decision
  • Cost source per model: automatic, the provider's reported charge, the rate card, or free, plus an optional fee per call
  • OpenAI decision models get their own :decisions catalog entry; OpenRouter decision models are discovered with their prices
  • A decision model that blocks requests in a security policy can't be granted unless an administrator allows it
An OpenAI SDK calling a System One model through Janus
client = OpenAI(base_url="https://janus.example.com/v1", api_key="<Janus token>")
result = client.decisions.create(
    model="typesafe/jev-router",
    input="I was charged twice for my subscription.",
    questions=[{"type": "predicate", "name": "urgent", "instructions": "Is this urgent?"}],
)

See it on your own network.

The Community edition is free for up to 25 people. The 30-day Business trial unlocks every Business feature.