@@ -20,6 +20,8 @@ import "google/api/field_behavior.proto";
2020import "google/api/resource.proto" ;
2121import "google/cloud/aiplatform/v1beta1/encryption_spec.proto" ;
2222import "google/cloud/aiplatform/v1beta1/env_var.proto" ;
23+ import "google/cloud/aiplatform/v1beta1/service_networking.proto" ;
24+ import "google/protobuf/duration.proto" ;
2325import "google/protobuf/struct.proto" ;
2426import "google/protobuf/timestamp.proto" ;
2527
@@ -64,6 +66,34 @@ message ReasoningEngineSpec {
6466 // Service Agent.
6567 repeated SecretEnvVar secret_env = 2
6668 [(google.api.field_behavior ) = OPTIONAL ];
69+
70+ // Optional. Configuration for PSC-I.
71+ PscInterfaceConfig psc_interface_config = 4
72+ [(google.api.field_behavior ) = OPTIONAL ];
73+
74+ // Optional. The minimum number of application instances that will be kept
75+ // running at all times. Defaults to 1.
76+ optional int32 min_instances = 5 [(google.api.field_behavior ) = OPTIONAL ];
77+
78+ // Optional. The maximum number of application instances that can be
79+ // launched to handle increased traffic. Defaults to 100.
80+ optional int32 max_instances = 6 [(google.api.field_behavior ) = OPTIONAL ];
81+
82+ // Optional. Resource limits for each container. Only 'cpu' and 'memory'
83+ // keys are supported. Defaults to {"cpu": "4", "memory": "4Gi"}.
84+ //
85+ // * The only supported values for CPU are '1', '2', '4', and '8'. For
86+ // more information, go to
87+ // https://cloud.google.com/run/docs/configuring/cpu.
88+ // * For supported 'memory' values and syntax, go to
89+ // https://cloud.google.com/run/docs/configuring/memory-limits
90+ map <string , string > resource_limits = 7
91+ [(google.api.field_behavior ) = OPTIONAL ];
92+
93+ // Optional. Concurrency for each container and agent server. Recommended
94+ // value: 2 * cpu + 1. Defaults to 9.
95+ optional int32 container_concurrency = 8
96+ [(google.api.field_behavior ) = OPTIONAL ];
6797 }
6898
6999 // Optional. The service account that the Reasoning Engine artifact runs as.
@@ -144,12 +174,50 @@ message ReasoningEngine {
144174message ReasoningEngineContextSpec {
145175 // Specification for a Memory Bank.
146176 message MemoryBankConfig {
177+ // Configuration for automatically setting the TTL ("time-to-live") of the
178+ // memories in the Memory Bank.
179+ message TtlConfig {
180+ // Configuration for TTL of the memories in the Memory Bank based on the
181+ // action that created or updated the memory.
182+ message GranularTtlConfig {
183+ // Optional. The TTL duration for memories uploaded via CreateMemory.
184+ google.protobuf.Duration create_ttl = 1
185+ [(google.api.field_behavior ) = OPTIONAL ];
186+
187+ // Optional. The TTL duration for memories newly generated via
188+ // GenerateMemories
189+ // ([GenerateMemoriesResponse.GeneratedMemory.Action.CREATED][google.cloud.aiplatform.v1beta1.GenerateMemoriesResponse.GeneratedMemory.Action.CREATED]).
190+ google.protobuf.Duration generate_created_ttl = 2
191+ [(google.api.field_behavior ) = OPTIONAL ];
192+
193+ // Optional. The TTL duration for memories updated via GenerateMemories
194+ // ([GenerateMemoriesResponse.GeneratedMemory.Action.CREATED][google.cloud.aiplatform.v1beta1.GenerateMemoriesResponse.GeneratedMemory.Action.CREATED]).
195+ // In the case of an UPDATE action, the `expire_time` of the existing
196+ // memory will be updated to the new value (now + TTL).
197+ google.protobuf.Duration generate_updated_ttl = 3
198+ [(google.api.field_behavior ) = OPTIONAL ];
199+ }
200+
201+ // Configuration for automatically setting the TTL of the memories in the
202+ // Memory Bank.
203+ oneof ttl {
204+ // Optional. The default TTL duration of the memories in the Memory
205+ // Bank. This applies to all operations that create or update a memory.
206+ google.protobuf.Duration default_ttl = 1
207+ [(google.api.field_behavior ) = OPTIONAL ];
208+
209+ // Optional. The granular TTL configuration of the memories in the
210+ // Memory Bank.
211+ GranularTtlConfig granular_ttl_config = 2
212+ [(google.api.field_behavior ) = OPTIONAL ];
213+ }
214+ }
215+
147216 // Configuration for how to generate memories.
148217 message GenerationConfig {
149218 // Required. The model used to generate memories.
150219 // Format:
151- // `projects/{project}/locations/{location}/publishers/google/models/{model}`
152- // or `projects/{project}/locations/{location}/endpoints/{endpoint}`.
220+ // `projects/{project}/locations/{location}/publishers/google/models/{model}`.
153221 string model = 1 [
154222 (google.api.field_behavior ) = REQUIRED ,
155223 (google.api.resource_reference ) = {
@@ -162,8 +230,7 @@ message ReasoningEngineContextSpec {
162230 message SimilaritySearchConfig {
163231 // Required. The model used to generate embeddings to lookup similar
164232 // memories. Format:
165- // `projects/{project}/locations/{location}/publishers/google/models/{model}`
166- // or `projects/{project}/locations/{location}/endpoints/{endpoint}`.
233+ // `projects/{project}/locations/{location}/publishers/google/models/{model}`.
167234 string embedding_model = 1 [
168235 (google.api.field_behavior ) = REQUIRED ,
169236 (google.api.resource_reference ) = {
@@ -181,6 +248,12 @@ message ReasoningEngineContextSpec {
181248 // `text-embedding-005`.
182249 SimilaritySearchConfig similarity_search_config = 2
183250 [(google.api.field_behavior ) = OPTIONAL ];
251+
252+ // Optional. Configuration for automatic TTL ("time-to-live") of the
253+ // memories in the Memory Bank. If not set, TTL will not be applied
254+ // automatically. The TTL can be explicitly set by modifying the
255+ // `expire_time` of each Memory resource.
256+ TtlConfig ttl_config = 5 [(google.api.field_behavior ) = OPTIONAL ];
184257 }
185258
186259 // Optional. Specification for a Memory Bank, which manages memories for the
0 commit comments