Your NPU can decide things.
You just never had software for it.
Every Core Ultra ships a neural processor that most people never touch, because using it means writing OpenVINO code. This is a working app for it: typed decisions — routing, triage, guardrails — in about 30 ms, on the machine in front of you.
Install
Windows only for the NPU path. Linux and WSL get CPU and BYOK — the NPU is not reachable from a VM, that is an OpenVINO limitation, not a bug here.
Download
Clone the repository or grab the zip. Nothing else is required.
git clone https://github.com/rahmanef63/laya-npu.git
cd laya-npu
Run the installer
Finds or installs Python, installs OpenVINO, downloads the 405 MB INT8 model, rebuilds it to a static shape the NPU accepts, checks which devices compile, and creates a desktop shortcut.
.\install.cmd
Open the app
Double-click the shortcut. The playground answers from your own NPU.
http://localhost:8649
Link your device
In the app open Compute, copy the device ID it shows, and paste it below. That makes your machine visible in the registry — nothing else leaves your computer.
The installer writes LAYA_PORTAL=https://laya.manef.dev into
.env, so a fresh install reports on its own within five
minutes. The field below is only for checking an ID.
Why this exists
The NPU is idle
Windows uses it for Studio Effects and live captions. That is roughly it. There is no general-purpose path from "I have a neural processor" to "I have a program that decides things".
Cloud calls cost money per decision
Routing a ticket, gating a prompt, labelling an issue: each one is a metered API call today. A 421M decision model on hardware you own makes them free.
Text models cannot do this well
Asking an LLM to output JSON for a 4-way choice means parsing, retries and hallucinated labels. A decision model returns probabilities and no prose.
Registry
Machines that installed the app and linked their device ID. Reporting is outbound only: this server never reaches into anyone's computer.
| Device | Backends | OS | Version | Last seen | Status |
|---|---|---|---|---|---|
| Loading… | |||||
Questions
Does this send my data anywhere?
No. Inference runs locally in the OpenVINO runtime. If you link a device ID, the app sends a small heartbeat every five minutes containing the ID, the OS, the app version, and which devices compiled. No text, no prompts, no file paths, no credentials.
What if my machine has no NPU?
It still works. The app falls back to the integrated GPU or the CPU. On a Core Ultra 9 386H the NPU answers in 66 ms, the GPU in 43 ms, the CPU in 443 ms — same answers.
Can I use my own hosted endpoint instead?
Yes. The Compute page has a BYOK tab: point it at any server that speaks the Jev System One protocol with your key. The key stays server-side and is never written to disk.
Does it handle languages other than English?
Not yet. The shipped checkpoint is English and scores near zero on non-Latin scripts while still reporting high confidence, which is a silent failure. The multilingual checkpoint has never been exported to OpenVINO.
Why does the model not pick the action?
Because it scores 2/12 at that and 22/22 at answering its own preset questions. Reading text is the model's job; your policy is yours. Every action in the app comes from a small Python rule table you can edit.