laya-typed-decisions-coreml
Laya typed decisions on Apple Silicon, using CPU + GPU.
This is a portable Core ML bundle for laya-coreml,
converted from convaiinnovations/laya-typed-decisions.
It outputs choice, score, and noul probabilities with zero generated tokens.
Inference needs no PyTorch, Transformers, MLX, remote code, or cloud API.
Run
Apple Silicon, macOS 15+, Python 3.11–3.13. Tested on M3 Max / macOS 27.2.
pip install laya-coreml
import laya_coreml as laya
agent = laya.load("aac6fef/laya-typed-decisions-coreml") # Download once; Core ML runs locally.
result = agent.predict(
"The customer asks for a refund of a duplicate payment.",
{"refund": {"type": "noul", "instructions": "Does the customer request a refund?"}},
)
print(result["answers"])
To download explicitly and then run entirely offline:
hf download aac6fef/laya-typed-decisions-coreml --local-dir models/laya-typed-decisions
pip install 'laya-coreml[demo]'
laya-coreml-snake --model models/laya-typed-decisions --fps 12
Use laya.load("aac6fef/laya-typed-decisions-coreml", local_files_only=True) for a cached snapshot or pass a
local directory. Use revision="<Hub commit SHA>" to pin a remote revision.
Format and fidelity
This FP16 export retains the original model architecture and decision schema. The enumerated-length GPU export is the validated general-purpose configuration.
The complete 63-question fixture agrees with upstream selected answers, with 100 stable repeated calls. The release bundle is checked again after packaging.
The exported capacity is 1024 total tokens, batch 1, and 32 option slots. Questions/options and state share this budget. The ANE short exports reject over-capacity prompts. Snake uses planner features and a visible optional cycle safety shield; survival is not a claim of unaided game intelligence.
coreml_config.json records shapes, source revisions and per-file SHA256 checksums.
validation.json contains the packaging-time validation. Port fidelity on this regression
suite does not establish general task accuracy or preserved calibration on arbitrary inputs.
Performance and limits
The multilingual ANE L96 FP16 runtime measured 4.98 / 5.31 ms P50 / P95 for one short question on M3 Max; W8 measured 4.88 / 5.23 ms. Whole-system energy per decision improved 2.78× / 3.19×, respectively, against compiled MLX FP16 in that experiment. Those numbers apply to the named short ANE variants, not every bundle, long contexts, or complete Snake frames. The requested 10× improvement was not achieved.
Measurements and scope · General Core ML benchmarks · Snake demo.
Provenance
- Original checkpoint:
convaiinnovations/laya-typed-decisionsatf9ab0b228f0fc0f14d873dbc99038f135c2da1b2. - Original weights SHA256:
4fa56de72383a9d3efa9cfa78955733c81b9fc8067a587ca4beb82c78107a24e. - Upstream implementation: NandhaKishorM/laya,
commit
6a5819129eb220570792e417e49723d697efd76f. - Original models and code are by Convai Innovations and contributors, Apache-2.0.
- Independent conversion; not an official Convai Innovations or Apple release.
See LICENSE and NOTICE. Model quality and task/language limitations originate
with Laya; this runtime is an inference port, not a newly trained decision model.
- Downloads last month
- -
Model tree for aac6fef/laya-typed-decisions-coreml
Base model
convaiinnovations/laya-typed-decisions