madewithlaya

Catalog / Tools & apps

0066GitHub

arbiter: serve Laya (or your own model) with a Jev-compatible API on GPU or Mac

Typed-decision server on NVIDIA GPUs or Apple Silicon that speaks the Jev wire format, with coding-agent integrations. Built after a cat woke the author at five on a Sunday.

Open source ↗ github.comcostfree, self-hostedtime-
0xBakeer/arbiterREADME ↗
# arbiter

Serve typed-decision models — Laya or your own — on your GPU or your Mac, with a Jev-compatible
API.

Read the story behind it: [My cat woke me at five on a Sunday, so I built a local Jev](https://blog.0xbakeer.com/my-cat-woke-me-at-five-on-a-sunday-so-i-built-a-local-jev-1350583cddc6?sharedUserId=0xbakeer)



What it does with a state and a set of questions, and where it sits next to an LLM.

## Why the name, and what this is

A typed-decision model answers questions about a piece of text in **one forward pass** — no
tokens generated, no sampling, no loop. You hand it a state and a set of questions, and it
returns an answer and a probability distribution for each of them at once. There is no prose to
read back and nothing to argue with: it arbitrates, and your code decides what to do with the
numbers.

This repository is the serving layer around that and deliberately nothing more — a small HTTP
server that speaks TypeSafe's **Jev** API, so a client written against Jev works against this by
changing the base URL; cross-request micro-batching; routing between checkpoints; a playground;
and the measurements that picked every default. The model is a plug: **Laya** today, with its
three checkpoints (English, multilingual, and a typed-decisions fine-tune) resident at once and
automatic routing between them, and whatever is trained here next behind the same interface
([engines/README.md](engines/README.md)). So is the machine: one recipe per accelerator under
[recipes/](recipes), NVIDIA and Apple Silicon both measured.

On one GB10 with the card to itself it answers a single question in **20.9 ms** and fifty
questions in one call in **152 ms**, measured end-to-end over HTTP; on an M2 Max Mac the same
calls take **30.3 ms** and **462 ms**. Realistic states — a suppo

Also filed under Tools & apps

  1. 0005

    laya-mlx plays Snake at 60 decisions per second

    介绍比Jev快50倍,在你设备上跑的laya-mlx! 只在你的设备上占用最高1G内存 Laya是一个开源的类似于Jev的,基于文本输出概率的分类系统 我将其移植到MLX,并且做了一些性能优化! 视频中就是这个模型在我的本地M3Max上玩贪吃蛇 这个模型能够以每秒决策60次的速度玩贪吃蛇! https://t.co/31KGUiNunb

    @mizorewww · Tools & apps · free, local · 60 decisions/s

  2. 0112

    Laya on Axera AX650 and AX8850 edge NPUs, under 70 ms

    AXERA-TECH's conversion of all three Laya checkpoints for its edge AI chips, reported at latency under 70 ms per decision on AX650/AX8850.

    AXERA-TECH · Tools & apps · free, on-device · < 70 ms on AX650 / AX8850

  3. 0099

    laya-mcp (PerryLink): a warm sidecar that fixes Laya's silent truncation and constant noul

    MCP server plus HTTP sidecar: token-budget preflight that reports what would be cut, a persisted calibration store, structured errors, and a noul fix (P(true) 0.5 → 1.0).

    @PerryLink · Tools & apps · free, local

  4. 0097

    Gomoku against Laya-MLX: you play black, the model picks white's move from six candidates

    Local 15x15 Gomoku on Apple Silicon. Rules in Python, board in the browser, every AI move one real Laya choice over up to six candidates, probabilities shown. No Gomoku training.

    smile-magic · Tools & apps · free, local