Skip to content

Commit fe2472f

Browse files
vertex-sdk-botcopybara-github
authored andcommitted
feat: Add retrieve profiles
PiperOrigin-RevId: 893649750
1 parent 09794ba commit fe2472f

3 files changed

Lines changed: 468 additions & 0 deletions

File tree

vertexai/_genai/memories.py

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,9 @@ def _RetrieveAgentEngineMemoriesConfig_to_vertex(
329329
[item for item in getv(from_object, ["filter_groups"])],
330330
)
331331

332+
if getv(from_object, ["memory_types"]) is not None:
333+
setv(parent_object, ["memoryTypes"], getv(from_object, ["memory_types"]))
334+
332335
return to_object
333336

334337

@@ -365,6 +368,20 @@ def _RetrieveAgentEngineMemoriesRequestParameters_to_vertex(
365368
return to_object
366369

367370

371+
def _RetrieveMemoryProfilesRequestParameters_to_vertex(
372+
from_object: Union[dict[str, Any], object],
373+
parent_object: Optional[dict[str, Any]] = None,
374+
) -> dict[str, Any]:
375+
to_object: dict[str, Any] = {}
376+
if getv(from_object, ["name"]) is not None:
377+
setv(to_object, ["_url", "name"], getv(from_object, ["name"]))
378+
379+
if getv(from_object, ["scope"]) is not None:
380+
setv(to_object, ["scope"], getv(from_object, ["scope"]))
381+
382+
return to_object
383+
384+
368385
def _RollbackAgentEngineMemoryRequestParameters_to_vertex(
369386
from_object: Union[dict[str, Any], object],
370387
parent_object: Optional[dict[str, Any]] = None,
@@ -935,6 +952,72 @@ def _retrieve(
935952
self._api_client._verify_response(return_value)
936953
return return_value
937954

955+
def retrieve_profiles(
956+
self,
957+
*,
958+
name: str,
959+
scope: dict[str, str],
960+
config: Optional[types.RetrieveMemoryProfilesConfigOrDict] = None,
961+
) -> types.RetrieveProfilesResponse:
962+
"""
963+
Retrieves memory profiles for an Agent Engine.
964+
965+
Args:
966+
name (str): Required. A fully-qualified resource name or ID such as
967+
"projects/123/locations/us-central1/reasoningEngines/456".
968+
scope (dict[str, str]): Required. The scope of the memories to retrieve.
969+
A memory must have exactly the same scope as the scope provided here
970+
to be retrieved (i.e. same keys and values). Order does not matter,
971+
but it is case-sensitive.
972+
973+
"""
974+
975+
parameter_model = types._RetrieveMemoryProfilesRequestParameters(
976+
name=name,
977+
scope=scope,
978+
config=config,
979+
)
980+
981+
request_url_dict: Optional[dict[str, str]]
982+
if not self._api_client.vertexai:
983+
raise ValueError("This method is only supported in the Vertex AI client.")
984+
else:
985+
request_dict = _RetrieveMemoryProfilesRequestParameters_to_vertex(
986+
parameter_model
987+
)
988+
request_url_dict = request_dict.get("_url")
989+
if request_url_dict:
990+
path = "{name}/memories:retrieveProfiles".format_map(request_url_dict)
991+
else:
992+
path = "{name}/memories:retrieveProfiles"
993+
994+
query_params = request_dict.get("_query")
995+
if query_params:
996+
path = f"{path}?{urlencode(query_params)}"
997+
# TODO: remove the hack that pops config.
998+
request_dict.pop("config", None)
999+
1000+
http_options: Optional[types.HttpOptions] = None
1001+
if (
1002+
parameter_model.config is not None
1003+
and parameter_model.config.http_options is not None
1004+
):
1005+
http_options = parameter_model.config.http_options
1006+
1007+
request_dict = _common.convert_to_dict(request_dict)
1008+
request_dict = _common.encode_unserializable_types(request_dict)
1009+
1010+
response = self._api_client.request("post", path, request_dict, http_options)
1011+
1012+
response_dict = {} if not response.body else json.loads(response.body)
1013+
1014+
return_value = types.RetrieveProfilesResponse._from_response(
1015+
response=response_dict, kwargs=parameter_model.model_dump()
1016+
)
1017+
1018+
self._api_client._verify_response(return_value)
1019+
return return_value
1020+
9381021
def _rollback(
9391022
self,
9401023
*,
@@ -1909,6 +1992,74 @@ async def _retrieve(
19091992
self._api_client._verify_response(return_value)
19101993
return return_value
19111994

1995+
async def retrieve_profiles(
1996+
self,
1997+
*,
1998+
name: str,
1999+
scope: dict[str, str],
2000+
config: Optional[types.RetrieveMemoryProfilesConfigOrDict] = None,
2001+
) -> types.RetrieveProfilesResponse:
2002+
"""
2003+
Retrieves memory profiles for an Agent Engine.
2004+
2005+
Args:
2006+
name (str): Required. A fully-qualified resource name or ID such as
2007+
"projects/123/locations/us-central1/reasoningEngines/456".
2008+
scope (dict[str, str]): Required. The scope of the memories to retrieve.
2009+
A memory must have exactly the same scope as the scope provided here
2010+
to be retrieved (i.e. same keys and values). Order does not matter,
2011+
but it is case-sensitive.
2012+
2013+
"""
2014+
2015+
parameter_model = types._RetrieveMemoryProfilesRequestParameters(
2016+
name=name,
2017+
scope=scope,
2018+
config=config,
2019+
)
2020+
2021+
request_url_dict: Optional[dict[str, str]]
2022+
if not self._api_client.vertexai:
2023+
raise ValueError("This method is only supported in the Vertex AI client.")
2024+
else:
2025+
request_dict = _RetrieveMemoryProfilesRequestParameters_to_vertex(
2026+
parameter_model
2027+
)
2028+
request_url_dict = request_dict.get("_url")
2029+
if request_url_dict:
2030+
path = "{name}/memories:retrieveProfiles".format_map(request_url_dict)
2031+
else:
2032+
path = "{name}/memories:retrieveProfiles"
2033+
2034+
query_params = request_dict.get("_query")
2035+
if query_params:
2036+
path = f"{path}?{urlencode(query_params)}"
2037+
# TODO: remove the hack that pops config.
2038+
request_dict.pop("config", None)
2039+
2040+
http_options: Optional[types.HttpOptions] = None
2041+
if (
2042+
parameter_model.config is not None
2043+
and parameter_model.config.http_options is not None
2044+
):
2045+
http_options = parameter_model.config.http_options
2046+
2047+
request_dict = _common.convert_to_dict(request_dict)
2048+
request_dict = _common.encode_unserializable_types(request_dict)
2049+
2050+
response = await self._api_client.async_request(
2051+
"post", path, request_dict, http_options
2052+
)
2053+
2054+
response_dict = {} if not response.body else json.loads(response.body)
2055+
2056+
return_value = types.RetrieveProfilesResponse._from_response(
2057+
response=response_dict, kwargs=parameter_model.model_dump()
2058+
)
2059+
2060+
self._api_client._verify_response(return_value)
2061+
return return_value
2062+
19122063
async def _rollback(
19132064
self,
19142065
*,

vertexai/_genai/types/__init__.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
from .common import _QueryAgentEngineRequestParameters
9595
from .common import _RestoreVersionRequestParameters
9696
from .common import _RetrieveAgentEngineMemoriesRequestParameters
97+
from .common import _RetrieveMemoryProfilesRequestParameters
9798
from .common import _RollbackAgentEngineMemoryRequestParameters
9899
from .common import _RunQueryJobAgentEngineConfig
99100
from .common import _RunQueryJobAgentEngineConfigDict
@@ -689,12 +690,19 @@
689690
from .common import MemoryMetadataValueDict
690691
from .common import MemoryMetadataValueOrDict
691692
from .common import MemoryOrDict
693+
from .common import MemoryProfile
694+
from .common import MemoryProfileDict
695+
from .common import MemoryProfileOrDict
692696
from .common import MemoryRevision
693697
from .common import MemoryRevisionDict
694698
from .common import MemoryRevisionOrDict
699+
from .common import MemoryStructuredContent
700+
from .common import MemoryStructuredContentDict
701+
from .common import MemoryStructuredContentOrDict
695702
from .common import MemoryTopicId
696703
from .common import MemoryTopicIdDict
697704
from .common import MemoryTopicIdOrDict
705+
from .common import MemoryType
698706
from .common import Message
699707
from .common import MessageDict
700708
from .common import Metadata
@@ -886,6 +894,12 @@
886894
from .common import RetrieveMemoriesResponseRetrievedMemory
887895
from .common import RetrieveMemoriesResponseRetrievedMemoryDict
888896
from .common import RetrieveMemoriesResponseRetrievedMemoryOrDict
897+
from .common import RetrieveMemoryProfilesConfig
898+
from .common import RetrieveMemoryProfilesConfigDict
899+
from .common import RetrieveMemoryProfilesConfigOrDict
900+
from .common import RetrieveProfilesResponse
901+
from .common import RetrieveProfilesResponseDict
902+
from .common import RetrieveProfilesResponseOrDict
889903
from .common import RollbackAgentEngineMemoryConfig
890904
from .common import RollbackAgentEngineMemoryConfigDict
891905
from .common import RollbackAgentEngineMemoryConfigOrDict
@@ -1041,6 +1055,12 @@
10411055
from .common import SessionOrDict
10421056
from .common import State
10431057
from .common import Strategy
1058+
from .common import StructuredMemoryConfig
1059+
from .common import StructuredMemoryConfigDict
1060+
from .common import StructuredMemoryConfigOrDict
1061+
from .common import StructuredMemoryConfigSchemaConfig
1062+
from .common import StructuredMemoryConfigSchemaConfigDict
1063+
from .common import StructuredMemoryConfigSchemaConfigOrDict
10441064
from .common import SummaryMetric
10451065
from .common import SummaryMetricDict
10461066
from .common import SummaryMetricOrDict
@@ -1653,6 +1673,12 @@
16531673
"ReasoningEngineContextSpecMemoryBankConfigTtlConfig",
16541674
"ReasoningEngineContextSpecMemoryBankConfigTtlConfigDict",
16551675
"ReasoningEngineContextSpecMemoryBankConfigTtlConfigOrDict",
1676+
"StructuredMemoryConfigSchemaConfig",
1677+
"StructuredMemoryConfigSchemaConfigDict",
1678+
"StructuredMemoryConfigSchemaConfigOrDict",
1679+
"StructuredMemoryConfig",
1680+
"StructuredMemoryConfigDict",
1681+
"StructuredMemoryConfigOrDict",
16561682
"ReasoningEngineContextSpecMemoryBankConfig",
16571683
"ReasoningEngineContextSpecMemoryBankConfigDict",
16581684
"ReasoningEngineContextSpecMemoryBankConfigOrDict",
@@ -1743,6 +1769,9 @@
17431769
"AgentEngineMemoryConfig",
17441770
"AgentEngineMemoryConfigDict",
17451771
"AgentEngineMemoryConfigOrDict",
1772+
"MemoryStructuredContent",
1773+
"MemoryStructuredContentDict",
1774+
"MemoryStructuredContentOrDict",
17461775
"Memory",
17471776
"MemoryDict",
17481777
"MemoryOrDict",
@@ -1812,6 +1841,15 @@
18121841
"RetrieveMemoriesResponse",
18131842
"RetrieveMemoriesResponseDict",
18141843
"RetrieveMemoriesResponseOrDict",
1844+
"RetrieveMemoryProfilesConfig",
1845+
"RetrieveMemoryProfilesConfigDict",
1846+
"RetrieveMemoryProfilesConfigOrDict",
1847+
"MemoryProfile",
1848+
"MemoryProfileDict",
1849+
"MemoryProfileOrDict",
1850+
"RetrieveProfilesResponse",
1851+
"RetrieveProfilesResponseDict",
1852+
"RetrieveProfilesResponseOrDict",
18151853
"RollbackAgentEngineMemoryConfig",
18161854
"RollbackAgentEngineMemoryConfigDict",
18171855
"RollbackAgentEngineMemoryConfigOrDict",
@@ -2197,6 +2235,7 @@
21972235
"Type",
21982236
"JobState",
21992237
"ManagedTopicEnum",
2238+
"MemoryType",
22002239
"IdentityType",
22012240
"AgentServerMode",
22022241
"Operator",
@@ -2271,6 +2310,7 @@
22712310
"_GetAgentEngineMemoryOperationParameters",
22722311
"_GetAgentEngineGenerateMemoriesOperationParameters",
22732312
"_RetrieveAgentEngineMemoriesRequestParameters",
2313+
"_RetrieveMemoryProfilesRequestParameters",
22742314
"_RollbackAgentEngineMemoryRequestParameters",
22752315
"_UpdateAgentEngineMemoryRequestParameters",
22762316
"_PurgeAgentEngineMemoriesRequestParameters",

0 commit comments

Comments
 (0)