Skip to content

Commit 9760c20

Browse files
feat: add more configurability to feature_group.proto (#5656)
* feat: returns usage metadata for context caching PiperOrigin-RevId: 670830441 Source-Link: googleapis/googleapis@95a1490 Source-Link: googleapis/googleapis-gen@7bffbbc Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFpcGxhdGZvcm0vLk93bEJvdC55YW1sIiwiaCI6IjdiZmZiYmM2ODdhNzc2OGNkMTZkNjk2MzUzMzJjOGY4MTQwNDgxYTkifQ== * feat: add FLEX_START to Scheduling.strategy PiperOrigin-RevId: 670984417 Source-Link: googleapis/googleapis@fa23e30 Source-Link: googleapis/googleapis-gen@474efb3 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFpcGxhdGZvcm0vLk93bEJvdC55YW1sIiwiaCI6IjQ3NGVmYjNjMjY5ZmMxMDQ0NTdkYjJkM2RiNGUxMWQ3YzdjMGEwNjMifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: add FLEX_START to Scheduling.strategy PiperOrigin-RevId: 670985191 Source-Link: googleapis/googleapis@cb6264a Source-Link: googleapis/googleapis-gen@9d3a1d7 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFpcGxhdGZvcm0vLk93bEJvdC55YW1sIiwiaCI6IjlkM2ExZDc4ZjVlZmY0ZWQxNjM0NGJlNGFlMWE3OTE0NWU5MDA3YmMifQ== * feat: add more configurability to feature_group.proto feat: add ragSource to feature_view.proto feat: add sync watermark to feature_view_sync.proto docs: fix typo in feature_online_store_admin_service.proto PiperOrigin-RevId: 671111091 Source-Link: googleapis/googleapis@cb6a8ee Source-Link: googleapis/googleapis-gen@f38a35f Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFpcGxhdGZvcm0vLk93bEJvdC55YW1sIiwiaCI6ImYzOGEzNWZmYzgzN2E5ZmRkZmM1OTI4OTAxNjYzZTlkMzJlZWVjMzQifQ== * feat: add more configurability to feature_group.proto feat: add ragSource to feature_view.proto feat: add sync watermark to feature_view_sync.proto docs: fix typo in feature_online_store_admin_service.proto PiperOrigin-RevId: 671113897 Source-Link: googleapis/googleapis@68f6c7f Source-Link: googleapis/googleapis-gen@03aeb16 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFpcGxhdGZvcm0vLk93bEJvdC55YW1sIiwiaCI6IjAzYWViMTY5ZTQyN2RmMDI1ZjU1NzYwM2RhZDhkZGNmZjU5YTQ2MmIifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: sofisl <55454395+sofisl@users.noreply.github.com>
1 parent f4072a0 commit 9760c20

34 files changed

+2099
-18
lines changed

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1/custom_job.proto

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -366,17 +366,20 @@ message Scheduling {
366366
// Strategy will default to STANDARD.
367367
STRATEGY_UNSPECIFIED = 0;
368368

369-
// Regular on-demand provisioning strategy.
369+
// Deprecated. Regular on-demand provisioning strategy.
370370
ON_DEMAND = 1 [deprecated = true];
371371

372-
// Low cost by making potential use of spot resources.
372+
// Deprecated. Low cost by making potential use of spot resources.
373373
LOW_COST = 2 [deprecated = true];
374374

375375
// Standard provisioning strategy uses regular on-demand resources.
376376
STANDARD = 3;
377377

378378
// Spot provisioning strategy uses spot resources.
379379
SPOT = 4;
380+
381+
// Flex Start strategy uses DWS to queue for resources.
382+
FLEX_START = 6;
380383
}
381384

382385
// The maximum job running time. The default is 7 days.

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1/feature_group.proto

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,28 @@ message FeatureGroup {
6060
repeated string entity_id_columns = 2
6161
[(google.api.field_behavior) = OPTIONAL];
6262

63+
// Optional. Set if the data source is not a time-series.
64+
bool static_data_source = 3 [(google.api.field_behavior) = OPTIONAL];
65+
6366
// Optional. If the source is a time-series source, this can be set to
6467
// control how downstream sources (ex:
6568
// [FeatureView][google.cloud.aiplatform.v1.FeatureView] ) will treat
6669
// time-series sources. If not set, will treat the source as a time-series
6770
// source with `feature_timestamp` as timestamp column and no scan boundary.
6871
TimeSeries time_series = 4 [(google.api.field_behavior) = OPTIONAL];
72+
73+
// Optional. If set, all feature values will be fetched
74+
// from a single row per unique entityId including nulls.
75+
// If not set, will collapse all rows for each unique entityId into a singe
76+
// row with any non-null values if present, if no non-null values are
77+
// present will sync null.
78+
// ex: If source has schema
79+
// `(entity_id, feature_timestamp, f0, f1)` and the following rows:
80+
// `(e1, 2020-01-01T10:00:00.123Z, 10, 15)`
81+
// `(e1, 2020-02-01T10:00:00.123Z, 20, null)`
82+
// If dense is set, `(e1, 20, null)` is synced to online stores. If dense is
83+
// not set, `(e1, 20, 15)` is synced to online stores.
84+
bool dense = 5 [(google.api.field_behavior) = OPTIONAL];
6985
}
7086

7187
oneof source {

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1/feature_online_store_admin_service.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ message SyncFeatureViewRequest {
543543
];
544544
}
545545

546-
// Respose message for
546+
// Response message for
547547
// [FeatureOnlineStoreAdminService.SyncFeatureView][google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.SyncFeatureView].
548548
message SyncFeatureViewResponse {
549549
// Format:

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1/feature_view.proto

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,25 @@ message FeatureView {
157157
optional int64 project_number = 2 [(google.api.field_behavior) = OPTIONAL];
158158
}
159159

160+
// A Vertex Rag source for features that need to be synced to Online
161+
// Store.
162+
message VertexRagSource {
163+
// Required. The BigQuery view/table URI that will be materialized on each
164+
// manual sync trigger. The table/view is expected to have the following
165+
// columns and types at least:
166+
// - `corpus_id` (STRING, NULLABLE/REQUIRED)
167+
// - `file_id` (STRING, NULLABLE/REQUIRED)
168+
// - `chunk_id` (STRING, NULLABLE/REQUIRED)
169+
// - `chunk_data_type` (STRING, NULLABLE/REQUIRED)
170+
// - `chunk_data` (STRING, NULLABLE/REQUIRED)
171+
// - `embeddings` (FLOAT, REPEATED)
172+
// - `file_original_uri` (STRING, NULLABLE/REQUIRED)
173+
string uri = 1 [(google.api.field_behavior) = REQUIRED];
174+
175+
// Optional. The RAG corpus id corresponding to this FeatureView.
176+
int64 rag_corpus_id = 2 [(google.api.field_behavior) = OPTIONAL];
177+
}
178+
160179
oneof source {
161180
// Optional. Configures how data is supposed to be extracted from a BigQuery
162181
// source to be loaded onto the FeatureOnlineStore.
@@ -167,6 +186,10 @@ message FeatureView {
167186
// need to be loaded onto the FeatureOnlineStore.
168187
FeatureRegistrySource feature_registry_source = 9
169188
[(google.api.field_behavior) = OPTIONAL];
189+
190+
// Optional. The Vertex RAG Source that the FeatureView is linked to.
191+
VertexRagSource vertex_rag_source = 18
192+
[(google.api.field_behavior) = OPTIONAL];
170193
}
171194

172195
// Identifier. Name of the FeatureView. Format:

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1/feature_view_sync.proto

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ message FeatureViewSync {
4646

4747
// Output only. BigQuery slot milliseconds consumed for the sync job.
4848
int64 total_slot = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
49+
50+
// Lower bound of the system time watermark for the sync job. This is only
51+
// set for continuously syncing feature views.
52+
google.protobuf.Timestamp system_watermark_time = 5;
4953
}
5054

5155
// Identifier. Name of the FeatureViewSync. Format:

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1beta1/cached_content.proto

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,24 @@ message CachedContent {
4141
singular: "cachedContent"
4242
};
4343

44+
// Metadata on the usage of the cached content.
45+
message UsageMetadata {
46+
// Total number of tokens that the cached content consumes.
47+
int32 total_token_count = 1;
48+
49+
// Number of text characters.
50+
int32 text_count = 2;
51+
52+
// Number of images.
53+
int32 image_count = 3;
54+
55+
// Duration of video in seconds.
56+
int32 video_duration_seconds = 4;
57+
58+
// Duration of audio in seconds.
59+
int32 audio_duration_seconds = 5;
60+
}
61+
4462
// Expiration time of the cached content.
4563
oneof expiration {
4664
// Timestamp of when this resource is considered expired.
@@ -112,4 +130,7 @@ message CachedContent {
112130
// Output only. When the cache entry was last updated in UTC time.
113131
google.protobuf.Timestamp update_time = 8
114132
[(google.api.field_behavior) = OUTPUT_ONLY];
133+
134+
// Output only. Metadata on the usage of the cached content.
135+
UsageMetadata usage_metadata = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
115136
}

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1beta1/custom_job.proto

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -366,17 +366,20 @@ message Scheduling {
366366
// Strategy will default to STANDARD.
367367
STRATEGY_UNSPECIFIED = 0;
368368

369-
// Regular on-demand provisioning strategy.
369+
// Deprecated. Regular on-demand provisioning strategy.
370370
ON_DEMAND = 1 [deprecated = true];
371371

372-
// Low cost by making potential use of spot resources.
372+
// Deprecated. Low cost by making potential use of spot resources.
373373
LOW_COST = 2 [deprecated = true];
374374

375375
// Standard provisioning strategy uses regular on-demand resources.
376376
STANDARD = 3;
377377

378378
// Spot provisioning strategy uses spot resources.
379379
SPOT = 4;
380+
381+
// Flex Start strategy uses DWS to queue for resources.
382+
FLEX_START = 6;
380383
}
381384

382385
// The maximum job running time. The default is 7 days.

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1beta1/feature_group.proto

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,28 @@ message FeatureGroup {
6060
repeated string entity_id_columns = 2
6161
[(google.api.field_behavior) = OPTIONAL];
6262

63+
// Optional. Set if the data source is not a time-series.
64+
bool static_data_source = 3 [(google.api.field_behavior) = OPTIONAL];
65+
6366
// Optional. If the source is a time-series source, this can be set to
6467
// control how downstream sources (ex:
6568
// [FeatureView][google.cloud.aiplatform.v1beta1.FeatureView] ) will treat
6669
// time-series sources. If not set, will treat the source as a time-series
6770
// source with `feature_timestamp` as timestamp column and no scan boundary.
6871
TimeSeries time_series = 4 [(google.api.field_behavior) = OPTIONAL];
72+
73+
// Optional. If set, all feature values will be fetched
74+
// from a single row per unique entityId including nulls.
75+
// If not set, will collapse all rows for each unique entityId into a singe
76+
// row with any non-null values if present, if no non-null values are
77+
// present will sync null.
78+
// ex: If source has schema
79+
// `(entity_id, feature_timestamp, f0, f1)` and the following rows:
80+
// `(e1, 2020-01-01T10:00:00.123Z, 10, 15)`
81+
// `(e1, 2020-02-01T10:00:00.123Z, 20, null)`
82+
// If dense is set, `(e1, 20, null)` is synced to online stores. If dense is
83+
// not set, `(e1, 20, 15)` is synced to online stores.
84+
bool dense = 5 [(google.api.field_behavior) = OPTIONAL];
6985
}
7086

7187
oneof source {

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1beta1/feature_online_store_admin_service.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ message SyncFeatureViewRequest {
543543
];
544544
}
545545

546-
// Respose message for
546+
// Response message for
547547
// [FeatureOnlineStoreAdminService.SyncFeatureView][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.SyncFeatureView].
548548
message SyncFeatureViewResponse {
549549
// Format:

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1beta1/feature_view.proto

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,25 @@ message FeatureView {
237237
optional int64 project_number = 2 [(google.api.field_behavior) = OPTIONAL];
238238
}
239239

240+
// A Vertex Rag source for features that need to be synced to Online
241+
// Store.
242+
message VertexRagSource {
243+
// Required. The BigQuery view/table URI that will be materialized on each
244+
// manual sync trigger. The table/view is expected to have the following
245+
// columns and types at least:
246+
// - `corpus_id` (STRING, NULLABLE/REQUIRED)
247+
// - `file_id` (STRING, NULLABLE/REQUIRED)
248+
// - `chunk_id` (STRING, NULLABLE/REQUIRED)
249+
// - `chunk_data_type` (STRING, NULLABLE/REQUIRED)
250+
// - `chunk_data` (STRING, NULLABLE/REQUIRED)
251+
// - `embeddings` (FLOAT, REPEATED)
252+
// - `file_original_uri` (STRING, NULLABLE/REQUIRED)
253+
string uri = 1 [(google.api.field_behavior) = REQUIRED];
254+
255+
// Optional. The RAG corpus id corresponding to this FeatureView.
256+
int64 rag_corpus_id = 2 [(google.api.field_behavior) = OPTIONAL];
257+
}
258+
240259
// Service agent type used during data sync.
241260
enum ServiceAgentType {
242261
// By default, the project-level Vertex AI Service Agent is enabled.
@@ -263,6 +282,10 @@ message FeatureView {
263282
// need to be loaded onto the FeatureOnlineStore.
264283
FeatureRegistrySource feature_registry_source = 9
265284
[(google.api.field_behavior) = OPTIONAL];
285+
286+
// Optional. The Vertex RAG Source that the FeatureView is linked to.
287+
VertexRagSource vertex_rag_source = 18
288+
[(google.api.field_behavior) = OPTIONAL];
266289
}
267290

268291
// Identifier. Name of the FeatureView. Format:

0 commit comments

Comments
 (0)