Skip to content

Commit fcfee53

Browse files
Google APIscopybara-github
authored andcommitted
feat: Reasoning Engine v1 GAPIC release
PiperOrigin-RevId: 716685354
1 parent eabc14c commit fcfee53

5 files changed

Lines changed: 431 additions & 85 deletions

File tree

google/cloud/aiplatform/v1/BUILD.bazel

Lines changed: 7 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@
99
# * extra_protoc_file_parameters
1010
# The complete list of preserved parameters can be found in the source code.
1111

12-
# This is an API workspace, having public visibility by default makes perfect sense.
13-
package(default_visibility = ["//visibility:public"])
12+
load("@com_google_googleapis_imports//:imports.bzl", "cc_grpc_library", "cc_proto_library", "csharp_gapic_assembly_pkg", "csharp_gapic_library", "csharp_grpc_library", "csharp_proto_library", "go_gapic_assembly_pkg", "go_gapic_library", "go_proto_library", "java_gapic_assembly_gradle_pkg", "java_gapic_library", "java_gapic_test", "java_grpc_library", "java_proto_library", "nodejs_gapic_assembly_pkg", "nodejs_gapic_library", "php_gapic_assembly_pkg", "php_gapic_library", "php_proto_library", "proto_library_with_info", "py_gapic_assembly_pkg", "py_gapic_library", "py_test", "ruby_cloud_gapic_library", "ruby_gapic_assembly_pkg", "ruby_grpc_library", "ruby_proto_library")
1413

1514
##############################################################################
1615
# Common
1716
##############################################################################
1817
load("@rules_proto//proto:defs.bzl", "proto_library")
19-
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
18+
19+
# This is an API workspace, having public visibility by default makes perfect sense.
20+
package(default_visibility = ["//visibility:public"])
2021

2122
_PROTO_SUBPACKAGE_DEPS = [
2223
"//google/cloud/aiplatform/v1/schema/predict/instance:instance_proto",
@@ -118,6 +119,9 @@ proto_library(
118119
"pipeline_state.proto",
119120
"prediction_service.proto",
120121
"publisher_model.proto",
122+
"reasoning_engine.proto",
123+
"reasoning_engine_execution_service.proto",
124+
"reasoning_engine_service.proto",
121125
"reservation_affinity.proto",
122126
"saved_query.proto",
123127
"schedule.proto",
@@ -175,18 +179,6 @@ proto_library_with_info(
175179
] + _PROTO_SUBPACKAGE_DEPS,
176180
)
177181

178-
##############################################################################
179-
# Java
180-
##############################################################################
181-
load(
182-
"@com_google_googleapis_imports//:imports.bzl",
183-
"java_gapic_assembly_gradle_pkg",
184-
"java_gapic_library",
185-
"java_gapic_test",
186-
"java_grpc_library",
187-
"java_proto_library",
188-
)
189-
190182
_JAVA_PROTO_SUBPACKAGE_DEPS = [
191183
"//google/cloud/aiplatform/v1/schema/predict/instance:instance_java_proto",
192184
"//google/cloud/aiplatform/v1/schema/predict/params:params_java_proto",
@@ -280,16 +272,6 @@ java_gapic_assembly_gradle_pkg(
280272
] + _JAVA_PROTO_SUBPACKAGE_DEPS + _PROTO_SUBPACKAGE_DEPS + _JAVA_GRPC_SUBPACKAGE_DEPS,
281273
)
282274

283-
##############################################################################
284-
# Go
285-
##############################################################################
286-
load(
287-
"@com_google_googleapis_imports//:imports.bzl",
288-
"go_gapic_assembly_pkg",
289-
"go_gapic_library",
290-
"go_proto_library",
291-
)
292-
293275
go_proto_library(
294276
name = "aiplatform_go_proto",
295277
compilers = ["@io_bazel_rules_go//proto:go_grpc"],
@@ -342,16 +324,6 @@ go_gapic_assembly_pkg(
342324
],
343325
)
344326

345-
##############################################################################
346-
# Python
347-
##############################################################################
348-
load(
349-
"@com_google_googleapis_imports//:imports.bzl",
350-
"py_gapic_assembly_pkg",
351-
"py_gapic_library",
352-
"py_test",
353-
)
354-
355327
_PY_GAPIC_SUBPACKAGE_DEPS = [
356328
"//google/cloud/aiplatform/v1/schema/predict/instance:instance_py_gapic",
357329
"//google/cloud/aiplatform/v1/schema/predict/params:params_py_gapic",
@@ -389,16 +361,6 @@ py_gapic_assembly_pkg(
389361
] + _PROTO_SUBPACKAGE_DEPS + _PY_GAPIC_SUBPACKAGE_DEPS,
390362
)
391363

392-
##############################################################################
393-
# PHP
394-
##############################################################################
395-
load(
396-
"@com_google_googleapis_imports//:imports.bzl",
397-
"php_gapic_assembly_pkg",
398-
"php_gapic_library",
399-
"php_proto_library",
400-
)
401-
402364
php_proto_library(
403365
name = "aiplatform_php_proto",
404366
deps = [":aiplatform_proto"],
@@ -426,15 +388,6 @@ php_gapic_assembly_pkg(
426388
],
427389
)
428390

429-
##############################################################################
430-
# Node.js
431-
##############################################################################
432-
load(
433-
"@com_google_googleapis_imports//:imports.bzl",
434-
"nodejs_gapic_assembly_pkg",
435-
"nodejs_gapic_library",
436-
)
437-
438391
nodejs_gapic_library(
439392
name = "aiplatform_nodejs_gapic",
440393
package_name = "@google-cloud/aiplatform",
@@ -456,17 +409,6 @@ nodejs_gapic_assembly_pkg(
456409
] + _PROTO_SUBPACKAGE_DEPS,
457410
)
458411

459-
##############################################################################
460-
# Ruby
461-
##############################################################################
462-
load(
463-
"@com_google_googleapis_imports//:imports.bzl",
464-
"ruby_cloud_gapic_library",
465-
"ruby_gapic_assembly_pkg",
466-
"ruby_grpc_library",
467-
"ruby_proto_library",
468-
)
469-
470412
ruby_proto_library(
471413
name = "aiplatform_ruby_proto",
472414
deps = [":aiplatform_proto"],
@@ -511,17 +453,6 @@ ruby_gapic_assembly_pkg(
511453
],
512454
)
513455

514-
##############################################################################
515-
# C#
516-
##############################################################################
517-
load(
518-
"@com_google_googleapis_imports//:imports.bzl",
519-
"csharp_gapic_assembly_pkg",
520-
"csharp_gapic_library",
521-
"csharp_grpc_library",
522-
"csharp_proto_library",
523-
)
524-
525456
_CSHARP_PROTO_SUBPACKAGE_DEPS = [
526457
"//google/cloud/aiplatform/v1/schema/predict/instance:instance_csharp_proto",
527458
"//google/cloud/aiplatform/v1/schema/predict/params:params_csharp_proto",
@@ -565,15 +496,6 @@ csharp_gapic_assembly_pkg(
565496
] + _CSHARP_PROTO_SUBPACKAGE_DEPS,
566497
)
567498

568-
##############################################################################
569-
# C++
570-
##############################################################################
571-
load(
572-
"@com_google_googleapis_imports//:imports.bzl",
573-
"cc_grpc_library",
574-
"cc_proto_library",
575-
)
576-
577499
cc_proto_library(
578500
name = "aiplatform_cc_proto",
579501
deps = [":aiplatform_proto"],

google/cloud/aiplatform/v1/aiplatform_v1.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ apis:
2828
- name: google.cloud.aiplatform.v1.PersistentResourceService
2929
- name: google.cloud.aiplatform.v1.PipelineService
3030
- name: google.cloud.aiplatform.v1.PredictionService
31+
- name: google.cloud.aiplatform.v1.ReasoningEngineExecutionService
32+
- name: google.cloud.aiplatform.v1.ReasoningEngineService
3133
- name: google.cloud.aiplatform.v1.ScheduleService
3234
- name: google.cloud.aiplatform.v1.SpecialistPoolService
3335
- name: google.cloud.aiplatform.v1.TensorboardService
@@ -315,6 +317,7 @@ http:
315317
- post: '/v1/{name=projects/*/locations/*/persistentResources/*/operations/*}:cancel'
316318
- post: '/v1/{name=projects/*/locations/*/ragCorpora/*/operations/*}:cancel'
317319
- post: '/v1/{name=projects/*/locations/*/ragCorpora/*/ragFiles/*/operations/*}:cancel'
320+
- post: '/v1/{name=projects/*/locations/*/reasoningEngines/*/operations/*}:cancel'
318321
- post: '/v1/{name=projects/*/locations/*/studies/*/operations/*}:cancel'
319322
- post: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:cancel'
320323
- post: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:cancel'
@@ -404,6 +407,7 @@ http:
404407
- delete: '/v1/{name=projects/*/locations/*/notebookRuntimeTemplates/*/operations/*}'
405408
- delete: '/v1/{name=projects/*/locations/*/ragCorpora/*/operations/*}'
406409
- delete: '/v1/{name=projects/*/locations/*/ragCorpora/*/ragFiles/*/operations/*}'
410+
- delete: '/v1/{name=projects/*/locations/*/reasoningEngines/*/operations/*}'
407411
- delete: '/v1/{name=projects/*/locations/*/studies/*/operations/*}'
408412
- delete: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}'
409413
- delete: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}'
@@ -501,6 +505,7 @@ http:
501505
- get: '/v1/{name=projects/*/locations/*/notebookRuntimeTemplates/*/operations/*}'
502506
- get: '/v1/{name=projects/*/locations/*/ragCorpora/*/operations/*}'
503507
- get: '/v1/{name=projects/*/locations/*/ragCorpora/*/ragFiles/*/operations/*}'
508+
- get: '/v1/{name=projects/*/locations/*/reasoningEngines/*/operations/*}'
504509
- get: '/v1/{name=projects/*/locations/*/studies/*/operations/*}'
505510
- get: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}'
506511
- get: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}'
@@ -595,6 +600,7 @@ http:
595600
- get: '/v1/{name=projects/*/locations/*/notebookExecutionJobs/*}/operations'
596601
- get: '/v1/{name=projects/*/locations/*/notebookRuntimes/*}/operations'
597602
- get: '/v1/{name=projects/*/locations/*/notebookRuntimeTemplates/*}/operations'
603+
- get: '/v1/{name=projects/*/locations/*/reasoningEngines/*}/operations'
598604
- get: '/v1/{name=projects/*/locations/*/studies/*}/operations'
599605
- get: '/v1/{name=projects/*/locations/*/studies/*/trials/*}/operations'
600606
- get: '/v1/{name=projects/*/locations/*/trainingPipelines/*}/operations'
@@ -692,6 +698,7 @@ http:
692698
- post: '/v1/{name=projects/*/locations/*/notebookRuntimeTemplates/*/operations/*}:wait'
693699
- post: '/v1/{name=projects/*/locations/*/ragCorpora/*/operations/*}:wait'
694700
- post: '/v1/{name=projects/*/locations/*/ragCorpora/*/ragFiles/*/operations/*}:wait'
701+
- post: '/v1/{name=projects/*/locations/*/reasoningEngines/*/operations/*}:wait'
695702
- post: '/v1/{name=projects/*/locations/*/studies/*/operations/*}:wait'
696703
- post: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:wait'
697704
- post: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:wait'
@@ -828,6 +835,18 @@ authentication:
828835
canonical_scopes: |-
829836
https://www.googleapis.com/auth/cloud-platform,
830837
https://www.googleapis.com/auth/cloud-platform.read-only
838+
- selector: google.cloud.aiplatform.v1.ReasoningEngineExecutionService.QueryReasoningEngine
839+
oauth:
840+
canonical_scopes: |-
841+
https://www.googleapis.com/auth/cloud-platform
842+
- selector: google.cloud.aiplatform.v1.ReasoningEngineExecutionService.StreamQueryReasoningEngine
843+
oauth:
844+
canonical_scopes: |-
845+
https://www.googleapis.com/auth/cloud-platform
846+
- selector: 'google.cloud.aiplatform.v1.ReasoningEngineService.*'
847+
oauth:
848+
canonical_scopes: |-
849+
https://www.googleapis.com/auth/cloud-platform
831850
- selector: 'google.cloud.aiplatform.v1.ScheduleService.*'
832851
oauth:
833852
canonical_scopes: |-
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
// Copyright 2024 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.aiplatform.v1;
18+
19+
import "google/api/field_behavior.proto";
20+
import "google/api/resource.proto";
21+
import "google/protobuf/struct.proto";
22+
import "google/protobuf/timestamp.proto";
23+
24+
option csharp_namespace = "Google.Cloud.AIPlatform.V1";
25+
option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb";
26+
option java_multiple_files = true;
27+
option java_outer_classname = "ReasoningEngineProto";
28+
option java_package = "com.google.cloud.aiplatform.v1";
29+
option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
30+
option ruby_package = "Google::Cloud::AIPlatform::V1";
31+
32+
// ReasoningEngine configurations
33+
message ReasoningEngineSpec {
34+
// User provided package spec like pickled object and package requirements.
35+
message PackageSpec {
36+
// Optional. The Cloud Storage URI of the pickled python object.
37+
string pickle_object_gcs_uri = 1 [(google.api.field_behavior) = OPTIONAL];
38+
39+
// Optional. The Cloud Storage URI of the dependency files in tar.gz format.
40+
string dependency_files_gcs_uri = 2
41+
[(google.api.field_behavior) = OPTIONAL];
42+
43+
// Optional. The Cloud Storage URI of the `requirements.txt` file
44+
string requirements_gcs_uri = 3 [(google.api.field_behavior) = OPTIONAL];
45+
46+
// Optional. The Python version. Currently support 3.8, 3.9, 3.10, 3.11.
47+
// If not specified, default value is 3.10.
48+
string python_version = 4 [(google.api.field_behavior) = OPTIONAL];
49+
}
50+
51+
// Required. User provided package spec of the ReasoningEngine.
52+
PackageSpec package_spec = 2 [(google.api.field_behavior) = REQUIRED];
53+
54+
// Optional. Declarations for object class methods in OpenAPI specification
55+
// format.
56+
repeated google.protobuf.Struct class_methods = 3
57+
[(google.api.field_behavior) = OPTIONAL];
58+
}
59+
60+
// ReasoningEngine provides a customizable runtime for models to determine
61+
// which actions to take and in which order.
62+
message ReasoningEngine {
63+
option (google.api.resource) = {
64+
type: "aiplatform.googleapis.com/ReasoningEngine"
65+
pattern: "projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}"
66+
plural: "reasoningEngines"
67+
singular: "reasoningEngine"
68+
};
69+
70+
// Identifier. The resource name of the ReasoningEngine.
71+
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
72+
73+
// Required. The display name of the ReasoningEngine.
74+
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
75+
76+
// Optional. The description of the ReasoningEngine.
77+
string description = 7 [(google.api.field_behavior) = OPTIONAL];
78+
79+
// Required. Configurations of the ReasoningEngine
80+
ReasoningEngineSpec spec = 3 [(google.api.field_behavior) = REQUIRED];
81+
82+
// Output only. Timestamp when this ReasoningEngine was created.
83+
google.protobuf.Timestamp create_time = 4
84+
[(google.api.field_behavior) = OUTPUT_ONLY];
85+
86+
// Output only. Timestamp when this ReasoningEngine was most recently updated.
87+
google.protobuf.Timestamp update_time = 5
88+
[(google.api.field_behavior) = OUTPUT_ONLY];
89+
90+
// Optional. Used to perform consistent read-modify-write updates. If not set,
91+
// a blind "overwrite" update happens.
92+
string etag = 6 [(google.api.field_behavior) = OPTIONAL];
93+
}

0 commit comments

Comments
 (0)