|
40 | 40 | from agentplatform._genai import prompts as prompts_module |
41 | 41 | from agentplatform._genai import skills as skills_module |
42 | 42 | from agentplatform._genai import live as live_module |
| 43 | + from agentplatform._genai import rag as rag_module |
43 | 44 |
|
44 | 45 |
|
45 | 46 | _GENAI_MODULES_TELEMETRY_HEADER = "vertex-genai-modules" |
@@ -83,6 +84,7 @@ def __init__(self, api_client: genai_client.BaseApiClient): # type: ignore[name |
83 | 84 | self._prompts: Optional[ModuleType] = None |
84 | 85 | self._datasets: Optional[ModuleType] = None |
85 | 86 | self._skills: Optional[ModuleType] = None |
| 87 | + self._rag: Optional[ModuleType] = None |
86 | 88 |
|
87 | 89 | @property |
88 | 90 | @_common.experimental_warning( |
@@ -164,6 +166,19 @@ def skills(self) -> "skills_module.AsyncSkills": |
164 | 166 | ) |
165 | 167 | return self._skills.AsyncSkills(self._api_client) # type: ignore[no-any-return] |
166 | 168 |
|
| 169 | + @property |
| 170 | + @_common.experimental_warning( |
| 171 | + "The Vertex SDK GenAI async rag module is experimental, " |
| 172 | + "and may change in future versions." |
| 173 | + ) |
| 174 | + def rag(self) -> "rag_module.AsyncRag": |
| 175 | + if self._rag is None: |
| 176 | + self._rag = importlib.import_module( |
| 177 | + ".rag", |
| 178 | + __package__, |
| 179 | + ) |
| 180 | + return self._rag.AsyncRag(self._api_client) # type: ignore[no-any-return] |
| 181 | + |
167 | 182 | async def aclose(self) -> None: |
168 | 183 | """Closes the async client explicitly. |
169 | 184 |
|
@@ -268,6 +283,7 @@ def __init__( |
268 | 283 | self._prompts: Optional[ModuleType] = None |
269 | 284 | self._datasets: Optional[ModuleType] = None |
270 | 285 | self._skills: Optional[ModuleType] = None |
| 286 | + self._rag: Optional[ModuleType] = None |
271 | 287 |
|
272 | 288 | @property |
273 | 289 | def evals(self) -> "evals_module.Evals": |
@@ -373,3 +389,16 @@ def skills(self) -> "skills_module.Skills": |
373 | 389 | __package__, |
374 | 390 | ) |
375 | 391 | return self._skills.Skills(self._api_client) # type: ignore[no-any-return] |
| 392 | + |
| 393 | + @property |
| 394 | + @_common.experimental_warning( |
| 395 | + "The Vertex SDK GenAI rag module is experimental, " |
| 396 | + "and may change in future versions." |
| 397 | + ) |
| 398 | + def rag(self) -> "rag_module.Rag": |
| 399 | + if self._rag is None: |
| 400 | + self._rag = importlib.import_module( |
| 401 | + ".rag", |
| 402 | + __package__, |
| 403 | + ) |
| 404 | + return self._rag.Rag(self._api_client) # type: ignore[no-any-return] |
0 commit comments