Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions agentplatform/_genai/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@
)
from agentplatform._genai import prompts as prompts_module
from agentplatform._genai import skills as skills_module
from agentplatform._genai import (
model_garden as model_garden_module,
)
from agentplatform._genai import live as live_module
from agentplatform._genai import rag as rag_module

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

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

@property
@_common.experimental_warning(
"The Model Garden module is experimental, and may change in future " "versions."
)
def model_garden(self) -> "model_garden_module.AsyncModelGarden":
if self._model_garden is None:
self._model_garden = importlib.import_module(
".model_garden",
__package__,
)
return self._model_garden.AsyncModelGarden(self._api_client) # type: ignore[no-any-return]

async def aclose(self) -> None:
"""Closes the async client explicitly.

Expand Down Expand Up @@ -284,6 +300,7 @@ def __init__(
self._datasets: Optional[ModuleType] = None
self._skills: Optional[ModuleType] = None
self._rag: Optional[ModuleType] = None
self._model_garden: Optional[ModuleType] = None

@property
def evals(self) -> "evals_module.Evals":
Expand Down Expand Up @@ -402,3 +419,15 @@ def rag(self) -> "rag_module.Rag":
__package__,
)
return self._rag.Rag(self._api_client) # type: ignore[no-any-return]

@property
@_common.experimental_warning(
"The Model Garden module is experimental, and may change in future " "versions."
)
def model_garden(self) -> "model_garden_module.ModelGarden":
if self._model_garden is None:
self._model_garden = importlib.import_module(
".model_garden",
__package__,
)
return self._model_garden.ModelGarden(self._api_client) # type: ignore[no-any-return]
Loading
Loading