How it works
A recipe is not written by hand. The lab rents the GPU, starts the model, runs six checks, and writes the recipe only if every check passes. The file is about 400 bytes; everything else is rendered from it.
A recipe{"model":"qwen3.5-9b",
"weights":"TheMelonGod/Qwen3.5-9B-exl3@22ef1303062e0f6d0b282440f8c1f685947f4938",
"engine":"tabbyapi-exl3@0f83e6198dc3",
"set":{"ctx":65536,"draft":"mtp"},
"card":"rtx-3070-ti-8gb",
"proof":[{"at":"2026-09-25","on":"vast","gpu":"RTX 3070 Ti",
"gates":"load chat reasoning tools context speed","tps":105.3,"prefill":1485}]}- weights
- A Hugging Face repo at an exact commit.
- engine
- A profile in
registry/engines/, pinned to its container image digest. - set
- Only the settings that differ from the profile's defaults.
- proof
- The runs it passed: where, on what GPU, which checks, and the speed measured. Sibling means it ran on the same chip family because nobody rents this card; earlier check means it passed the older acceptance and is waiting for a full run.
The six checks| load | The server lists the model within an hour |
| chat | A plain question gets an answer that ends on its own |
| reasoning | The thinking comes back separately, and 17 × 23 is answered 391 |
| tools | A weather tool is called with the right city, and its result is used in the reply |
| context | A code planted in a prompt filling 85% of the window is recalled |
| speed | Decode over the first 30 seconds of an answer is at least 15 tok/s. No answer is ever cut short. |
The repositoryregistry/ the source of truth, tiny
cards/<vendor>/<card>.json a GPU: name, memory, how to detect it
engines/<profile>.json an engine: pinned image, arguments, config
recipes/<vendor>/<card>/<model>.<engine>.<ctx>k.json
one recipe (~400 bytes): weights, engine, settings, proof
models.json each model: family, release date, what it is for
lab/ make recipes: lab.py (try, convert, render, check), catalog.py
dist/ catalog.json: everything above, rendered, 3 picks per GPU
site/ this website and its API
sdk/ js/ and python/: pick a recipe for a GPU, print the command
app/ local-ai: run a recipe on any Linux
images/ the container images we build (gateway, tabbyapi-exl3, ...)
plugin/ what the Omarchy Local AI plugin reads
data/ everything the registry held before; nothing reads itAPIGET /api/v2/catalog.json | Everything: every GPU, its picks, every recipe with its rendered launch |
GET /api/v2/gpus/<gpu>.json | One GPU and its top recipes, launches included |
GET /api/v2/pick?gpu=RTX%203090&vram=24 | The recommended recipe for the GPU a program detected |
curl -s "https://local.sybilsolutions.ai/api/v2/pick?gpu=RTX%204090&vram=24" | jq .recipe.launch.image
SDK// JavaScript (sdk/js): no dependencies
import { pick, command } from "@local-ai/registry";
const r = await pick({ gpu: "NVIDIA GeForce RTX 4090", vram: 24 });
console.log(command(r));
# Python (sdk/python): standard library only
from local_ai_registry import pick, command
print(command(pick(gpu="NVIDIA GeForce RTX 4090", vram=24)))