Laya on Core ML
Core ML lets Laya run on the Apple Neural Engine as well as the GPU and CPU. Several projects convert the upstream checkpoints and publish ready bundles. They use the same choice, score and noul question types as the Python package.
34 projects
laya-coreml
mizorewww
Runs Laya typed-decision models locally on Apple Silicon using Core ML and the Neural Engine
FluidUse
FluidInference
Automates form filling on Apple devices with on-device models, including Laya through Core ML
keel
codejunkie99
A macOS coding workspace uses local Laya or hosted Jev to select task routes
laya.cpp
lkarlslund
A native C++ runtime runs Laya typed-decision models across GPU and Apple backends
laya-coreml
FluidInference
A Core ML conversion of Laya Multilingual for inference on Apple devices
laya-multilingual-coreml-ane
aac6fef
Packages the multilingual Laya decision model as a Core ML bundle for Apple devices
laya-apple
tc3oliver
Runs Laya locally on Apple Silicon with MLX GPU and Apple Neural Engine support
laya-coreml
aac6fef
Packages the Laya decision model as a Core ML bundle for Apple devices
laya-fast
DJLougen
Runs Laya typed decisions on Apple Silicon with MLX and optional Core ML execution
laya-multilingual-coreml
aac6fef
Exports multilingual Laya as a portable Core ML bundle for Apple devices
jev-tests
schacon
Compares Laya, Jev, Kev, and Claude in three macOS typed-decision demos
structured-decision-bench
zhengbangbo
Benchmarks structured decisions from Qwen3, Jev, and Laya CoreML
laya-mcp
rdutra
An MCP server exposes local Laya-CoreML decisions through persistent decision tools
JevCoreML
GodModeAI2025
Provides Core ML decision models, a Swift package, an HTTP server, and a demo app
laya-jev-api
smallnest
Serves local Laya Core ML inference through a Jev-compatible HTTP API
openzl-laya
madeye
Adds optional on-device Laya routing to OpenZL compression on Linux and macOS
laya-search
giaphutran12
Searches YC companies using local Laya inference or the TypeSafe Jev API
laya-en-fp32-swev
danielamitay
Exports Laya as a Core ML model for local typed decisions through the Swev Swift package
laya-multilingual-coreai
smdesai
Provides a Core AI conversion of multilingual Laya for typed decisions on Apple devices
LayaKit
tahby
A Swift package for running Laya typed decisions on-device with Core ML
pastewhat
mizorewww
A native macOS clipboard companion recommends entries using a local Laya model or optional Jev backend
Jev-agent
To3akaRin
Suggests clipboard entries based on the focused field using local Laya inference or the Jev API
verdict
NakliTechie
Serves typed decisions on macOS through Apple Foundation Models or an optional Laya backend
screenquest
DanielTea
Controls a game on Apple Silicon with screenshot perception, Laya decisions, and vision-language planning
laya-coreml
laya-coreml is the reference Core ML port. Requirements: Apple Silicon, macOS 15+, Python 3.11 to 3.13.
pip install laya-coreml
import laya_coreml as laya
agent = laya.load("aac6fef/laya-multilingual-coreml-ane")
result = agent.predict(
"The customer requests a refund of a duplicate payment.",
{"refund": {"type": "noul",
"instructions": "Does the customer request a refund?"}},
)
print(result["answers"]["refund"])
Its README reports 4.98 ms P50 and 5.31 ms P95 for one short multilingual decision on an M3 Max Neural Engine in FP16, and 2.78x better whole-system energy per decision than compiled MLX FP16. No PyTorch, Transformers or MLX is needed for inference.
Published bundles include aac6fef/laya-coreml (English, 512 tokens), aac6fef/laya-multilingual-coreml (1024 tokens) and aac6fef/laya-multilingual-coreml-ane.
Other Core ML projects
- LayaKit: a Swift package and
laya-cliover the laya-coreml bundles. - FluidUse: a Swift
LayaManagerthat runs the FluidInference/laya-coreml buckets. - laya.cpp: native C++ with a Core ML backend, shipped as a macOS arm64 binary.
- laya-apple and laya-fast: split work between the MLX GPU and the Neural Engine.
- keel: a macOS coding workspace that runs its Laya selector through Core ML.
Caveats
- The laya-coreml Neural Engine bundle accepts 96 tokens in total (question, options and state). Longer requests raise a capacity error.
- The laya-coreml README notes that a 1024-token request on the Neural Engine took about 91.7 ms, so the short-input speed does not carry over to long context.
- laya-apple warns that an ordinary Core ML export can run on the Neural Engine without error and still change answers. Prefer ports that publish parity checks.
More ways to use Laya