File size: 780 Bytes
897d513
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
"""Hugging Face Inference Endpoints entry point — deploy this repo as a CPU/GPU API.

Request body: {"inputs": <CSV text | list of row dicts | {column: [values]}>} with >= 60 minutely rows of
the 11 sensor columns (optional `timestamp` column). Response: {"failure": p, "healthy": 1 - p}.
"""
import sys
from pathlib import Path

HERE = Path(__file__).resolve().parent
sys.path.insert(0, str(HERE))
import model as M  # noqa: E402


class EndpointHandler:
    def __init__(self, path: str = ""):
        self.predictor = M.load(path or HERE, "cuda" if M.cuda_available() else "cpu")

    def __call__(self, data: dict):
        inputs = data.pop("inputs", data)
        parameters = data.pop("parameters", None) or {}
        return self.predictor.predict(inputs, **parameters)