from typing import Dict, List, Any import numpy as np from concrete.ml.deployment import FHEModelServer class EndpointHandler: def __init__(self, path=""): # For server self.fhemodel_server = FHEModelServer(path + "/compiled_model") def __call__(self, data: Dict[str, Any]) -> List[Dict[str, Any]]: """ data args: inputs (:obj: `str`) date (:obj: `str`) Return: A :obj:`list` | `dict`: will be serialized and returned """ # Get inputs encrypted_inputs = data.pop("encrypted_inputs", data) # Get keys evaluation_keys = data.pop("evaluation_keys", data) # Run CML prediction encrypted_prediction = self.fhemodel_server.run(encrypted_inputs, evaluation_keys) return encrypted_prediction