823 words
4 minutes

Laya Local System One: Setup, Limits, and Jev Comparison

2026-09-22
AI
AI
/
Python
/
Machine Learning
/
Development

Laya is an open-source System One decision model that can run on local hardware. Like Jev, it accepts a state plus Choice, Score, and Noul questions instead of generating text. The model code and weights are published under Apache 2.0, which makes Laya relevant when application data cannot be sent to a managed decision API.

The project was published on September 18, 2026 and remains very new. It provides model weights, a PyPI package, benchmark artifacts, and notebooks, but that does not make every README result an independently replicated production guarantee.

Choose among three checkpoints#

The repository lists three checkpoints:

CheckpointBackboneParametersDefault contextIntended use
layaModernBERT-large421M512English decisions
laya-multilingualmmBERT-base322M1,024Multilingual and non-Latin input
laya-typed-decisionsModernBERT-large421M1,024Fine-tuned typed-decision workflows

The Router can select English or multilingual inference from the detected script and language. It can also select the typed-decisions checkpoint for recognized question schemas or an explicit model request.

This routing step exists because the English checkpoint can be confidently wrong on non-Latin scripts. Confidence gating cannot recover an input the checkpoint does not represent; choose the checkpoint before inference.

Install and run the Python package#

The project declares Python 3.9 or newer and installs from PyPI:

Terminal window
python -m venv .venv
source .venv/bin/activate
pip install laya

Load one checkpoint for a dedicated English pipeline:

from laya import load
agent = load(
"convaiinnovations/laya",
device="cuda",
)
state = {
"subject": "Duplicate charge",
"body": "I was charged twice and want a refund today.",
}
questions = {
"department": {
"type": "choice",
"instructions": "Which team should handle this ticket?",
"criteria": {
"billing": "Payments, invoices, and refunds",
"support": "Product help and bugs",
"sales": "New purchases and upgrades",
},
},
"refund_requested": {
"type": "noul",
"instructions": "Does the customer explicitly request a refund?",
},
}
result = agent.predict(state, questions)
print(result)

For mixed-language traffic, use the router rather than repeatedly loading checkpoints by hand:

from laya import Router
router = Router(max_loaded=2)
result = router.predict(state, questions)
print(result["routing"]["model"])
print(result["answers"])

max_loaded=2 trades memory for fewer checkpoint reloads. The project reports multi-second reload times when alternating languages with only one checkpoint kept in memory, so include cold-load behavior in latency tests.

Read the benchmark beyond the headline#

The repository reports 32.8 to 39.5 milliseconds for a single question on a T4 GPU and 72.3 milliseconds for a batch of 10 with the multilingual checkpoint. Those are model-side measurements from the project’s benchmark, not end-to-end application latency.

More important, the project’s typed-decision results show a large gap between the base and fine-tuned models. On the published shared benchmark, the base checkpoints score around 0.34 to 0.36 accuracy, near the 0.318 random baseline and below the 0.461 majority baseline. The laya-typed-decisions checkpoint reports 0.766 accuracy on its target workflows.

That result does not mean the fine-tuned model will reach 0.766 on a different label set. It shows that domain and schema-specific training materially changes this kind of model. Build a labeled set for the actual decision and test the exact checkpoint you intend to deploy.

The project also warns that raw confidence can be overconfident and recommends temperature fitting. Score is currently weaker than Choice and Noul, and large option sets are constrained by the model’s token allocation.

Laya or Jev?#

ConditionStart withReason
Fast hosted evaluation with no model operationsJevManaged endpoint, higher published limits, no local weights
Data must stay within your environmentLayaLocal inference and downloadable weights
Need to modify training or inspect implementationLayaOpen code, checkpoints, and research artifacts
Need 64k request contextJevLaya checkpoints use 512 or 1,024-token contexts
Need a multilingual local pathLaya multilingual, after evaluationDedicated multilingual checkpoint and script-aware router
Need generated text or multi-step reasoningNeitherUse a generative or reasoning model

Local inference is not automatically cheaper. Account for GPU or CPU capacity, memory, cold starts, monitoring, calibration, model distribution, and updates. A managed API is not automatically less secure either; evaluate data handling requirements rather than using deployment location as a proxy for the entire risk model.

Verification boundary for this guide#

The repository, package metadata, model card, source code, and published benchmark artifacts were inspected. The model weights were not downloaded and GPU inference was not executed in this environment. The reported latency and accuracy values therefore remain project-published results, labeled as such.

Use the Jev model guide for the managed alternative and the Jev TypeScript tutorial for an API workflow. If the goal is coding-agent cost control, review the Codex token-routing evidence before treating either decision model as an automatic proxy.

FAQ#

Q: Can Laya run without sending data to an external API?#

A: Yes. The reference Python package loads downloadable checkpoints for local inference. You still need to secure the machine, model cache, logs, and any surrounding service that exposes the model.

Q: Is Laya a drop-in replacement for Jev?#

A: It uses similar Choice, Score, and Noul concepts, but context length, quality, calibration, SDK behavior, and operational responsibility differ. Evaluate the exact request schema instead of assuming output compatibility means equivalent decisions.

Q: Which Laya checkpoint should handle Chinese text?#

A: Start with the multilingual checkpoint, not the English ModernBERT checkpoint. Then measure accuracy and calibration on representative Chinese examples because the repository’s language routing only selects a checkpoint; it does not prove task quality.

References:

NandhaKishorM/laya repository

Laya benchmark notes

Laya model card on Hugging Face

Laya package on PyPI

TypeSafe AI: Models

Laya Local System One: Setup, Limits, and Jev Comparison
https://laplusda.com/en/posts/laya-local-system-one-model-guide/
Author
Zero
Published at
2026-09-22
License
CC BY-NC-SA 4.0