1
1
# -*- coding: utf-8 -*-
2
2
3
- # Copyright 2022 Google LLC
3
+ # Copyright 2023 Google LLC
4
4
#
5
5
# Licensed under the Apache License, Version 2.0 (the "License");
6
6
# you may not use this file except in compliance with the License.
16
16
#
17
17
import json
18
18
import pathlib
19
- import proto
20
19
import re
21
20
import shutil
22
21
import tempfile
37
36
from google .api_core import exceptions as api_exceptions
38
37
from google .auth import credentials as auth_credentials
39
38
from google .auth .transport import requests as google_auth_requests
39
+ import proto
40
40
41
41
from google .cloud import aiplatform
42
42
from google .cloud .aiplatform import base
@@ -154,7 +154,7 @@ class Prediction(NamedTuple):
154
154
explanations : Optional [Sequence [gca_explanation_compat .Explanation ]] = None
155
155
156
156
157
- class Endpoint (base .VertexAiResourceNounWithFutureManager ):
157
+ class Endpoint (base .VertexAiResourceNounWithFutureManager , base . PreviewMixin ):
158
158
159
159
client_class = utils .EndpointClientWithOverride
160
160
_resource_noun = "endpoints"
@@ -163,6 +163,19 @@ class Endpoint(base.VertexAiResourceNounWithFutureManager):
163
163
_delete_method = "delete_endpoint"
164
164
_parse_resource_name_method = "parse_endpoint_path"
165
165
_format_resource_name_method = "endpoint_path"
166
+ _preview_class = "google.cloud.aiplatform.aiplatform.preview.models.Endpoint"
167
+
168
+ @property
169
+ def preview (self ):
170
+ """Return an Endpoint instance with preview features enabled."""
171
+ from google .cloud .aiplatform .preview import models as preview_models
172
+
173
+ if not hasattr (self , "_preview_instance" ):
174
+ self ._preview_instance = preview_models .Endpoint (
175
+ self .resource_name , credentials = self .credentials
176
+ )
177
+
178
+ return self ._preview_instance
166
179
167
180
def __init__ (
168
181
self ,
@@ -1002,7 +1015,7 @@ def _deploy_call(
1002
1015
deploy_request_timeout : Optional [float ] = None ,
1003
1016
autoscaling_target_cpu_utilization : Optional [int ] = None ,
1004
1017
autoscaling_target_accelerator_duty_cycle : Optional [int ] = None ,
1005
- ):
1018
+ ) -> None :
1006
1019
"""Helper method to deploy model to endpoint.
1007
1020
1008
1021
Args:
@@ -2420,7 +2433,7 @@ def delete(self, force: bool = False, sync: bool = True) -> None:
2420
2433
super ().delete (force = False , sync = sync )
2421
2434
2422
2435
2423
- class Model (base .VertexAiResourceNounWithFutureManager ):
2436
+ class Model (base .VertexAiResourceNounWithFutureManager , base . PreviewMixin ):
2424
2437
2425
2438
client_class = utils .ModelClientWithOverride
2426
2439
_resource_noun = "models"
@@ -2429,6 +2442,19 @@ class Model(base.VertexAiResourceNounWithFutureManager):
2429
2442
_delete_method = "delete_model"
2430
2443
_parse_resource_name_method = "parse_model_path"
2431
2444
_format_resource_name_method = "model_path"
2445
+ _preview_class = "google.cloud.aiplatform.aiplatform.preview.models.Model"
2446
+
2447
+ @property
2448
+ def preview (self ):
2449
+ """Return a Model instance with preview features enabled."""
2450
+ from google .cloud .aiplatform .preview import models as preview_models
2451
+
2452
+ if not hasattr (self , "_preview_instance" ):
2453
+ self ._preview_instance = preview_models .Model (
2454
+ self .resource_name , credentials = self .credentials
2455
+ )
2456
+
2457
+ return self ._preview_instance
2432
2458
2433
2459
@property
2434
2460
def uri (self ) -> Optional [str ]:
0 commit comments