Laya on MLX

laya-mlx is an independent MLX port of Laya that runs the original weights on the Apple Silicon GPU with no PyTorch or Transformers runtime. It keeps upstream prompt formatting, calibration and output schema, and it is the base for many Mac demos, agents and benchmarks.

260 projects

jev-codex-workbench

qualixar

Adds Jev decisions and optional local Laya-MLX routing to a Codex plugin and MCP server

1·GitHub repo

laya

xosi

Runs Laya typed-decision inference locally on Apple Silicon with MLX

1·GitHub repo

laya-mlx-ddz

smile-magic

A browser-based 斗地主 game lets two local AI seats play using Laya on Apple Silicon

1·GitHub repo

decide

gopaljigaur

Provides a Python client that chains Laya with hosted and other decision-model backends

1·GitHub repo

jev-laya-benchmark

EnesDemir143

Benchmarks TypeSafe Jev and Laya-MLX on structured issue classification

1·GitHub repo

laya-learning-demo

Daryl9441

A runnable tutorial teaches Laya decision primitives, routing, fine-tuning, and comparison with Jev

1·GitHub repo

tetris_for_laya

fchange

Provides a terminal Tetris environment where a local Laya model chooses each action

1·GitHub repo

laya-mlx-per-turn-classifier

M37Labs

Demonstrates per-turn customer message classification with Laya on Apple Silicon

1·GitHub repo

laya-rust

zerodegress

Implements a Rust inference engine for Laya with CUDA, CPU, and MLX backends

1·GitHub repo

laya-exp

changtimwu

Experiments comparing an MLX Laya port with Jev and a TypeSafe-compatible Laya client

1·GitHub repo

laya-lab

Alevsk

Runs Laya locally with reproducible scenarios that explore its capabilities on Apple Silicon

1·GitHub repo

Tern

AmRitJain0442

A model router uses local Laya-MLX inference to select between configurable provider tiers

1·GitHub repo

lime-jev

yzxoi

Adds optional Laya reranking to a local Chinese pinyin input method on Apple Silicon

1·GitHub repo

laya-decision-api

bmw8080

An HTTP service wraps local Laya with OpenAPI documentation and Java, TypeScript, and Python SDKs

1·GitHub repo

laya-vs-dijkstra

antonellof

Compares Laya MLX pathfinding decisions with Dijkstra on seeded weighted mazes

1·GitHub repo

code-oracle

wahyuzero

Verifies code changes with AST checks and Laya-based residual-drift evaluation

1·GitHub repo

laya-browser

Benny93

Uses a local Laya model to resolve plain-English selectors in browser automation

1·GitHub repo

ghosthand

ameerhmz

A local macOS voice and computer-use agent uses Laya for typed decisions

1·GitHub repo

pi-laya-skill-router

ericmjl

Routes pi coding-agent requests to relevant skills using a local Laya model

1·GitHub repo

laya-local-guard

Kamandlou

Classifies content for safety risks locally with Laya-MLX and detects PII and secrets

1·GitHub repo

laya-system1-snake

Kamandlou

A terminal Snake game uses Laya MLX to choose moves from structured game-state features

1·GitHub repo

docweave

pareshbhangale

Converts PDFs to Markdown and uses Jev or Laya alongside local models for layout routing and table auditing

1·GitHub repo

laya-agent

inboxxobni

Runs Laya typed decisions locally on Apple Silicon and provides an HTTP server and agent integrations

1·GitHub repo

laya-router

vuongvm812

Sets up local Laya classification and Jev Router proxies for coding clients

1·GitHub repo

Install

Requirements from the laya-mlx README: Apple Silicon, Python 3.11+, macOS 14+.

pip install laya-mlx

Pre-converted FP16 checkpoints are on Hugging Face: aac6fef/laya-mlx, aac6fef/laya-multilingual-mlx and aac6fef/laya-typed-decisions-mlx. You can also load the original convaiinnovations/laya IDs.

Router and CLI

The port includes the upstream language router and presets:

from laya_mlx import Router, triage_questions

router = Router(dtype="float16", max_loaded=2)
result = router.predict({"message": "发票被重复扣款,请退款。"}, triage_questions())
print(result["routing"])  # multilingual

For the terminal demo, where Laya plays Snake:

pip install 'laya-mlx[demo]'
hf download aac6fef/laya-multilingual-mlx
laya-snake

Reported numbers

On an M3 Max, FP16, one short question: 13.42 ms P50 for the 421M English model and 7.39 ms for the 322M multilingual model. The README states that all three checkpoints matched the upstream answer on 63/63 validation questions in FP32 and FP16. That measures port fidelity, not task accuracy.

Projects built on laya-mlx

Caveats

This is not an official Convai Innovations release. Training and fine-tuning stay in the upstream project. BF16 can be requested but is not part of the published validation.

More ways to use Laya