Skip to content

base

The naive baseline and nothing else. Downloads no weights. Use :base to test the server; load a family extra for a real forecast.

extra CPU tag GPU tag families models example
server :base none Naive 1 naive

Every other page in this section layers on top of this one.

Start a server

docker run --rm -p 8000:8000 sktime/tserve:base
uv pip install "tserve[server]"
uv run tserve
pip install "tserve[server]"
tserve

Check what loaded:

curl -s http://127.0.0.1:8000/models

Predict

Python needs the client extra on the caller.

curl -s http://127.0.0.1:8000/predict -H "Content-Type: application/json" -d '{
  "past": {
    "timestamp": ["2024-01-01", "2024-01-02", "2024-01-03", "2024-01-04", "2024-01-05"],
    "sales": [120, 135, 128, 142, 138]
  },
  "time": "timestamp",
  "target": ["sales"],
  "fh": 3,
  "model": "naive"
}'
curl.exe -s http://127.0.0.1:8000/predict -H "Content-Type: application/json" -d '{"past":{"timestamp":["2024-01-01","2024-01-02","2024-01-03","2024-01-04","2024-01-05"],"sales":[120,135,128,142,138]},"time":"timestamp","target":["sales"],"fh":3,"model":"naive"}'
from tserve.client import Client

past = {
    "timestamp": ["2024-01-01", "2024-01-02", "2024-01-03", "2024-01-04", "2024-01-05"],
    "sales": [120, 135, 128, 142, 138],
}

with Client("http://127.0.0.1:8000") as client:
    result = client.predict(
        past=past,
        time="timestamp",
        target=["sales"],
        fh=3,
        model="naive",
    )
print(result.predictions)

Models

Naive

NaiveForecaster extra server 1 model

Drift strategy. No weights, no Hugging Face download. Always loaded so you can test the server; name another catalog model for a real forecast.

model checkpoint
naive none

Also loadable here

Nothing. :base carries no Hugging Face stack, so any other model fails at startup (Errors). For Chronos Bolt, Chronos T5, TTM, and TimesFM 2.x, use hub. For TimesFM 3, use timesfm3.

Next steps