Coverage for ocp_resources/inference_service.py: 0%
21 statements
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
1from typing import Optional, Dict, Any
3from ocp_resources.resource import NamespacedResource, MissingRequiredArgumentError
6class InferenceService(NamespacedResource):
7 """
8 https://github.com/kserve/kserve/blob/master/pkg/apis/serving/v1beta1/inference_service.go
9 """
11 api_group: str = NamespacedResource.ApiGroup.SERVING_KSERVE_IO
13 def __init__(
14 self,
15 predictor: Optional[Dict[str, Any]] = None,
16 explainer: Optional[Dict[str, Any]] = None,
17 transformer: Optional[Dict[str, Any]] = None,
18 **kwargs,
19 ):
20 """
21 InferenceService object
23 Args:
24 predictor (Optional[Dict[str, Any]], mandatory if yaml_file is not provided): Defines the model serving spec.
25 explainer (Optional[Dict[str, Any]]): Defines the model explanation service spec.
26 transformer (Optional[Dict[str, Any]]): Defines the pre/post processing before and after the predictor call.
27 """
28 super().__init__(
29 **kwargs,
30 )
31 self.predictor = predictor
32 self.explainer = explainer
33 self.transformer = transformer
35 def to_dict(self) -> None:
36 super().to_dict()
37 if not self.kind_dict and not self.yaml_file:
38 if not self.predictor:
39 raise MissingRequiredArgumentError(argument="predictor")
41 self.res["spec"] = {}
42 _spec = self.res["spec"]
44 _spec["predictor"] = self.predictor
46 if self.explainer:
47 _spec["explainer"] = self.explainer
49 if self.transformer:
50 _spec["transformer"] = self.transformer