Skip to content

Commit 9cd63ab

Browse files
vertex-sdk-botcopybara-github
authored andcommitted
feat: Onboard Vertex Model Garden to GenAI Python SDK: Add list_models and list_deployable_models support
PiperOrigin-RevId: 938116291
1 parent 8e52bd2 commit 9cd63ab

7 files changed

Lines changed: 2839 additions & 174 deletions

File tree

agentplatform/_genai/client.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@
3939
)
4040
from agentplatform._genai import prompts as prompts_module
4141
from agentplatform._genai import skills as skills_module
42+
from agentplatform._genai import (
43+
model_garden as model_garden_module,
44+
)
4245
from agentplatform._genai import live as live_module
4346
from agentplatform._genai import rag as rag_module
4447

@@ -85,6 +88,7 @@ def __init__(self, api_client: genai_client.BaseApiClient): # type: ignore[name
8588
self._datasets: Optional[ModuleType] = None
8689
self._skills: Optional[ModuleType] = None
8790
self._rag: Optional[ModuleType] = None
91+
self._model_garden: Optional[ModuleType] = None
8892

8993
@property
9094
@_common.experimental_warning(
@@ -179,6 +183,18 @@ def rag(self) -> "rag_module.AsyncRag":
179183
)
180184
return self._rag.AsyncRag(self._api_client) # type: ignore[no-any-return]
181185

186+
@property
187+
@_common.experimental_warning(
188+
"The Model Garden module is experimental, and may change in future " "versions."
189+
)
190+
def model_garden(self) -> "model_garden_module.AsyncModelGarden":
191+
if self._model_garden is None:
192+
self._model_garden = importlib.import_module(
193+
".model_garden",
194+
__package__,
195+
)
196+
return self._model_garden.AsyncModelGarden(self._api_client) # type: ignore[no-any-return]
197+
182198
async def aclose(self) -> None:
183199
"""Closes the async client explicitly.
184200
@@ -284,6 +300,7 @@ def __init__(
284300
self._datasets: Optional[ModuleType] = None
285301
self._skills: Optional[ModuleType] = None
286302
self._rag: Optional[ModuleType] = None
303+
self._model_garden: Optional[ModuleType] = None
287304

288305
@property
289306
def evals(self) -> "evals_module.Evals":
@@ -402,3 +419,15 @@ def rag(self) -> "rag_module.Rag":
402419
__package__,
403420
)
404421
return self._rag.Rag(self._api_client) # type: ignore[no-any-return]
422+
423+
@property
424+
@_common.experimental_warning(
425+
"The Model Garden module is experimental, and may change in future " "versions."
426+
)
427+
def model_garden(self) -> "model_garden_module.ModelGarden":
428+
if self._model_garden is None:
429+
self._model_garden = importlib.import_module(
430+
".model_garden",
431+
__package__,
432+
)
433+
return self._model_garden.ModelGarden(self._api_client) # type: ignore[no-any-return]

0 commit comments

Comments
 (0)