Pranav Srivastava

11 lessons

0/11 done
Lesson 9 of 11·13 min·Intermediate
813 min

Jev vs Laya: hosted API or open weights

What you will learn
  • Explain the deployment trade: hosted API versus open weights
  • Read the Jev vs Laya benchmark claims with the right amount of suspicion
  • Pick a lean using your own constraints, and know what to test
  • Keep your code provider-agnostic so the choice stays reversible

Refresher: two ways to get the same kind of model

You already know the pattern: text and typed questions in, typed values out. Jev is the version you rent: an API, run by TypeSafe AI. Laya (repository) is the same idea as open weights under an Apache 2.0 licence: you download it, run it on your own hardware, and can fine-tune it on your own labels. Laya is built from encoder models (ModernBERT-large at about 421 million parameters for English, a base-size multilingual version), the kind that read a whole input at once rather than writing token by token.

This is the old rent-versus-own question, applied to AI.

Renting (hosted API)Owning (open weights)
SetupAn API keyChoose a checkpoint, serve it, monitor it
Cost shapePay per tokenPay for hardware and people
DataSent to a vendorStays where you run it
ControlVendor decides versions and priceYou decide, and you are responsible
ImprovementVendor's roadmapYou can fine-tune on your data

Side by side

JevLaya
What it isManaged API from TypeSafe AI, a funded companyOpen-weights model by an independent researcher
AgeReleased 15 Sept 2026Released 18 Sept 2026
LicenceNot open sourceApache 2.0
Zero-shot out of the boxReasonable on few-class English tasks (independent tests, mixed)Base checkpoints near or below chance on a typed-decisions benchmark: 0.362 vs a 0.461 majority-class baseline
After fine-tuningNot applicable0.766 vs Jev's 0.727, but the fine-tune used that benchmark's own training split
Many optionsUp to 255Weak past about 20. On Banking77 (77 intents): Laya 0.425, Jev 0.870
Input length32,000 tokens per Cloudflare; a community post says 64,000, so check512 to 1,024 tokens on the tested checkpoints
LanguagesWeaker outside EnglishA multilingual checkpoint exists; quality varies by language
SpeedVendor: 70 to 500 ms. Independent medians about 236 to 276 msAbout 33 to 40 ms on a T4 GPU. On a CPU-only server, one author measured a median of 49.4 seconds; another saw 63 to 68 ms warm on Apple Silicon
CalibrationOverconfident on choice/score in independent testsRaw ECE 0.466, falling to 0.081 after fitting a temperature per question type
CostAbout $0.042 per million input tokens, output free (list)No per-token fee; you pay for the GPU and the work
PrivacyData goes to the APICan run fully in your network

Sources for each row are in the list at the end of the chapter.

How to read the benchmark

The community article cites a benchmark called JevBench v1.3.0 with 534 typed decisions. It reports Jev at a composite 74.4 and Laya at 54.4, with hard-case accuracy of 74.1% against 34.1%. It also says plainly that this is "not a universal product ranking" and uses an untuned Laya configuration.

Read that as: out of the box, on one decision set, Jev wins clearly. It does not say a fine-tuned Laya on your data loses. Other write-ups found the opposite once Laya was trained on labels. One of them summed it up as: a direct drop-in replacement for Jev will likely disappoint, and the viable path is fine-tuning on your own labelled data (BestHub). Also note that the maintainer of JevBench is not stated, so I cannot tell how neutral it is.

Try it: lean toward one

Hosted API or open weights? Answer for your situation.
  1. 1. Do you already run a GPU next to your LLM serving?

  2. 2. Can you label a few thousand examples and maintain a fine-tune?

  3. 3. Must the data stay inside your own network?

  4. 4. Does one question have more than about 20 options?

  5. 5. Are your inputs longer than roughly an email (over about 1,000 tokens)?

  6. 6. Do you need this working this week, with no setup?

  7. 7. Is a large share of your traffic non-English?

  8. 8. Do you make tens of millions of decisions a month?

Answer the questions above

Jev 0
Laya 0

A lean, not a ruling. Both projects are days to weeks old (Jev launched 15 Sept 2026, Laya was open-sourced 18 Sept 2026).

When to use which

Lean toward the hosted API (Jev) when:

  • You need it working this week, with no GPU and no fine-tuning team
  • You have no labels yet and need zero-shot behaviour
  • Inputs are longer, or a single question has many options
  • Volume is modest. At list price a million 900-token decisions is about $38, so operating a GPU rarely beats it at small scale

Lean toward open weights (Laya) when:

  • The data must stay inside your network
  • You can label a few thousand examples and own a fine-tune
  • You already run a GPU next to your LLM serving, so extra capacity is nearly free
  • You need decisions in tens of milliseconds inside a request path
  • Volume is huge, or you need multilingual control

Test both when: you are unsure, the stakes are high, or the languages are mixed. A shadow run is cheap.

The challenges, honestly

Jev

  • Very new; one vendor; price and terms can change
  • Overconfident probabilities; needs local calibration
  • Wording sensitivity; weaker outside English
  • Data leaves your system
  • No named production deployments

Laya

  • Weak zero-shot: usable only after fine-tuning on labelled data
  • Small context window can truncate long inputs
  • Many-option questions degrade
  • Calibration is manual work, per question type
  • Without a GPU it is a batch tool, not a request path
  • One-person maintenance risk: support, security fixes and roadmap are not guaranteed
  • A "model lead is not a moat": what protects you is your data, thresholds and audit trail, not which model you picked (Flowtivity)

Both

  • Both need a clear schema, stable labels, and a policy for uncertain answers
  • Neither writes text or explains itself
  • Both are unproven in high-stakes production

Keep the choice reversible

The safest design does not pick. It hides the provider behind one function, so Jev, Laya, a fine-tuned model or a plain rules fallback can be swapped, or run side by side. This is the same rule as this repo's LLM gateway: no provider hard-coded. It also gives you a natural fallback: if the hosted API is down, drop to a local model.

from typed_decide import decide

class HostedDecider:
    """Would call the vendor's API. Here it uses the toy stand-in."""
    name = "hosted"
    def decide(self, state, questions):
        return decide(state, questions)

class LocalDecider:
    """Would call a model you serve yourself. Here it uses the toy stand-in."""
    name = "local"
    def decide(self, state, questions):
        return decide(state, questions)

class Flaky:
    """A provider that is down, to show the fallback."""
    name = "hosted-down"
    def decide(self, state, questions):
        raise TimeoutError("hosted API timed out")

def decide_with_fallback(providers, state, questions):
    errors = []
    for p in providers:
        try:
            return {"by": p.name, **p.decide(state, questions)}
        except Exception as e:
            errors.append(f"{p.name}: {e}")
    return {"by": "human", "answers": None, "errors": errors}   # last rung: a person

questions = {"queue": {"type": "choice", "criteria": {"billing": ["charged", "refund"], "technical": ["error", "bug"]}}}
print(decide_with_fallback([Flaky(), LocalDecider()], "I was charged twice", questions)["by"])
print(decide_with_fallback([Flaky()], "I was charged twice", questions)["by"])

The first call falls back to the local provider; the second falls all the way to a human. That is the fallback ladder in a dozen lines.

Chapter summary
  • Jev is rented (managed API); Laya is owned (open weights, Apache 2.0). Same idea, opposite deployment
  • Out of the box Jev is much stronger; Laya improves greatly after fine-tuning on your labels, though that headline comparison was not like for like
  • Choose by constraints: data location, labels, GPU, option count, input length, language, volume
  • Both are new and unproven in high-stakes production; test both in shadow on your own data
  • Hide the provider behind one function so the decision stays reversible and you have a fallback
Check your understanding
  1. Laya beat Jev, 0.766 to 0.727. Give two reasons that is not proof Laya is better.
  2. A hospital wants to route clinician messages and cannot send them outside its network. Which lean, and what must it do before relying on it?
  3. Why does hiding the provider behind decide() help even if you are certain you want Jev?

Sources

All pages read on 25 September 2026. Figures were pulled through a summarising fetch tool, so check any number on the linked page before you quote it.

Finished this lesson?

Mark it done — your progress is saved automatically.