The decision
Whatever your model already decides, whether a queue, a risk level or a yes or no. This project changes how the model ships, not what it answers. A NoulXP package holds the weights, the input layout and the calibration as data, with no code in it, and a conformance file: what your model's own code answers on a fixed set of requests.
How to build it
- Start from a checkpoint you trained, such as a Laya fine-tune from System One Studio (
systemone run studio). NoulXP converts Laya, Julia 1, Decider and AnyJev checkpoints. - Convert it:
pip install "noulxp[onnx,export,laya]", thennoulxp export laya path/to/model path/to/model/noulxp. The export checks the graph against the PyTorch model before it writes the manifest. - Record what your model's own code answers, then replay it:
noulxp conformance generate path/to/model/noulxp --native path/to/model --runtime laya, thennoulxp check path/to/model/noulxp. It passes when every decision matches and every probability is within 0.01. - Serve it on any machine with
noulxp serve path/to/model/noulxp. It answersPOST /v1/systemoneon port 8790, the same request as the System One inference API, so your clients do not change. - Publish the package with the model:
systemone push path/to/model --repo you/your-model. When the package passes its check on the registry, the model's page shows NoulXP compatible.
Make it better
Measure it where it will run: noulxp bench path/to/model/noulxp reports decisions per second, latency and, given the machine's price per hour, the cost per 1,000 decisions. Then fit its confidence to your own labelled requests with noulxp calibrate, without touching the weights.