Skip to content

Commit 1908e4e

Browse files
vertex-sdk-botcopybara-github
authored andcommitted
feat: Onboard Vertex Model Garden in stateless GenAI Python SDK
PiperOrigin-RevId: 924362030
1 parent 958e3eb commit 1908e4e

11 files changed

Lines changed: 12319 additions & 4635 deletions

File tree

agentplatform/_genai/client.py

Lines changed: 31 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,19 @@ 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 "
189+
"versions."
190+
)
191+
def model_garden(self) -> "model_garden_module.AsyncModelGarden":
192+
if self._model_garden is None:
193+
self._model_garden = importlib.import_module(
194+
".model_garden",
195+
__package__,
196+
)
197+
return self._model_garden.AsyncModelGarden(self._api_client) # type: ignore[no-any-return]
198+
182199
async def aclose(self) -> None:
183200
"""Closes the async client explicitly.
184201
@@ -284,6 +301,7 @@ def __init__(
284301
self._datasets: Optional[ModuleType] = None
285302
self._skills: Optional[ModuleType] = None
286303
self._rag: Optional[ModuleType] = None
304+
self._model_garden: Optional[ModuleType] = None
287305

288306
@property
289307
def evals(self) -> "evals_module.Evals":
@@ -402,3 +420,16 @@ def rag(self) -> "rag_module.Rag":
402420
__package__,
403421
)
404422
return self._rag.Rag(self._api_client) # type: ignore[no-any-return]
423+
424+
@property
425+
@_common.experimental_warning(
426+
"The Model Garden module is experimental, and may change in future "
427+
"versions."
428+
)
429+
def model_garden(self) -> "model_garden_module.ModelGarden":
430+
if self._model_garden is None:
431+
self._model_garden = importlib.import_module(
432+
".model_garden",
433+
__package__,
434+
)
435+
return self._model_garden.ModelGarden(self._api_client) # type: ignore[no-any-return]

0 commit comments

Comments
 (0)