Laya for Python
The reference implementation of Laya is the `laya` package on PyPI, maintained by Convai Innovations under Apache 2.0. It ships three checkpoints, a Router that picks one per request by script and language, a CLI, an HTTP server and an optional MCP server.
696 projects
laya-multilingual-coreml
aac6fef
Exports multilingual Laya as a portable Core ML bundle for Apple devices
MacJev-322M-4K-Laya
chaoliangUNSW
Fine-tunes Laya for long-context local Mac agents and compares it with the base model
laymbda
HQarroum
Runs the Laya decision model as a CPU-only AWS Lambda function with SnapStart
pastewhat-ranker-v1
mizorewww
Distills a candidate-aware clipboard ranker into Laya multilingual for local inference
jev-laya-benchmark
harrymunro
Benchmarks local MLX Laya against TypeSafe's hosted Jev on synthetic decision tasks
sysone-bench
instax-dutta
Compares Laya and Jev on identical inputs across multiple decision benchmarks
laya-decision-brain
kevinbadi
Provides a web lab for Laya decisions on survey data and a Snake game
laya-mlx-voice-browser
aryanbhujade
Uses a local Laya-MLX model to turn spoken commands into browser actions on Mac
jev-chat-windows-laya
ZJemYoung
Adds an optional local Laya backend to a Windows WeChat chat assistant
mjbrain
jinlio
Fine-tunes Laya into a real-time recommendation system for Japanese riichi mahjong
WechatVibe
tswawa
Analyzes WeChat conversations for intent, emotion, and participant profiles using Laya models
laya-vision-demo
thaitea
Demonstrates calibrated image-based yes/no, choice and rubric decisions with Laya Vision
laya-multilingual-demo
abhishekbhakat
Demonstrates multilingual Laya typed decisions and probabilities through a Gradio interface
Laya
AXERA-TECH
Packages Laya checkpoints for deployment on AXERA AX650 and AX8850 NPUs
laya-multilingual-typed-decisions
alfred361
Fine-tunes the Laya multilingual model on a typed-decisions dataset
chunklaya
myxamediyar
Chunks long documents and uses Laya for typed-decision lookup across inputs up to one million tokens
zero-shot-ie-bench
umstek
Compares Laya and other zero-shot systems across information-extraction and classification tasks
structured-decision-bench
zhengbangbo
Benchmarks structured decisions from Qwen3, Jev, and Laya CoreML
runtime-tutorials
Runtime-weekly
Provides runnable Python guides for Laya classification and a comparison of Laya with other systems
doomLaya
azalio
Trains and compares Laya and Jev agents playing FreeDoom with reproducible results
Laya-Showcase
zamax14
Demonstrates and benchmarks multilingual Laya alongside Jev and GPT models
decision-systems-bakeoff
actuallyrizzn
Runs a reproducible benchmark comparing Flybrain, Jev, and Laya on four public tests
jev-as-quant
jiayylu
Combines Laya and Jev with Claude in a quantitative research stack and evaluates trading experiments
Laya
ljw98
Provides a local web console and HTTP API for running Laya typed-decision models
Install
Python 3.10 or newer, per the core README:
python -m pip install laya
Optional extras: laya[serve] (HTTP server), laya[mcp] (MCP server), laya[langchain], laya[onnx] (ONNX Runtime) and laya[fast] (TileLang GPU fast path).
First decision
from laya import Router
router = Router() # downloads a checkpoint on first use
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["routing"]["model"]) # english
The package also installs a laya command, for example laya "My payment failed twice" --preset triage.
Checkpoints
| checkpoint | encoder | params | context |
|---|---|---|---|
laya |
ModernBERT-large | 421M | 512 |
laya-multilingual |
mmBERT-base | 322M | 1024 (up to 8,192) |
laya-typed-decisions |
ModernBERT-large | 421M | 1024 |
The README reports 32.8 ms for one question with laya-multilingual on a Tesla T4, and 193 to 464 ms per request on CPU with checkpoints preloaded.
Other Python projects
laya-mlx and laya-coreml for Apple Silicon, laya-openvino for Intel CPUs, edgejev for INT8 ONNX on CPU, and laya-mcp for agent tools.
Caveats
The README is direct about limits: the base checkpoints score near chance on its typed-decisions benchmark (0.362 and 0.352), and the 0.766 figure comes from the fine-tuned checkpoint. Temperatures should be refit on your own data before you trust the probabilities. The English checkpoint collapses on non-Latin scripts, which is why the Router exists.
More ways to use Laya