NOULXP · THE OPEN STANDARD

Get started with NoulXP.

Install the reference runtime, answer a request with a package, serve it, check it and publish it, a command or two at a time. The full reference is in the NoulXP docs.

  1. Install it

    The noulxp package needs Python 3.11 or newer. Install the runtime your package's weights need: noulxp[onnx] for ONNX, noulxp[gguf] for GGUF. noulxp info lists the backends and devices this machine has.

    pip install "noulxp[onnx]"
    noulxp info
    
  2. Answer a request

    A package is a folder with a noulxp.json manifest, here noulxp/: one you converted with noulxp export, or the noulxp/ folder of a model version. Save a request, a state and typed questions, as request.json, and answer it. --device takes cpu, coreml, cuda or gpu; left out, it picks the best one available.

    {
      "state": "Customer: I was charged twice and still have no refund.",
      "questions": {
        "intent": {
          "type": "choice",
          "instructions": "What does the customer want?",
          "criteria": ["refund", "cancel order", "other"]
        },
        "angry": {"type": "noul", "instructions": "The customer is angry."}
      }
    }
    
    noulxp run noulxp/ --request request.json --device cpu
    
  3. Serve it

    noulxp serve answers the same request over HTTP, at POST /v1/systemone on 127.0.0.1:8790, in the format of the System One inference API. To listen beyond this machine it needs a token (--token). From a second terminal, ask it what it holds. For an AI agent, noulxp mcp noulxp/ serves the package as an MCP tool instead.

    noulxp serve noulxp/
    
    curl -s localhost:8790/v1/models
    
  4. Check it

    noulxp validate checks the package's files against the schemas and their hashes. noulxp check replays its conformance file through the reference runtime, and passes when every decision is the one the model's own code gives and every probability is within 0.01. Run it on the machine and device you serve from.

    noulxp validate noulxp/
    noulxp check noulxp/
    
  5. Publish it

    Put the package in a noulxp/ folder next to your model's systemone.yaml, and push the version with the systemone CLI. The System One Engine checks the package by itself (up to 2.5 GB), and when it passes, the model shows NoulXP compatible. How the badge works.

    pip install systemonemodels
    systemone login
    systemone push ./my-model --repo your-org/your-model --dry-run
    systemone push ./my-model --repo your-org/your-model