ML · ships today

Batch inference
at a known cost

Price the job before the first request, refuse it over budget, record what it actually cost.

Ships as serving/batch-inference

Run a prompt over every row of a dataset against your served model. The cost is checked before the first request, and the real spend is recorded after.

The pipeline
STEP 01

Price the job

Estimate tokens and cost for the number of rows you declare.

STEP 02

Check the budget

Refuse the job if the estimate exceeds the limit. Nothing is sent.

STEP 03

Run inference

Send each row to your served model or gateway, such as vLLM or LiteLLM.

STEP 04

Record the spend

Price the tokens actually used, next to the estimate.

What the record keeps

The dataset, the prompt, the model it ran against, the approved estimate, the actual spend and the results as a versioned dataset.

No surprise bills

The estimate is checked before the first request is sent.

The cap is the approval

The approved row count is also the hard cap; a larger dataset stops there and the record says so.

Estimate next to actual

Both numbers are kept for every run.

Ships as serving/batch-inference. Model servers and gateways depend on the installed operators.

See how failure can trigger a reviewed improvement cycle →

Run it on your own infrastructure.

Apache 2.0 licensed, self-hosted. cairn pipeline run serving/batch-inference