orient_express 0.2.5__tar.gz → 0.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {orient_express-0.2.5 → orient_express-0.3.2}/PKG-INFO +2 -3
- {orient_express-0.2.5 → orient_express-0.3.2}/orient_express/model_wrapper.py +16 -5
- {orient_express-0.2.5 → orient_express-0.3.2}/pyproject.toml +8 -2
- {orient_express-0.2.5 → orient_express-0.3.2}/README.md +0 -0
- {orient_express-0.2.5 → orient_express-0.3.2}/orient_express/__init__.py +0 -0
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: orient_express
|
|
3
|
-
Version: 0.2
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: A library to simplify model deployment to Vertex AI
|
|
5
5
|
Author: Alexey Zankevich
|
|
6
6
|
Author-email: alex.zankevich@shiftsmart.com
|
|
7
|
-
Requires-Python: >=3.9
|
|
7
|
+
Requires-Python: >=3.9,<3.13
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.9
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
14
13
|
Requires-Dist: google-cloud-aiplatform
|
|
15
14
|
Requires-Dist: google-cloud-storage
|
|
16
15
|
Requires-Dist: pandas
|
|
@@ -16,7 +16,9 @@ class ModelExpress:
|
|
|
16
16
|
model=None,
|
|
17
17
|
region="us-central1",
|
|
18
18
|
serialized_model_path="model.joblib",
|
|
19
|
-
|
|
19
|
+
serving_container_image_uri="us-west1-docker.pkg.dev/shiftsmart-api/orient-express/xgboost-scikit-learn:latest",
|
|
20
|
+
serving_container_predict_route="/v1/models/orient-express-model:predict",
|
|
21
|
+
serving_container_health_route="/v1/models/orient-express-model",
|
|
20
22
|
endpoint_name=None,
|
|
21
23
|
machine_type="n1-standard-4",
|
|
22
24
|
min_replica_count=1,
|
|
@@ -29,14 +31,16 @@ class ModelExpress:
|
|
|
29
31
|
self.project_name = project_name
|
|
30
32
|
self.bucket_name = bucket_name
|
|
31
33
|
self.serialized_model_path = serialized_model_path
|
|
32
|
-
self.
|
|
34
|
+
self.serving_container_image_uri = serving_container_image_uri
|
|
35
|
+
self.serving_container_predict_route = serving_container_predict_route
|
|
36
|
+
self.serving_container_health_route = serving_container_health_route
|
|
33
37
|
self.machine_type = machine_type
|
|
34
38
|
self.min_replica_count = min_replica_count
|
|
35
39
|
self.max_replica_count = max_replica_count
|
|
36
40
|
self.endpoint = None
|
|
37
41
|
|
|
38
42
|
if not endpoint_name:
|
|
39
|
-
self.endpoint_name = f"
|
|
43
|
+
self.endpoint_name = f"orient-express-{model_name}"
|
|
40
44
|
else:
|
|
41
45
|
self.endpoint_name = endpoint_name
|
|
42
46
|
|
|
@@ -106,7 +110,9 @@ class ModelExpress:
|
|
|
106
110
|
display_name=self.model_name,
|
|
107
111
|
artifact_uri=artifact_uri,
|
|
108
112
|
parent_model=parent_model,
|
|
109
|
-
serving_container_image_uri=self.
|
|
113
|
+
serving_container_image_uri=self.serving_container_image_uri,
|
|
114
|
+
serving_container_health_route=self.serving_container_health_route,
|
|
115
|
+
serving_container_predict_route=self.serving_container_predict_route,
|
|
110
116
|
sync=True,
|
|
111
117
|
)
|
|
112
118
|
|
|
@@ -165,6 +171,12 @@ class ModelExpress:
|
|
|
165
171
|
|
|
166
172
|
return self.model.predict(input_df)
|
|
167
173
|
|
|
174
|
+
def local_predict_proba(self, input_df):
|
|
175
|
+
if not self.model:
|
|
176
|
+
self.load_model_from_registry()
|
|
177
|
+
|
|
178
|
+
return self.model.predict_proba(input_df)
|
|
179
|
+
|
|
168
180
|
def load_model_from_registry(self):
|
|
169
181
|
if self.model_version:
|
|
170
182
|
vertex_model = aiplatform.Model(
|
|
@@ -193,5 +205,4 @@ class ModelExpress:
|
|
|
193
205
|
blob.download_to_filename(artifact_path)
|
|
194
206
|
|
|
195
207
|
def df_to_features(self, df: pd.DataFrame):
|
|
196
|
-
#
|
|
197
208
|
return df.to_dict(orient="records")
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "orient_express"
|
|
3
|
-
version = "0.2
|
|
3
|
+
version = "0.3.2"
|
|
4
4
|
description = "A library to simplify model deployment to Vertex AI"
|
|
5
5
|
authors = ["Alexey Zankevich <alex.zankevich@shiftsmart.com>"]
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
|
|
8
8
|
[tool.poetry.dependencies]
|
|
9
|
-
python = ">=3.9"
|
|
9
|
+
python = ">=3.9,<3.13"
|
|
10
10
|
google-cloud-aiplatform = "*"
|
|
11
11
|
google-cloud-storage = "*"
|
|
12
12
|
pandas = "*"
|
|
@@ -17,6 +17,12 @@ pytest = "8.3.3"
|
|
|
17
17
|
scikit-learn = "1.5.2"
|
|
18
18
|
xgboost = "2.1.2"
|
|
19
19
|
|
|
20
|
+
[tool.poetry.group.inference.dependencies]
|
|
21
|
+
scikit-learn = "1.5.2"
|
|
22
|
+
kserve = "0.14.0"
|
|
23
|
+
python-json-logger = "2.0.7"
|
|
24
|
+
gcsfs = "^2024.10.0"
|
|
25
|
+
|
|
20
26
|
[build-system]
|
|
21
27
|
requires = ["poetry-core"]
|
|
22
28
|
build-backend = "poetry.core.masonry.api"
|
|
File without changes
|
|
File without changes
|