Skip to content

Commit 0dd513f

Browse files
vertex-sdk-botcopybara-github
authored andcommitted
feat: Add consolidation customization to Memory Bank
PiperOrigin-RevId: 893047384
1 parent 3cc6907 commit 0dd513f

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

tests/unit/vertexai/genai/replays/test_create_agent_engine.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def test_create_with_context_spec(client):
8585
}
8686
],
8787
"enable_third_person_memories": True,
88+
"consolidation_config": {"revisions_per_candidate_count": 5},
8889
}
8990
memory_bank_customization_config = types.MemoryBankCustomizationConfig(
9091
**customization_config

vertexai/_genai/types/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,9 @@
607607
from .common import MapInstanceOrDict
608608
from .common import Memory
609609
from .common import MemoryBankCustomizationConfig
610+
from .common import MemoryBankCustomizationConfigConsolidationConfig
611+
from .common import MemoryBankCustomizationConfigConsolidationConfigDict
612+
from .common import MemoryBankCustomizationConfigConsolidationConfigOrDict
610613
from .common import MemoryBankCustomizationConfigDict
611614
from .common import MemoryBankCustomizationConfigGenerateMemoriesExample
612615
from .common import (
@@ -1577,6 +1580,9 @@
15771580
"MemoryBankCustomizationConfigMemoryTopic",
15781581
"MemoryBankCustomizationConfigMemoryTopicDict",
15791582
"MemoryBankCustomizationConfigMemoryTopicOrDict",
1583+
"MemoryBankCustomizationConfigConsolidationConfig",
1584+
"MemoryBankCustomizationConfigConsolidationConfigDict",
1585+
"MemoryBankCustomizationConfigConsolidationConfigOrDict",
15801586
"MemoryBankCustomizationConfig",
15811587
"MemoryBankCustomizationConfigDict",
15821588
"MemoryBankCustomizationConfigOrDict",

vertexai/_genai/types/common.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6214,6 +6214,28 @@ class MemoryBankCustomizationConfigMemoryTopicDict(TypedDict, total=False):
62146214
]
62156215

62166216

6217+
class MemoryBankCustomizationConfigConsolidationConfig(_common.BaseModel):
6218+
"""Represents configuration for customizing how memories are consolidated."""
6219+
6220+
revisions_per_candidate_count: Optional[int] = Field(
6221+
default=None,
6222+
description="""Optional. Represents the maximum number of revisions to consider for each candidate memory. If not set, then the default value (1) will be used, which means that only the latest revision will be considered.""",
6223+
)
6224+
6225+
6226+
class MemoryBankCustomizationConfigConsolidationConfigDict(TypedDict, total=False):
6227+
"""Represents configuration for customizing how memories are consolidated."""
6228+
6229+
revisions_per_candidate_count: Optional[int]
6230+
"""Optional. Represents the maximum number of revisions to consider for each candidate memory. If not set, then the default value (1) will be used, which means that only the latest revision will be considered."""
6231+
6232+
6233+
MemoryBankCustomizationConfigConsolidationConfigOrDict = Union[
6234+
MemoryBankCustomizationConfigConsolidationConfig,
6235+
MemoryBankCustomizationConfigConsolidationConfigDict,
6236+
]
6237+
6238+
62176239
class MemoryBankCustomizationConfig(_common.BaseModel):
62186240
"""Configuration for organizing memories for a particular scope."""
62196241

@@ -6235,6 +6257,12 @@ class MemoryBankCustomizationConfig(_common.BaseModel):
62356257
default=None,
62366258
description="""Optional. The scope keys (i.e. 'user_id') for which to use this config. A request's scope must include all of the provided keys for the config to be used (order does not matter). If empty, then the config will be used for all requests that do not have a more specific config. Only one default config is allowed per Memory Bank.""",
62376259
)
6260+
consolidation_config: Optional[MemoryBankCustomizationConfigConsolidationConfig] = (
6261+
Field(
6262+
default=None,
6263+
description="""Optional. Represents configuration for customizing how memories are consolidated together.""",
6264+
)
6265+
)
62386266

62396267

62406268
class MemoryBankCustomizationConfigDict(TypedDict, total=False):
@@ -6254,6 +6282,9 @@ class MemoryBankCustomizationConfigDict(TypedDict, total=False):
62546282
scope_keys: Optional[list[str]]
62556283
"""Optional. The scope keys (i.e. 'user_id') for which to use this config. A request's scope must include all of the provided keys for the config to be used (order does not matter). If empty, then the config will be used for all requests that do not have a more specific config. Only one default config is allowed per Memory Bank."""
62566284

6285+
consolidation_config: Optional[MemoryBankCustomizationConfigConsolidationConfigDict]
6286+
"""Optional. Represents configuration for customizing how memories are consolidated together."""
6287+
62576288

62586289
MemoryBankCustomizationConfigOrDict = Union[
62596290
MemoryBankCustomizationConfig, MemoryBankCustomizationConfigDict

0 commit comments

Comments
 (0)