Skip to content

Commit 8c1862f

Browse files
Google APIscopybara-github
authored andcommitted
feat: add UpdateRagEngineConfig rpc
feat: add RagEngineConfig to specify RAG project-level config feat: add rag_managed_db_config to RagEngineConfig for specifying Basic or Enterprise RagManagedDb tiers PiperOrigin-RevId: 746505624
1 parent f6a8c28 commit 8c1862f

3 files changed

Lines changed: 110 additions & 0 deletions

File tree

google/cloud/aiplatform/v1beta1/aiplatform_v1beta1.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,7 @@ http:
306306
- post: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:cancel'
307307
- post: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:cancel'
308308
- post: '/ui/{name=projects/*/locations/*/schedules/*/operations/*}:cancel'
309+
- post: '/ui/{name=projects/*/locations/*/ragEngineConfig/operations/*}:cancel'
309310
- post: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}:cancel'
310311
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}:cancel'
311312
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:cancel'
@@ -346,6 +347,7 @@ http:
346347
- post: '/v1beta1/{name=projects/*/locations/*/notebookRuntimes/*/operations/*}:cancel'
347348
- post: '/v1beta1/{name=projects/*/locations/*/notebookRuntimeTemplates/*/operations/*}:cancel'
348349
- post: '/v1beta1/{name=projects/*/locations/*/persistentResources/*/operations/*}:cancel'
350+
- post: '/v1beta1/{name=projects/*/locations/*/ragEngineConfig/operations/*}:cancel'
349351
- post: '/v1beta1/{name=projects/*/locations/*/ragCorpora/*/operations/*}:cancel'
350352
- post: '/v1beta1/{name=projects/*/locations/*/ragCorpora/*/ragFiles/*/operations/*}:cancel'
351353
- post: '/v1beta1/{name=projects/*/locations/*/studies/*/operations/*}:cancel'
@@ -401,6 +403,7 @@ http:
401403
- delete: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}'
402404
- delete: '/ui/{name=projects/*/locations/*/schedules/*/operations/*}'
403405
- delete: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}'
406+
- delete: '/ui/{name=projects/*/locations/*/ragEngineConfig/operations/*}'
404407
- delete: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}'
405408
- delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}'
406409
- delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}'
@@ -446,6 +449,7 @@ http:
446449
- delete: '/v1beta1/{name=projects/*/locations/*/notebookRuntimes/*/operations/*}'
447450
- delete: '/v1beta1/{name=projects/*/locations/*/notebookRuntimeTemplates/*/operations/*}'
448451
- delete: '/v1beta1/{name=projects/*/locations/*/persistentResources/*/operations/*}'
452+
- delete: '/v1beta1/{name=projects/*/locations/*/ragEngineConfig/operations/*}'
449453
- delete: '/v1beta1/{name=projects/*/locations/*/ragCorpora/*/operations/*}'
450454
- delete: '/v1beta1/{name=projects/*/locations/*/ragCorpora/*/ragFiles/*/operations/*}'
451455
- delete: '/v1beta1/{name=projects/*/locations/*/reasoningEngines/*/operations/*}'
@@ -507,6 +511,7 @@ http:
507511
- get: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}'
508512
- get: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}'
509513
- get: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}'
514+
- get: '/ui/{name=projects/*/locations/*/ragEngineConfig/operations/*}'
510515
- get: '/ui/{name=projects/*/locations/*/schedules/*/operations/*}'
511516
- get: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}'
512517
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}'
@@ -554,6 +559,7 @@ http:
554559
- get: '/v1beta1/{name=projects/*/locations/*/notebookRuntimes/*/operations/*}'
555560
- get: '/v1beta1/{name=projects/*/locations/*/notebookRuntimeTemplates/*/operations/*}'
556561
- get: '/v1beta1/{name=projects/*/locations/*/persistentResources/*/operations/*}'
562+
- get: '/v1beta1/{name=projects/*/locations/*/ragEngineConfig/operations/*}'
557563
- get: '/v1beta1/{name=projects/*/locations/*/ragCorpora/*/operations/*}'
558564
- get: '/v1beta1/{name=projects/*/locations/*/ragCorpora/*/ragFiles/*/operations/*}'
559565
- get: '/v1beta1/{name=projects/*/locations/*/reasoningEngines/*/operations/*}'
@@ -614,6 +620,7 @@ http:
614620
- get: '/ui/{name=projects/*/locations/*/trainingPipelines/*}/operations'
615621
- get: '/ui/{name=projects/*/locations/*/persistentResources/*}/operations'
616622
- get: '/ui/{name=projects/*/locations/*/pipelineJobs/*}/operations'
623+
- get: '/ui/{name=projects/*/locations/*/ragEngineConfig}/operations'
617624
- get: '/ui/{name=projects/*/locations/*/schedules/*}/operations'
618625
- get: '/ui/{name=projects/*/locations/*/specialistPools/*}/operations'
619626
- get: '/ui/{name=projects/*/locations/*/tensorboards/*}/operations'
@@ -661,6 +668,7 @@ http:
661668
- get: '/v1beta1/{name=projects/*/locations/*/notebookRuntimes/*}/operations'
662669
- get: '/v1beta1/{name=projects/*/locations/*/notebookRuntimeTemplates/*}/operations'
663670
- get: '/v1beta1/{name=projects/*/locations/*/persistentResources/*}/operations'
671+
- get: '/v1beta1/{name=projects/*/locations/*/ragEngineConfig}/operations'
664672
- get: '/v1beta1/{name=projects/*/locations/*/ragCorpora/*}/operations'
665673
- get: '/v1beta1/{name=projects/*/locations/*/ragCorpora/*/ragFiles/*}/operations'
666674
- get: '/v1beta1/{name=projects/*/locations/*/reasoningEngines/*}/operations'
@@ -723,6 +731,7 @@ http:
723731
- post: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:wait'
724732
- post: '/ui/{name=projects/*/locations/*/schedules/*/operations/*}:wait'
725733
- post: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}:wait'
734+
- post: '/ui/{name=projects/*/locations/*/ragEngineConfig/operations/*}:wait'
726735
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}:wait'
727736
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:wait'
728737
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:wait'
@@ -768,6 +777,7 @@ http:
768777
- post: '/v1beta1/{name=projects/*/locations/*/notebookRuntimes/*/operations/*}:wait'
769778
- post: '/v1beta1/{name=projects/*/locations/*/notebookRuntimeTemplates/*/operations/*}:wait'
770779
- post: '/v1beta1/{name=projects/*/locations/*/persistentResources/*/operations/*}:wait'
780+
- post: '/v1beta1/{name=projects/*/locations/*/ragEngineConfig/operations/*}:wait'
771781
- post: '/v1beta1/{name=projects/*/locations/*/ragCorpora/*/operations/*}:wait'
772782
- post: '/v1beta1/{name=projects/*/locations/*/ragCorpora/*/ragFiles/*/operations/*}:wait'
773783
- post: '/v1beta1/{name=projects/*/locations/*/reasoningEngines/*/operations/*}:wait'

google/cloud/aiplatform/v1beta1/vertex_rag_data.proto

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,3 +608,49 @@ message ImportRagFilesConfig {
608608
int32 global_max_embedding_requests_per_min = 18
609609
[(google.api.field_behavior) = OPTIONAL];
610610
}
611+
612+
// Configuration message for RagManagedDb used by RagEngine.
613+
message RagManagedDbConfig {
614+
// Enterprise tier offers production grade performance along with
615+
// autoscaling functionality. It is suitable for customers with large
616+
// amounts of data or performance sensitive workloads.
617+
//
618+
// NOTE: This is the default tier if not explicitly chosen.
619+
message Enterprise {}
620+
621+
// Basic tier is a cost-effective and low compute tier suitable for
622+
// the following cases:
623+
// * Experimenting with RagManagedDb.
624+
// * Small data size.
625+
// * Latency insensitive workload.
626+
// * Only using RAG Engine with external vector DBs.
627+
message Basic {}
628+
629+
// The tier of the RagManagedDb.
630+
oneof tier {
631+
// Sets the RagManagedDb to the Enterprise tier. This is the default tier
632+
// if not explicitly chosen.
633+
Enterprise enterprise = 1;
634+
635+
// Sets the RagManagedDb to the Basic tier.
636+
Basic basic = 2;
637+
}
638+
}
639+
640+
// Config for RagEngine.
641+
message RagEngineConfig {
642+
option (google.api.resource) = {
643+
type: "aiplatform.googleapis.com/RagEngineConfig"
644+
pattern: "projects/{project}/locations/{location}/ragEngineConfig"
645+
plural: "ragEngineConfigs"
646+
singular: "ragEngineConfig"
647+
};
648+
649+
// Identifier. The name of the RagEngineConfig.
650+
// Format:
651+
// `projects/{project}/locations/{location}/ragEngineConfig`
652+
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
653+
654+
// The config of the RagManagedDb used by RagEngine.
655+
RagManagedDbConfig rag_managed_db_config = 2;
656+
}

google/cloud/aiplatform/v1beta1/vertex_rag_data_service.proto

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,28 @@ service VertexRagDataService {
149149
metadata_type: "DeleteOperationMetadata"
150150
};
151151
}
152+
153+
// Updates a RagEngineConfig.
154+
rpc UpdateRagEngineConfig(UpdateRagEngineConfigRequest)
155+
returns (google.longrunning.Operation) {
156+
option (google.api.http) = {
157+
patch: "/v1beta1/{rag_engine_config.name=projects/*/locations/*/ragEngineConfig}"
158+
body: "rag_engine_config"
159+
};
160+
option (google.api.method_signature) = "rag_engine_config";
161+
option (google.longrunning.operation_info) = {
162+
response_type: "RagEngineConfig"
163+
metadata_type: "UpdateRagEngineConfigOperationMetadata"
164+
};
165+
}
166+
167+
// Gets a RagEngineConfig.
168+
rpc GetRagEngineConfig(GetRagEngineConfigRequest) returns (RagEngineConfig) {
169+
option (google.api.http) = {
170+
get: "/v1beta1/{name=projects/*/locations/*/ragEngineConfig}"
171+
};
172+
option (google.api.method_signature) = "name";
173+
}
152174
}
153175

154176
// Request message for
@@ -388,6 +410,20 @@ message CreateRagCorpusOperationMetadata {
388410
GenericOperationMetadata generic_metadata = 1;
389411
}
390412

413+
// Request message for
414+
// [VertexRagDataService.GetRagEngineConfig][google.cloud.aiplatform.v1beta1.VertexRagDataService.GetRagEngineConfig]
415+
message GetRagEngineConfigRequest {
416+
// Required. The name of the RagEngineConfig resource.
417+
// Format:
418+
// `projects/{project}/locations/{location}/ragEngineConfig`
419+
string name = 1 [
420+
(google.api.field_behavior) = REQUIRED,
421+
(google.api.resource_reference) = {
422+
type: "aiplatform.googleapis.com/RagEngineConfig"
423+
}
424+
];
425+
}
426+
391427
// Request message for
392428
// [VertexRagDataService.UpdateRagCorpus][google.cloud.aiplatform.v1beta1.VertexRagDataService.UpdateRagCorpus].
393429
message UpdateRagCorpusRequest {
@@ -420,3 +456,21 @@ message ImportRagFilesOperationMetadata {
420456
// progress_percentage = 100 * (successes + failures + skips) / total
421457
int32 progress_percentage = 4;
422458
}
459+
460+
// Request message for
461+
// [VertexRagDataService.UpdateRagEngineConfig][google.cloud.aiplatform.v1beta1.VertexRagDataService.UpdateRagEngineConfig].
462+
message UpdateRagEngineConfigRequest {
463+
// Required. The updated RagEngineConfig.
464+
//
465+
// NOTE: Downgrading your RagManagedDb's ComputeTier could temporarily
466+
// increase request latencies until the operation is fully complete.
467+
RagEngineConfig rag_engine_config = 1
468+
[(google.api.field_behavior) = REQUIRED];
469+
}
470+
471+
// Runtime operation information for
472+
// [VertexRagDataService.UpdateRagEngineConfig][google.cloud.aiplatform.v1beta1.VertexRagDataService.UpdateRagEngineConfig].
473+
message UpdateRagEngineConfigOperationMetadata {
474+
// The operation generic information.
475+
GenericOperationMetadata generic_metadata = 1;
476+
}

0 commit comments

Comments
 (0)