In short: Laya is not a chatbot. It doesn't write text, code or explanations. It makes choices, and it makes them fast.
Large language models generate text that you then have to parse. For decisions inside a program that is slow and unreliable. Laya belongs to a different class of models ("System 1"): it takes a state and typed questions and, in a single forward pass, returns an answer from options you defined, with a probability. It has no room to make an answer up.
What it is
- An open-source Python library, Apache 2.0, by Nandakishor M (Convai Innovations). Repository: github.com/NandhaKishorM/laya.
- Install:
pip install laya, Python 3.10+. - Inside: an encoder (ModernBERT or mmBERT) and a decision head trained with reinforcement learning against strictly proper scoring rules. So its confidence reads as a probability you can put a threshold on: above 0.85 act automatically, below that hand it to a human.
- Three checkpoints: English (421M parameters), multilingual (322M, 100+ languages including Russian) and one fine-tuned on business decisions. The
Routerclass detects the language and picks the right one. - Speed: 33 ms per question on a T4 GPU, about 7 ms per question when batched. On CPU, 190–460 ms.
Three question types
| Type | Returns | On stage | In the market |
|---|---|---|---|
choice | one option and per-option probabilities | which scene: groove, build-up, drop | news type: earnings, dividends, sanctions, noise |
score | a level on a scale | energy right now: calm, medium, peak | how much the news matters for the ticker |
noul | probability of "yes" | will the drop hit within two phrases? | is this message about my ticker? |
You can also describe the answer with a JSON schema or a pydantic model and get a ready dictionary back.
Laya and Jev
Jev is a commercial model of the same class from TypeSafe AI; version 1.13 came out on September 18, 2026. It runs only in the cloud: $0.042 per million input tokens, 32,000-token context.
Laya speaks Jev's protocol (POST /v1/systemone). So you write the program once and switch the backend: local Laya on your own hardware or Jev over the API.
| Laya | Jev 1.13 | |
|---|---|---|
| Runs | on your machine, offline | TypeSafe cloud |
| Price | free, needs hardware | $0.042 per 1M input tokens |
| Latency, 1 question | 33 ms (T4 GPU) | 236–276 ms p50 |
| typed-decisions accuracy | 0.766 (fine-tuned) | 0.727 |
| 50+ options in one question | 0.425 on Banking77 | 0.870 |
| Fine-tuning on your data | yes, free on Kaggle | no |
The comparison figures come from the Laya repository. Its author didn't measure Jev directly and used published third-party numbers, so the samples differ. I'll re-check both models on my own tasks.
Show production: where it fits
- A lighting designer's assistant. Audio analysis provides tempo and energy, Laya picks the scene, intensity and palette, and the program sends a command to grandMA. That's the next experiment.
- Riders and booking requests. An incoming email becomes event type, equipment list, urgency and "does it need a quote". One pass, any language.
- Crew communication. "Lost signal on the left truss" → lighting, sound or video, how critical, whether to stop the show.
- Stream chat moderation — the built-in
moderation_questions()preset.
Trading: where it fits
- News filter. A stream of Telegram channels and feeds: is it about my instrument, what kind of event, how important.
- A veto layer for a strategy. Before entering, the bot asks whether there's significant news on the ticker right now. If the probability is high, it skips the trade.
- Trade journal tagging. Notes on trades turn into entry reason, mistake, emotion. Mistake statistics build themselves.
- What not to do: ask Laya to predict price. It's a language model, not a time-series model. The buy or sell decision stays with the strategy.
Limitations
- Close to chance without fine-tuning. On hard decisions the base models score 0.36 against 0.32 for random choice. The 0.766 figure comes after fine-tuning on the task's own data. The author says it plainly: it's a base to specialise, not a ready-made brain.
- Over-confident. Out of the box its confidence is inflated, and the multilingual model ships with no calibration at all. Fit the temperature on your own data.
- Scales are the weak spot.
scoreis the weakest question type, and the multilingual model rarely picks the first level of a scale. - A young project. The library is a few weeks old and its API still changes, so pin the version.
What's next
I'll put Laya to work: an AI assistant for a grandMA lighting console. The program listens to the music, the model suggests a scene and palette, and the lighting operator confirms or cancels. First a test bench on grandMA3 onPC, then a club. All measurements will be in the next posts.