in src/deep_demand_forecast/inference.py [0:0]
def transform_fn(model: Predictor, request_body: Any, content_type: Any, accept_type: Any):
request_data = json.loads(request_body)
# TODO: customize serde
request_list_data = ListDataset(
[
{
FieldName.TARGET: request_data[FieldName.TARGET],
FieldName.START: request_data[FieldName.START],
}
],
freq="H",
one_dim_target=False,
)
forecasts, tss, agg_metrics, _ = evaluate(model, request_list_data, num_samples=1)
response_body = {}
response_body["forecasts"] = {}
response_body["forecasts"]["samples"] = forecasts[0].samples.tolist()
response_body["forecasts"]["start_date"] = str(forecasts[0].start_date)
response_body["forecasts"]["freq"] = forecasts[0].freq
response_body["tss"] = tss[0].values.tolist()
response_body["agg_metrics"] = json.dumps(agg_metrics, indent=2, default=str)
return response_body, content_type