- Lesson 1: What is a System One model?
- Lesson 2: System One models and LLMs
- Lesson 3: How they decide
- Lesson 4: Your first API call
- Lesson 5: Pull a model
- Lesson 6: Run a model on your machine
- Lesson 7: Check, measure and calibrate with NoulXP
- Lesson 8: Fine-tune on your own data
- Lesson 9: Publish your model
LESSON 6 OF 9
Run a model on your machine
Run a System One model locally through NoulXP, serve it over HTTP, and give it to an AI agent as a tool.
One runtime for many models
Each model family ships its own inference code, so running five models can mean installing five runtimes. NoulXP is an open standard that removes that step. It turns a model into a package that any NoulXP runtime can run, with no code written for that model.
A package is a folder, noulxp/ in a model's version, that holds:
noulxp.json, the manifest: the profile, and every file with its SHA-256- the weights: ONNX for
encoder-markers, GGUF forcausal-letters template.jsonorprompt.json: how the input is laid out, as datacalibration.json: the temperatures from lesson 3conformance.jsonl: requests, and the answers the model's own code gives
Nothing in a package is executed. Templates are filled in, and the weights run through ONNX Runtime or llama.cpp.
Run a model with one command
systemone run noulxp supersonic-labs/julia-1 \
--state "Customer: I was charged twice and want my money back." \
--questions '{"intent": {"type": "choice", "instructions": "What does the customer want?", "criteria": ["refund", "track delivery", "cancel order"]}}'
This answers with Julia 1 on your own machine. The first run takes a few minutes: it downloads the model, sets up a separate Python environment for the runtime, and builds a package for the model if it has none yet. Later runs reuse all of that.
Serve a package over HTTP
The noulxp Python package is the reference runtime, and needs Python 3.11
or newer. Given a package folder, it answers on your machine:
pip install "noulxp[onnx]" # "noulxp[gguf]" for causal-letters packages
noulxp serve noulxp/ # POST /v1/systemone on 127.0.0.1:8790
It takes the same request body as the inference API from lesson 4, at
http://127.0.0.1:8790/v1/systemone.
Give it to an AI agent
noulxp mcp noulxp/
This serves the package over the Model Context Protocol (MCP), which AI agents such as Claude and Cursor use to call tools. The agent can then ask the model a question and get a probability for every option.
How you know it is the same model
conformance.jsonl records what the model's own code answers on a fixed set
of requests. A runtime that gives the same decisions, with every probability
within 0.01, runs the model faithfully. A model whose package passes this
check shows NoulXP compatible on its page. The next lesson runs that
check yourself, measures the package, and fits its confidence to your data.
Try it
Run Julia 1 on your machine
Uses the CLI from lesson 5. The first run takes a few minutes.
systemone run noulxp supersonic-labs/julia-1 --state "Customer: I was charged twice and want my money back." --questions '{"intent": {"type": "choice", "instructions": "What does the customer want?", "criteria": ["refund", "track delivery", "cancel order"]}}'Ask your own question
Change the state and the question, and run it again. Try a noul question:
{"angry": {"type": "noul", "instructions": "The customer is angry."}}.Serve a package
With a NoulXP package in
noulxp/, start a server on your machine. It answersPOST /v1/systemoneon port 8790.pip install "noulxp[onnx]" noulxp serve noulxp/
Read more
Every lesson is open to read. Sign in to tick them off and claim the certificate at the end.