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.

1712 projects

LayaSnakeGame

AmirTahaMim

A Pygame Snake game compares human play, a greedy baseline, and local Laya decisions

2·GitHub repo

laya-ara

ASNB-Smart-Solutions

Fine-tunes Arabic Laya models for NLU classification and short-list RAG

2·GitHub repo

laya-needle

50bbx

Finds semantically relevant webpage passages with a locally running Laya model

2·GitHub repo

laya-server

pjt3591oo

Jev-compatible POST /v1/systemone server that answers with local Laya checkpoints

2·GitHub repo

laya-snake

zxrneu

Builds an autonomous Snake game agent using Laya decisions and BFS pathfinding

2·GitHub repo

laya-snake-k3

JiongLab

Runs an offline Laya-powered Snake game on SpaceMIT K3 using ONNX and AI Core

2·GitHub repo

chatassistant-laya

HarrisXiu

Analyzes pasted chat messages locally with Laya and can generate optional reply suggestions

2·GitHub repo

jev-vs-laya

DDnim

Benchmarks Jev and Laya on typed decisions for reviewing SQL statements

2·GitHub repo

localjev-mlx

rimusz

A self-hosted System One judgment service for Apple Silicon using laya-mlx

2·GitHub repo

Rimworld autopilot

Georgy-hook

A local RimWorld colony autopilot uses Laya to choose and issue in-game orders

2·GitHub repo

doom-war

rythmn1111

Compares local MLX Laya and hosted Jev as decision-makers in a Doom deathmatch

2·GitHub repo

laya-jev-api

smallnest

Serves local Laya Core ML inference through a Jev-compatible HTTP API

2·GitHub repo

laya.axera

AXERA-TECH

Exports and calibrates Laya models for AXERA NPU deployment

2·GitHub repo

laya-serve

stiermid

Serves local Laya decision models through a Jev-compatible HTTP API

2·GitHub repo

laya-vs-jev

zaferayan

Benchmarks multilingual Laya against hosted Jev across 900 cases, three tasks, and six languages

2·GitHub repo

mac-attack

dockndevai

A macOS app uses Laya decisions to direct harmless effects in a camera-based screensaver game

2·GitHub repo

laya-cuda

Alexw1111

Provides a lightweight CUDA inference library for Laya

2·GitHub repo

laya-demo

almodover

A local web app analyzes text and ebooks across 82 dimensions using Laya

2·GitHub repo

SnakeGame_Laya

Okbatti

Uses a fine-tuned Laya model to choose moves in a Snake game

2·GitHub repo

laya-cpu-benchmark

taiheqi718-art

Measures steady-state CPU latency for the multilingual Laya model

2·GitHub repo

gutcheck

janmejai2002

Runs calibrated Jev- and Laya-style decisions on local NPUs or GPUs with agent tool leasing

2·GitHub repo

decision-models-under-pressure

gazelle93

A benchmark compares seven decision models as candidate lists grow, options reorder and distractors become harder

2·GitHub repo

laya-mlx-zh

ZLHAOOO

Provides Chinese fine-tuned Laya weights, training data, and evaluations for Apple Silicon MLX

2·GitHub repo

laya-research

igun997

Runs a grocery-market decision research bench with a Laya model behind its API

2·GitHub repo

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