Portable by construction
Load MLeap bundles from local files, Amazon S3, or Google Cloud Storage.
file:// · s3:// · gs://
Skynet is a production-shaped runtime for portable MLeap bundles. It turns model artifacts into inspectable HTTP services—with explicit lifecycle control, typed frame transforms, ranking, health checks, graphs, and metrics.
Training produces an artifact. Skynet handles what comes next: acquiring the bundle, loading its transformer graph, understanding its schema, executing it safely, and exposing enough evidence to operate it.
Load MLeap bundles from local files, Amazon S3, or Google Cloud Storage.
file:// · s3:// · gs://
Serve Leap, Cartesian, Context, and Prefixed frame shapes through one API.
Frame → DefaultLeapFrame
Transform, select, group, average, sort, and return top-k identifiers.
rank · group · avg · k
Generate sample frames, inspect schemas, render model graphs, and warm models.
sample · graph · health
Choose sequential, unconstrained parallel, or bounded parallel execution.
seq · par · par-n
Swagger, service and model health, latency histograms, errors, and pool metrics.
/docs · /health · /metrics
Each stage has a clear responsibility. Change the artifact source without changing inference. Change request parallelism without rebuilding the service.
Name a model and provide its bundle URI.
PUT /models/{model}
Resolve the URI through the matching repository adapter.
file · S3 · GCS
Deserialize the MLeap bundle and cache its transformer.
Bundle[Transformer]
Generate schema-correct sample frames and execute predictions.
GET /models/{model}/health
Transform or rank frames with request-level execution control.
POST /transform · /rank
Read response, failure, latency, and executor-pool metrics.
GET /metrics
Tapir defines the endpoints once and derives the OpenAPI document used by the bundled Swagger UI. Filter the operations below by intent.
Skynet is an open-source runtime, not a hosted account. Clone it, choose a port, and register the model artifact you want the process to serve.
git clone https://github.com/AdrielC/skynet.git
cd skynet && HTTP_PORT=8080 sbt run
curl http://localhost:8080/health
curl -X PUT http://localhost:8080/models/recommender --data 's3://models/recommender.zip'
Open http://localhost:8080/docs for Swagger, or ask the model for a
schema-correct sample at /models/recommender/sample.
Skynet’s operational surface covers the service, each loaded model, every named endpoint, and the executors doing the work.
GET /healthConfirms the model registry is available.
GET /models/{model}/healthRuns generated sample data through the loaded transformer.
GET /models/{model}/sampleProduces input shaped to the model’s declared schema.
GET /models/{model}/graphRenders the model’s internal computation graph as SVG.