Skip to content

Commit 29d4e45

Browse files
vertex-sdk-botcopybara-github
authored andcommitted
feat: Add preview capability to deploy models with shared resources.
PiperOrigin-RevId: 524052585
1 parent 73011c0 commit 29d4e45

File tree

4 files changed

+1186
-24
lines changed

4 files changed

+1186
-24
lines changed

google/cloud/aiplatform/models.py

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# -*- coding: utf-8 -*-
22

3-
# Copyright 2022 Google LLC
3+
# Copyright 2023 Google LLC
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.
@@ -16,7 +16,6 @@
1616
#
1717
import json
1818
import pathlib
19-
import proto
2019
import re
2120
import shutil
2221
import tempfile
@@ -37,6 +36,7 @@
3736
from google.api_core import exceptions as api_exceptions
3837
from google.auth import credentials as auth_credentials
3938
from google.auth.transport import requests as google_auth_requests
39+
import proto
4040

4141
from google.cloud import aiplatform
4242
from google.cloud.aiplatform import base
@@ -154,7 +154,7 @@ class Prediction(NamedTuple):
154154
explanations: Optional[Sequence[gca_explanation_compat.Explanation]] = None
155155

156156

157-
class Endpoint(base.VertexAiResourceNounWithFutureManager):
157+
class Endpoint(base.VertexAiResourceNounWithFutureManager, base.PreviewMixin):
158158

159159
client_class = utils.EndpointClientWithOverride
160160
_resource_noun = "endpoints"
@@ -163,6 +163,19 @@ class Endpoint(base.VertexAiResourceNounWithFutureManager):
163163
_delete_method = "delete_endpoint"
164164
_parse_resource_name_method = "parse_endpoint_path"
165165
_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
166179

167180
def __init__(
168181
self,
@@ -1002,7 +1015,7 @@ def _deploy_call(
10021015
deploy_request_timeout: Optional[float] = None,
10031016
autoscaling_target_cpu_utilization: Optional[int] = None,
10041017
autoscaling_target_accelerator_duty_cycle: Optional[int] = None,
1005-
):
1018+
) -> None:
10061019
"""Helper method to deploy model to endpoint.
10071020
10081021
Args:
@@ -2420,7 +2433,7 @@ def delete(self, force: bool = False, sync: bool = True) -> None:
24202433
super().delete(force=False, sync=sync)
24212434

24222435

2423-
class Model(base.VertexAiResourceNounWithFutureManager):
2436+
class Model(base.VertexAiResourceNounWithFutureManager, base.PreviewMixin):
24242437

24252438
client_class = utils.ModelClientWithOverride
24262439
_resource_noun = "models"
@@ -2429,6 +2442,19 @@ class Model(base.VertexAiResourceNounWithFutureManager):
24292442
_delete_method = "delete_model"
24302443
_parse_resource_name_method = "parse_model_path"
24312444
_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
24322458

24332459
@property
24342460
def uri(self) -> Optional[str]:

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy