Mindket

Laya

Newversion 1 · updated

Overview

Answers typed questions about a message, email, ticket or JSON record with calibrated probabilities in one pass of about 33 ms, in 100+ languages. For developers who route tickets and classify text.

Laya is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.

At a glance

You need
  • Python 3.10 or newer
  • Internet access on first use, because the Router downloads a checkpoint then
  • About 843 MB of disk for the F16 weights, or about 211 MB for a 4-bit estimate
Runs in
  • Python, through the laya package and its Router
  • An HTTP server, through the laya serve extra
  • An MCP server, through the laya mcp extra
  • LangChain and LangGraph, through the laya langchain extra
Start with
pip install laya

Platform

ServerRuns on it

About

What it is

Laya is a decision model that never writes text. You give it a piece of content, such as an email, ticket or JSON record, and typed questions. It returns an answer and a probability for each question in a single forward pass of about 33 ms, across more than 100 languages. It has 421M parameters.

Who it suits

It suits developers who need quick, checkable answers about incoming text, such as which team should handle it and how urgent it is.

IndustryWho uses itHow they use itExample
Customer supportSupport engineersRoute tickets and spot churn riskA billing complaint sent to the billing team
SoftwareBackend developersClassify messages and records inside a serviceAn API that tags each incoming email
OperationsIT teamsRank requests by urgencyMark an outage report as blocking
Global teamsLocalization staffHandle messages in many languages with one modelTriage Hindi and Spanish messages in one queue

If you need the model to write replies or summaries, you can skip it, because it only picks among the answers you define.

Where to use it

  • Python, through the laya package and its Router
  • An HTTP server, through the laya serve extra
  • An MCP server, through the laya mcp extra
  • LangChain and LangGraph, through the laya langchain extra
  • ONNX Runtime and a TileLang GPU fast path, through two more extras
Use caseWhoWhat they get back
Ticket routingSupport teamsA department choice with its probability
Urgency scoringOperationsA placement on a scale such as not urgent, soon or blocking
Churn checksAccount teamsA probability that the customer threatens to leave

How to set it up

You need these first:

  • Python 3.10 or newer
  • Internet access on first use, because the Router downloads a checkpoint then
  • About 843 MB of disk for the F16 weights, or about 211 MB for a 4-bit estimate
  1. Install the laya package with pip.
  2. Add an extra if you want a server, MCP, LangChain, ONNX or the fast GPU path.
  3. Create a Router, which fetches a checkpoint the first time you use it.
pip install laya

How to use it

Write the text to judge and a set of typed questions, then call predict on the Router. Each question is a choice, a score or a yes or no question. The Router detects the language and sends non-English text to the multilingual checkpoint.

from laya import Router
router = Router()  # downloads a checkpoint on first use; Router(preload=True) loads all three up front
state = "Hi, we were billed twice for March. Please refund the duplicate today or we will cancel our plan."
questions = {
    "department": {"type": "choice", "instructions": "Which department should handle this?",
                   "criteria": {"billing": "invoices, payments, refunds",
                                "technical": "bugs, outages, system errors",
                                "other": "everything else"}},
    "urgency": {"type": "score", "instructions": "How urgent is this?",
                "criteria": ["not urgent", "soon", "blocking"]},
    "churn_risk": {"type": "noul", "instructions": "Does the user threaten to cancel or leave?"},
}
result = router.predict(state, questions)
print(result["answers"]["department"]["choice"])  # billing
print(result["answers"]["churn_risk"]["noul"])    # probability the answer is yes
print(result["routing"]["model"])                 # english

For long documents, name the multilingual checkpoint and raise the limit.

result = router.predict(long_document, questions, model="multilingual", max_len=8192)
ToolWhat it does
choicePicks one option from the criteria you list
scorePlaces the answer on an ordered scale
noulGives the probability that a yes or no answer is yes
RouterDetects the language and picks the English or multilingual checkpoint

Example

You pass an email saying the customer was billed twice and may cancel, with the three questions above. The result names billing as the department and gives a probability that the customer is a churn risk. Nothing is generated or parsed.

For newcomers and experts

Think of Laya as a fast sorting clerk. It reads text and answers fixed questions with numbers. A good first step is to run the quickstart above with your own short message.

It is non-autoregressive, so one forward pass gives all answers. Reinforcement learning against strictly proper scoring rules trained it, which makes honest probabilities the only way to earn reward.

  1. You pass text and typed questions
  2. The Router picks a checkpoint by language
  3. One forward pass scores every option
  4. You get answers with probabilities

Good to know

The default input limit of laya-multilingual is smaller than its maximum.

Token limit of laya-multilingual
Default limit1,024 tokens
With max_len=81928,192 tokens
  • Long inputs: up to about 4,000 tokens, 16 to 18 of 20 requests were right, and beyond that 8 to 17 of 20, so test on your own data
  • Speed: an input of 4,000 tokens needs roughly 1.7 s on an Apple GPU, while short inputs run as before
  • Other versions: 91 quantized and 218 fine-tuned versions made by other people are listed
  • License: Apache 2.0
  • Cost to run: none named
  • Data it reaches: the text you pass in, and a checkpoint it downloads on first use

README and files

README

Laya

Answers typed questions about a message, email, ticket or JSON record with calibrated probabilities in one pass of about 33 ms, in 100+ languages. For developers who route tickets and classify text.

Made by convaiinnovations on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.

About

What it is: Laya is a decision model that never writes text. You give it a piece of content, such as an email, ticket or JSON record, and typed questions. It returns an answer and a probability for each question in a single forward pass of about 33 ms, across more than 100 languages. It has 421M parameters.

Who it suits: It suits developers who need quick, checkable answers about incoming text, such as which team should handle it and how urgent it is.

Industry | Who uses it | How they use it | Example
Customer support | Support engineers | Route tickets and spot churn risk | A billing complaint sent to the billing team
Software | Backend developers | Classify messages and records inside a service | An API that tags each incoming email
Operations | IT teams | Rank requests by urgency | Mark an outage report as blocking
Global teams | Localization staff | Handle messages in many languages with one model | Triage Hindi and Spanish messages in one queue

If you need the model to write replies or summaries, you can skip it, because it only picks among the answers you define.

Where to use it:

  • Python, through the laya package and its Router
  • An HTTP server, through the laya serve extra
  • An MCP server, through the laya mcp extra
  • LangChain and LangGraph, through the laya langchain extra
  • ONNX Runtime and a TileLang GPU fast path, through two more extras
Use case | Who | What they get back
Ticket routing | Support teams | A department choice with its probability
Urgency scoring | Operations | A placement on a scale such as not urgent, soon or blocking
Churn checks | Account teams | A probability that the customer threatens to leave

How to set it up: You need these first:

  • Python 3.10 or newer
  • Internet access on first use, because the Router downloads a checkpoint then
  • About 843 MB of disk for the F16 weights, or about 211 MB for a 4-bit estimate
  1. Install the laya package with pip.
  2. Add an extra if you want a server, MCP, LangChain, ONNX or the fast GPU path.
  3. Create a Router, which fetches a checkpoint the first time you use it.
pip install laya

How to use it: Write the text to judge and a set of typed questions, then call predict on the Router. Each question is a choice, a score or a yes or no question. The Router detects the language and sends non-English text to the multilingual checkpoint.

from laya import Router
router = Router()  # downloads a checkpoint on first use; Router(preload=True) loads all three up front
state = "Hi, we were billed twice for March. Please refund the duplicate today or we will cancel our plan."
questions = {
    "department": {"type": "choice", "instructions": "Which department should handle this?",
                   "criteria": {"billing": "invoices, payments, refunds",
                                "technical": "bugs, outages, system errors",
                                "other": "everything else"}},
    "urgency": {"type": "score", "instructions": "How urgent is this?",
                "criteria": ["not urgent", "soon", "blocking"]},
    "churn_risk": {"type": "noul", "instructions": "Does the user threaten to cancel or leave?"},
}
result = router.predict(state, questions)
print(result["answers"]["department"]["choice"])  # billing
print(result["answers"]["churn_risk"]["noul"])    # probability the answer is yes
print(result["routing"]["model"])                 # english

For long documents, name the multilingual checkpoint and raise the limit.

result = router.predict(long_document, questions, model="multilingual", max_len=8192)
Tool | What it does
choice | Picks one option from the criteria you list
score | Places the answer on an ordered scale
noul | Gives the probability that a yes or no answer is yes
Router | Detects the language and picks the English or multilingual checkpoint

Example: You pass an email saying the customer was billed twice and may cancel, with the three questions above. The result names billing as the department and gives a probability that the customer is a churn risk. Nothing is generated or parsed.

For newcomers and experts: Think of Laya as a fast sorting clerk. It reads text and answers fixed questions with numbers. A good first step is to run the quickstart above with your own short message.

It is non-autoregressive, so one forward pass gives all answers. Reinforcement learning against strictly proper scoring rules trained it, which makes honest probabilities the only way to earn reward.

You pass text and typed questions
The Router picks a checkpoint by language
One forward pass scores every option
You get answers with probabilities

Good to know: The default input limit of laya-multilingual is smaller than its maximum.

Title: Token limit of laya-multilingual
Default limit: 1,024 tokens
With max_len=8192: 8,192 tokens
  • Long inputs: up to about 4,000 tokens, 16 to 18 of 20 requests were right, and beyond that 8 to 17 of 20, so test on your own data
  • Speed: an input of 4,000 tokens needs roughly 1.7 s on an Apple GPU, while short inputs run as before
  • Other versions: 91 quantized and 218 fine-tuned versions made by other people are listed
  • License: Apache 2.0
  • Cost to run: none named
  • Data it reaches: the text you pass in, and a checkpoint it downloads on first use

On Hugging Face, 13 November 2026

  • Task: text classification
  • Library: transformers
  • Parameters: 421M
  • Weights: about 843 MB in F16; about 211 MB at 4-bit (estimate)
  • Formats: Safetensors
  • Downloads in the last 30 days: 18,689
  • Likes: 5,956
  • License: apache-2.0
  • Quantized versions: 92
  • Fine-tunes: 221
  • Tags: transformers, safetensors, laya, system-one, calibrated-decisions, rlcd, classification, routing, scoring, guardrails, moderation, reinforcement-learning

Links

Get the model

Download its files with Hugging Face's command line:

pip install -U huggingface_hub
hf download convaiinnovations/laya

Then follow the usage in its model card. Nothing in this kit runs by itself.

Files
README.md  6 KB

1 file, 6 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Compare with similar

Listed Hugging Face models in the same category that share the most tags with this one.

ProductDownloads, last 30 daysLikesParametersLicenseLast change
Laya This page18,6895,956421Mapache-2.0
Laya MultilingualShares calibrated-decisions · moderation · rlcd9,698422322Mapache-2.0
elephant-1Shares guardrails · routing · classification7,4261159.4Bmit
mammoth-1Shares guardrails · routing · classification5,9039727.4Bmit
joey-1Shares guardrails · routing · classification1,539472.7Bmit
FRIDA-DecisionsShares guardrails · routing · safetensors1,11157823Mmit
Numbers as Mindket last read them, from 2026-11-12 to 2026-11-13.

Reviews

No ratings yet

Write a review

No reviews yet.

What people say

Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.

hanifbbzThe rise and fall of Jev hype> no one thought of doing it before So we're gonna pretend Laya didn't exist 1.5 years prior? https://laya.convaiinnovations.com/UndergroundAI⚡ Neuer Text-Klassifizierer auf HuggingFace. 🛠️ Das Trend-Modell laya von convaiinnovations sorgt für Aufmerksamkeit in der Community. 🚀 Entdecke mehr KI-Geheimtipps auf Underground AI. 👉 https://underground-ai.bolt.app/ #OpenSource #KuenstlicheIntelligenz #MachineLearning3 likesmake3Build your own decision modelThe real guide is here: https://huggingface.co/convaiinnovations/laya🚀 olud.ai🤗 Climbing on Hugging Face right now: convaiinnovations/laya ⬇ 3.8k downloads / 30 days · ♡ 5.2k · text classification · Apache-2.0 Open-weight models ranked by real-world usage, every day: https://olud.ai/#leaderboard #OpenSource #AI #HuggingFace1 likezahlekhanI built non-autoregressive decision models with RL a year agohttps://huggingface.co/spaces/convaiinnovations/laya-demo Try this. Author mentioned he is working on hosting it soon.デイリーHuggingFaceトレンド今日のHuggingFaceトレンド convaiinnovations/laya Layaは多言語対応の非自己回帰型意思決定モデルです。 テキストやJSON等の入力と型付きの質問に対し、数学的に校正された確率を伴う回答を高速に返します。 強化学習(RLCD)を用いて訓練されており、テキストを生成しないためハルシネーションが発生せず、パースも不要です。 主に分類、ルーティング、スコアリング、モデレーション等の用途を目的に作成されました。1 likeedotI built non-autoregressive decision models with RL a year agoI don’t understand Jev or this. I used this since it’s open source (good job btw!) with the following. State: “a 6 sided die rolled a 3”, question (noul): “Is the number odd?” Answer: 9% chance, with 91% confidence. Heh??? Ok, even worse. 75% chance a coin landed heads up? State: I flipped a coin.…🚀 olud.ai🤗 Climbing on Hugging Face right now: convaiinnovations/laya ⬇ 0 downloads / 30 days · ♡ 5k · text classification · Apache-2.0 Open-weight models ranked by real-world usage, every day: https://olud.ai/#leaderboard #OpenSource #AI #HuggingFace1 likeprodigycorpI built non-autoregressive decision models with RL a year agoAnd how is laya previous art? The project was vibecoded and posted yesterday. https://github.com/NandhaKishorM/laya/commits/main/ https://huggingface.co/convaiinnovations/laya/commits/main🚀 olud.ai🤗 Climbing on Hugging Face right now: convaiinnovations/laya ⬇ 0 downloads / 30 days · ♡ 4.9k · text classification · Apache-2.0 Open-weight models ranked by real-world usage, every day: https://olud.ai/#leaderboard #OpenSource #AI #HuggingFace1 likesrameshcLaya the open source version of Jevfrom https://huggingface.co/convaiinnovations/laya > The policy reports a distribution; exploration adds zero-mean Gaussian noise to the logits; the reward is a strictly proper scoring rule (log + spherical, plus ranked probability score for ordinal questions). Expected reward is maximised only by…🚀 olud.ai🤗 convaiinnovations/laya has 4.9k likes yet zero downloads in the last 30 days—what makes a text classification model gain that much attention without being used? https://olud.ai/#leaderboard #OpenSource #AI #HuggingFace1 like

Searched

More from Mindket

See all from Mindket

Huashu Design

alchaincyf · Skill

Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

New29.4k

Guizang PPT Skill

op7418 · Skill

Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…

New29.8k

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

Similar in Developer

See all in Developer

buzz

block · Kit

Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…

New37.3k

plannotator

backnotprop · Kit

Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.

New10.5k

open-code-review

alibaba · Kit

Reviews Git changes with an AI agent that reads files and searches the codebase, then writes comments tied to exact lines. It suits developers who want automat…

New50.7k