1*d5c09012SAndroid Build Coastguard Worker// Copyright 2022 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.discoveryengine.v1alpha; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/discoveryengine/v1alpha/common.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 23*d5c09012SAndroid Build Coastguard Worker 24*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; 25*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; 26*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 27*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "EngineProto"; 28*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.discoveryengine.v1alpha"; 29*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DISCOVERYENGINE"; 30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; 31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker// Metadata that describes the training and serving parameters of an 34*d5c09012SAndroid Build Coastguard Worker// [Engine][google.cloud.discoveryengine.v1alpha.Engine]. 35*d5c09012SAndroid Build Coastguard Workermessage Engine { 36*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 37*d5c09012SAndroid Build Coastguard Worker type: "discoveryengine.googleapis.com/Engine" 38*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}" 39*d5c09012SAndroid Build Coastguard Worker }; 40*d5c09012SAndroid Build Coastguard Worker 41*d5c09012SAndroid Build Coastguard Worker // Configurations for a Search Engine. 42*d5c09012SAndroid Build Coastguard Worker message SearchEngineConfig { 43*d5c09012SAndroid Build Coastguard Worker // The search feature tier of this engine. 44*d5c09012SAndroid Build Coastguard Worker // 45*d5c09012SAndroid Build Coastguard Worker // Different tiers might have different 46*d5c09012SAndroid Build Coastguard Worker // pricing. To learn more, check the pricing documentation. 47*d5c09012SAndroid Build Coastguard Worker // 48*d5c09012SAndroid Build Coastguard Worker // Defaults to 49*d5c09012SAndroid Build Coastguard Worker // [SearchTier.SEARCH_TIER_STANDARD][google.cloud.discoveryengine.v1alpha.SearchTier.SEARCH_TIER_STANDARD] 50*d5c09012SAndroid Build Coastguard Worker // if not specified. 51*d5c09012SAndroid Build Coastguard Worker SearchTier search_tier = 1; 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // The add-on that this search engine enables. 54*d5c09012SAndroid Build Coastguard Worker repeated SearchAddOn search_add_ons = 2; 55*d5c09012SAndroid Build Coastguard Worker } 56*d5c09012SAndroid Build Coastguard Worker 57*d5c09012SAndroid Build Coastguard Worker // Additional config specs for a `similar-items` engine. 58*d5c09012SAndroid Build Coastguard Worker message SimilarDocumentsEngineConfig {} 59*d5c09012SAndroid Build Coastguard Worker 60*d5c09012SAndroid Build Coastguard Worker // Additional config specs for a Media Recommendation engine. 61*d5c09012SAndroid Build Coastguard Worker message MediaRecommendationEngineConfig { 62*d5c09012SAndroid Build Coastguard Worker // Custom threshold for `cvr` optimization_objective. 63*d5c09012SAndroid Build Coastguard Worker message OptimizationObjectiveConfig { 64*d5c09012SAndroid Build Coastguard Worker // Required. The name of the field to target. Currently supported 65*d5c09012SAndroid Build Coastguard Worker // values: `watch-percentage`, `watch-time`. 66*d5c09012SAndroid Build Coastguard Worker string target_field = 1 [(google.api.field_behavior) = REQUIRED]; 67*d5c09012SAndroid Build Coastguard Worker 68*d5c09012SAndroid Build Coastguard Worker // Required. The threshold to be applied to the target (e.g., 0.5). 69*d5c09012SAndroid Build Coastguard Worker float target_field_value_float = 2 70*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 71*d5c09012SAndroid Build Coastguard Worker } 72*d5c09012SAndroid Build Coastguard Worker 73*d5c09012SAndroid Build Coastguard Worker // The training state of the engine. 74*d5c09012SAndroid Build Coastguard Worker enum TrainingState { 75*d5c09012SAndroid Build Coastguard Worker // Unspecified training state. 76*d5c09012SAndroid Build Coastguard Worker TRAINING_STATE_UNSPECIFIED = 0; 77*d5c09012SAndroid Build Coastguard Worker 78*d5c09012SAndroid Build Coastguard Worker // The engine training is paused. 79*d5c09012SAndroid Build Coastguard Worker PAUSED = 1; 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // The engine is training. 82*d5c09012SAndroid Build Coastguard Worker TRAINING = 2; 83*d5c09012SAndroid Build Coastguard Worker } 84*d5c09012SAndroid Build Coastguard Worker 85*d5c09012SAndroid Build Coastguard Worker // Required. The type of engine. e.g., `recommended-for-you`. 86*d5c09012SAndroid Build Coastguard Worker // 87*d5c09012SAndroid Build Coastguard Worker // This field together with 88*d5c09012SAndroid Build Coastguard Worker // [optimization_objective][Engine.optimization_objective] describe engine 89*d5c09012SAndroid Build Coastguard Worker // metadata to use to control engine training and serving. 90*d5c09012SAndroid Build Coastguard Worker // 91*d5c09012SAndroid Build Coastguard Worker // Currently supported values: `recommended-for-you`, `others-you-may-like`, 92*d5c09012SAndroid Build Coastguard Worker // `more-like-this`, `most-popular-items`. 93*d5c09012SAndroid Build Coastguard Worker string type = 1 [(google.api.field_behavior) = REQUIRED]; 94*d5c09012SAndroid Build Coastguard Worker 95*d5c09012SAndroid Build Coastguard Worker // The optimization objective. e.g., `cvr`. 96*d5c09012SAndroid Build Coastguard Worker // 97*d5c09012SAndroid Build Coastguard Worker // This field together with 98*d5c09012SAndroid Build Coastguard Worker // [optimization_objective][google.cloud.discoveryengine.v1alpha.Engine.MediaRecommendationEngineConfig.type] 99*d5c09012SAndroid Build Coastguard Worker // describe engine metadata to use to control engine training and serving. 100*d5c09012SAndroid Build Coastguard Worker // 101*d5c09012SAndroid Build Coastguard Worker // Currently supported 102*d5c09012SAndroid Build Coastguard Worker // values: `ctr`, `cvr`. 103*d5c09012SAndroid Build Coastguard Worker // 104*d5c09012SAndroid Build Coastguard Worker // If not specified, we choose default based on engine type. 105*d5c09012SAndroid Build Coastguard Worker // Default depends on type of recommendation: 106*d5c09012SAndroid Build Coastguard Worker // 107*d5c09012SAndroid Build Coastguard Worker // `recommended-for-you` => `ctr` 108*d5c09012SAndroid Build Coastguard Worker // 109*d5c09012SAndroid Build Coastguard Worker // `others-you-may-like` => `ctr` 110*d5c09012SAndroid Build Coastguard Worker string optimization_objective = 2; 111*d5c09012SAndroid Build Coastguard Worker 112*d5c09012SAndroid Build Coastguard Worker // Name and value of the custom threshold for cvr optimization_objective. 113*d5c09012SAndroid Build Coastguard Worker // For target_field `watch-time`, target_field_value must be an integer 114*d5c09012SAndroid Build Coastguard Worker // value indicating the media progress time in seconds between (0, 86400] 115*d5c09012SAndroid Build Coastguard Worker // (excludes 0, includes 86400) (e.g., 90). 116*d5c09012SAndroid Build Coastguard Worker // For target_field `watch-percentage`, the target_field_value must be a 117*d5c09012SAndroid Build Coastguard Worker // valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 118*d5c09012SAndroid Build Coastguard Worker // 0.5). 119*d5c09012SAndroid Build Coastguard Worker OptimizationObjectiveConfig optimization_objective_config = 3; 120*d5c09012SAndroid Build Coastguard Worker 121*d5c09012SAndroid Build Coastguard Worker // The training state that the engine is in (e.g. 122*d5c09012SAndroid Build Coastguard Worker // `TRAINING` or `PAUSED`). 123*d5c09012SAndroid Build Coastguard Worker // 124*d5c09012SAndroid Build Coastguard Worker // Since part of the cost of running the service 125*d5c09012SAndroid Build Coastguard Worker // is frequency of training - this can be used to determine when to train 126*d5c09012SAndroid Build Coastguard Worker // engine in order to control cost. If not specified: the default value for 127*d5c09012SAndroid Build Coastguard Worker // `CreateEngine` method is `TRAINING`. The default value for 128*d5c09012SAndroid Build Coastguard Worker // `UpdateEngine` method is to keep the state the same as before. 129*d5c09012SAndroid Build Coastguard Worker TrainingState training_state = 4; 130*d5c09012SAndroid Build Coastguard Worker } 131*d5c09012SAndroid Build Coastguard Worker 132*d5c09012SAndroid Build Coastguard Worker // Configurations for a Chat Engine. 133*d5c09012SAndroid Build Coastguard Worker message ChatEngineConfig { 134*d5c09012SAndroid Build Coastguard Worker // Configurations for generating a Dialogflow agent. 135*d5c09012SAndroid Build Coastguard Worker // 136*d5c09012SAndroid Build Coastguard Worker // Note that these configurations are one-time consumed by 137*d5c09012SAndroid Build Coastguard Worker // and passed to Dialogflow service. It means they cannot be retrieved using 138*d5c09012SAndroid Build Coastguard Worker // [EngineService.GetEngine][google.cloud.discoveryengine.v1alpha.EngineService.GetEngine] 139*d5c09012SAndroid Build Coastguard Worker // or 140*d5c09012SAndroid Build Coastguard Worker // [EngineService.ListEngines][google.cloud.discoveryengine.v1alpha.EngineService.ListEngines] 141*d5c09012SAndroid Build Coastguard Worker // API after engine creation. 142*d5c09012SAndroid Build Coastguard Worker message AgentCreationConfig { 143*d5c09012SAndroid Build Coastguard Worker // Name of the company, organization or other entity that the agent 144*d5c09012SAndroid Build Coastguard Worker // represents. Used for knowledge connector LLM prompt and for knowledge 145*d5c09012SAndroid Build Coastguard Worker // search. 146*d5c09012SAndroid Build Coastguard Worker string business = 1; 147*d5c09012SAndroid Build Coastguard Worker 148*d5c09012SAndroid Build Coastguard Worker // Required. The default language of the agent as a language tag. 149*d5c09012SAndroid Build Coastguard Worker // See [Language 150*d5c09012SAndroid Build Coastguard Worker // Support](https://cloud.google.com/dialogflow/docs/reference/language) 151*d5c09012SAndroid Build Coastguard Worker // for a list of the currently supported language codes. 152*d5c09012SAndroid Build Coastguard Worker string default_language_code = 2; 153*d5c09012SAndroid Build Coastguard Worker 154*d5c09012SAndroid Build Coastguard Worker // Required. The time zone of the agent from the [time zone 155*d5c09012SAndroid Build Coastguard Worker // database](https://www.iana.org/time-zones), e.g., America/New_York, 156*d5c09012SAndroid Build Coastguard Worker // Europe/Paris. 157*d5c09012SAndroid Build Coastguard Worker string time_zone = 3 [(google.api.field_behavior) = REQUIRED]; 158*d5c09012SAndroid Build Coastguard Worker 159*d5c09012SAndroid Build Coastguard Worker // Agent location for Agent creation, supported values: global/us/eu. 160*d5c09012SAndroid Build Coastguard Worker // If not provided, us Engine will create Agent using us-central-1 by 161*d5c09012SAndroid Build Coastguard Worker // default; eu Engine will create Agent using eu-west-1 by default. 162*d5c09012SAndroid Build Coastguard Worker string location = 4; 163*d5c09012SAndroid Build Coastguard Worker } 164*d5c09012SAndroid Build Coastguard Worker 165*d5c09012SAndroid Build Coastguard Worker // The configurationt generate the Dialogflow agent that is associated to 166*d5c09012SAndroid Build Coastguard Worker // this Engine. 167*d5c09012SAndroid Build Coastguard Worker // 168*d5c09012SAndroid Build Coastguard Worker // Note that these configurations are one-time consumed by 169*d5c09012SAndroid Build Coastguard Worker // and passed to Dialogflow service. It means they cannot be retrieved using 170*d5c09012SAndroid Build Coastguard Worker // [EngineService.GetEngine][google.cloud.discoveryengine.v1alpha.EngineService.GetEngine] 171*d5c09012SAndroid Build Coastguard Worker // or 172*d5c09012SAndroid Build Coastguard Worker // [EngineService.ListEngines][google.cloud.discoveryengine.v1alpha.EngineService.ListEngines] 173*d5c09012SAndroid Build Coastguard Worker // API after engine creation. 174*d5c09012SAndroid Build Coastguard Worker AgentCreationConfig agent_creation_config = 1; 175*d5c09012SAndroid Build Coastguard Worker 176*d5c09012SAndroid Build Coastguard Worker // The resource name of an exist Dialogflow agent to link to this Chat 177*d5c09012SAndroid Build Coastguard Worker // Engine. Customers can either provide `agent_creation_config` to create 178*d5c09012SAndroid Build Coastguard Worker // agent or provide an agent name that links the agent with the Chat engine. 179*d5c09012SAndroid Build Coastguard Worker // 180*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 181*d5c09012SAndroid Build Coastguard Worker // ID>`. 182*d5c09012SAndroid Build Coastguard Worker // 183*d5c09012SAndroid Build Coastguard Worker // Note that the `dialogflow_agent_to_link` are one-time consumed by and 184*d5c09012SAndroid Build Coastguard Worker // passed to Dialogflow service. It means they cannot be retrieved using 185*d5c09012SAndroid Build Coastguard Worker // [EngineService.GetEngine][google.cloud.discoveryengine.v1alpha.EngineService.GetEngine] 186*d5c09012SAndroid Build Coastguard Worker // or 187*d5c09012SAndroid Build Coastguard Worker // [EngineService.ListEngines][google.cloud.discoveryengine.v1alpha.EngineService.ListEngines] 188*d5c09012SAndroid Build Coastguard Worker // API after engine creation. Use 189*d5c09012SAndroid Build Coastguard Worker // [ChatEngineMetadata.dialogflow_agent][google.cloud.discoveryengine.v1alpha.Engine.ChatEngineMetadata.dialogflow_agent] 190*d5c09012SAndroid Build Coastguard Worker // for actual agent association after Engine is created. 191*d5c09012SAndroid Build Coastguard Worker string dialogflow_agent_to_link = 2; 192*d5c09012SAndroid Build Coastguard Worker } 193*d5c09012SAndroid Build Coastguard Worker 194*d5c09012SAndroid Build Coastguard Worker // Common configurations for an Engine. 195*d5c09012SAndroid Build Coastguard Worker message CommonConfig { 196*d5c09012SAndroid Build Coastguard Worker // Immutable. The name of the company, business or entity that is associated 197*d5c09012SAndroid Build Coastguard Worker // with the engine. Setting this may help improve LLM related features. 198*d5c09012SAndroid Build Coastguard Worker string company_name = 1 [(google.api.field_behavior) = IMMUTABLE]; 199*d5c09012SAndroid Build Coastguard Worker } 200*d5c09012SAndroid Build Coastguard Worker 201*d5c09012SAndroid Build Coastguard Worker // Additional information of a recommendation engine. 202*d5c09012SAndroid Build Coastguard Worker message RecommendationMetadata { 203*d5c09012SAndroid Build Coastguard Worker // The serving state of the recommendation engine. 204*d5c09012SAndroid Build Coastguard Worker enum ServingState { 205*d5c09012SAndroid Build Coastguard Worker // Unspecified serving state. 206*d5c09012SAndroid Build Coastguard Worker SERVING_STATE_UNSPECIFIED = 0; 207*d5c09012SAndroid Build Coastguard Worker 208*d5c09012SAndroid Build Coastguard Worker // The engine is not serving. 209*d5c09012SAndroid Build Coastguard Worker INACTIVE = 1; 210*d5c09012SAndroid Build Coastguard Worker 211*d5c09012SAndroid Build Coastguard Worker // The engine is serving and can be queried. 212*d5c09012SAndroid Build Coastguard Worker ACTIVE = 2; 213*d5c09012SAndroid Build Coastguard Worker 214*d5c09012SAndroid Build Coastguard Worker // The engine is trained on tuned hyperparameters and can be 215*d5c09012SAndroid Build Coastguard Worker // queried. 216*d5c09012SAndroid Build Coastguard Worker TUNED = 3; 217*d5c09012SAndroid Build Coastguard Worker } 218*d5c09012SAndroid Build Coastguard Worker 219*d5c09012SAndroid Build Coastguard Worker // Describes whether this engine have sufficient training data 220*d5c09012SAndroid Build Coastguard Worker // to be continuously trained. 221*d5c09012SAndroid Build Coastguard Worker enum DataState { 222*d5c09012SAndroid Build Coastguard Worker // Unspecified default value, should never be explicitly set. 223*d5c09012SAndroid Build Coastguard Worker DATA_STATE_UNSPECIFIED = 0; 224*d5c09012SAndroid Build Coastguard Worker 225*d5c09012SAndroid Build Coastguard Worker // The engine has sufficient training data. 226*d5c09012SAndroid Build Coastguard Worker DATA_OK = 1; 227*d5c09012SAndroid Build Coastguard Worker 228*d5c09012SAndroid Build Coastguard Worker // The engine does not have sufficient training data. Error 229*d5c09012SAndroid Build Coastguard Worker // messages can be queried via Stackdriver. 230*d5c09012SAndroid Build Coastguard Worker DATA_ERROR = 2; 231*d5c09012SAndroid Build Coastguard Worker } 232*d5c09012SAndroid Build Coastguard Worker 233*d5c09012SAndroid Build Coastguard Worker // Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`. 234*d5c09012SAndroid Build Coastguard Worker ServingState serving_state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 235*d5c09012SAndroid Build Coastguard Worker 236*d5c09012SAndroid Build Coastguard Worker // Output only. The state of data requirements for this engine: `DATA_OK` 237*d5c09012SAndroid Build Coastguard Worker // and `DATA_ERROR`. 238*d5c09012SAndroid Build Coastguard Worker // 239*d5c09012SAndroid Build Coastguard Worker // Engine cannot be trained if the data is in 240*d5c09012SAndroid Build Coastguard Worker // `DATA_ERROR` state. Engine can have `DATA_ERROR` state even 241*d5c09012SAndroid Build Coastguard Worker // if serving state is `ACTIVE`: engines were trained successfully before, 242*d5c09012SAndroid Build Coastguard Worker // but cannot be refreshed because the underlying engine no longer has 243*d5c09012SAndroid Build Coastguard Worker // sufficient data for training. 244*d5c09012SAndroid Build Coastguard Worker DataState data_state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 245*d5c09012SAndroid Build Coastguard Worker 246*d5c09012SAndroid Build Coastguard Worker // Output only. The timestamp when the latest successful tune finished. Only 247*d5c09012SAndroid Build Coastguard Worker // applicable on Media Recommendation engines. 248*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp last_tune_time = 3 249*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 250*d5c09012SAndroid Build Coastguard Worker 251*d5c09012SAndroid Build Coastguard Worker // Output only. The latest tune operation id associated with the engine. 252*d5c09012SAndroid Build Coastguard Worker // Only applicable on Media Recommendation engines. 253*d5c09012SAndroid Build Coastguard Worker // 254*d5c09012SAndroid Build Coastguard Worker // If present, this operation id can be used to determine if there is an 255*d5c09012SAndroid Build Coastguard Worker // ongoing tune for this engine. To check the operation status, send the 256*d5c09012SAndroid Build Coastguard Worker // GetOperation request with this operation id in the engine resource 257*d5c09012SAndroid Build Coastguard Worker // format. If no tuning has happened for this engine, the string is empty. 258*d5c09012SAndroid Build Coastguard Worker string tuning_operation = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 259*d5c09012SAndroid Build Coastguard Worker } 260*d5c09012SAndroid Build Coastguard Worker 261*d5c09012SAndroid Build Coastguard Worker // Additional information of a Chat Engine. 262*d5c09012SAndroid Build Coastguard Worker // Fields in this message are output only. 263*d5c09012SAndroid Build Coastguard Worker message ChatEngineMetadata { 264*d5c09012SAndroid Build Coastguard Worker // The resource name of a Dialogflow agent, that this Chat Engine refers 265*d5c09012SAndroid Build Coastguard Worker // to. 266*d5c09012SAndroid Build Coastguard Worker // 267*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 268*d5c09012SAndroid Build Coastguard Worker // ID>`. 269*d5c09012SAndroid Build Coastguard Worker string dialogflow_agent = 1; 270*d5c09012SAndroid Build Coastguard Worker } 271*d5c09012SAndroid Build Coastguard Worker 272*d5c09012SAndroid Build Coastguard Worker // Additional config specs that defines the behavior of the engine. 273*d5c09012SAndroid Build Coastguard Worker oneof engine_config { 274*d5c09012SAndroid Build Coastguard Worker // Additional config specs for a `similar-items` engine. 275*d5c09012SAndroid Build Coastguard Worker SimilarDocumentsEngineConfig similar_documents_config = 9; 276*d5c09012SAndroid Build Coastguard Worker 277*d5c09012SAndroid Build Coastguard Worker // Configurations for the Chat Engine. Only applicable if 278*d5c09012SAndroid Build Coastguard Worker // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] 279*d5c09012SAndroid Build Coastguard Worker // is 280*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_CHAT]. 281*d5c09012SAndroid Build Coastguard Worker ChatEngineConfig chat_engine_config = 11; 282*d5c09012SAndroid Build Coastguard Worker 283*d5c09012SAndroid Build Coastguard Worker // Configurations for the Search Engine. Only applicable if 284*d5c09012SAndroid Build Coastguard Worker // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] 285*d5c09012SAndroid Build Coastguard Worker // is 286*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_SEARCH]. 287*d5c09012SAndroid Build Coastguard Worker SearchEngineConfig search_engine_config = 13; 288*d5c09012SAndroid Build Coastguard Worker 289*d5c09012SAndroid Build Coastguard Worker // Configurations for the Media Engine. Only applicable on the data 290*d5c09012SAndroid Build Coastguard Worker // stores with 291*d5c09012SAndroid Build Coastguard Worker // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] 292*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_RECOMMENDATION] 293*d5c09012SAndroid Build Coastguard Worker // and 294*d5c09012SAndroid Build Coastguard Worker // [IndustryVertical.MEDIA][google.cloud.discoveryengine.v1alpha.IndustryVertical.MEDIA] 295*d5c09012SAndroid Build Coastguard Worker // vertical. 296*d5c09012SAndroid Build Coastguard Worker MediaRecommendationEngineConfig media_recommendation_engine_config = 14; 297*d5c09012SAndroid Build Coastguard Worker } 298*d5c09012SAndroid Build Coastguard Worker 299*d5c09012SAndroid Build Coastguard Worker // Engine metadata to monitor the status of the engine. 300*d5c09012SAndroid Build Coastguard Worker oneof engine_metadata { 301*d5c09012SAndroid Build Coastguard Worker // Output only. Additional information of a recommendation engine. Only 302*d5c09012SAndroid Build Coastguard Worker // applicable if 303*d5c09012SAndroid Build Coastguard Worker // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] 304*d5c09012SAndroid Build Coastguard Worker // is 305*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_RECOMMENDATION]. 306*d5c09012SAndroid Build Coastguard Worker RecommendationMetadata recommendation_metadata = 10 307*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 308*d5c09012SAndroid Build Coastguard Worker 309*d5c09012SAndroid Build Coastguard Worker // Output only. Additional information of the Chat Engine. Only applicable 310*d5c09012SAndroid Build Coastguard Worker // if 311*d5c09012SAndroid Build Coastguard Worker // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] 312*d5c09012SAndroid Build Coastguard Worker // is 313*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_CHAT]. 314*d5c09012SAndroid Build Coastguard Worker ChatEngineMetadata chat_engine_metadata = 12 315*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 316*d5c09012SAndroid Build Coastguard Worker } 317*d5c09012SAndroid Build Coastguard Worker 318*d5c09012SAndroid Build Coastguard Worker // Immutable. The fully qualified resource name of the engine. 319*d5c09012SAndroid Build Coastguard Worker // 320*d5c09012SAndroid Build Coastguard Worker // This field must be a UTF-8 encoded string with a length limit of 1024 321*d5c09012SAndroid Build Coastguard Worker // characters. 322*d5c09012SAndroid Build Coastguard Worker // 323*d5c09012SAndroid Build Coastguard Worker // Format: 324*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location}/collections/{collection}/engines/{engine}` 325*d5c09012SAndroid Build Coastguard Worker // engine should be 1-63 characters, and valid characters are 326*d5c09012SAndroid Build Coastguard Worker // /[a-z0-9][a-z0-9-_]*/. Otherwise, an INVALID_ARGUMENT error is returned. 327*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IMMUTABLE]; 328*d5c09012SAndroid Build Coastguard Worker 329*d5c09012SAndroid Build Coastguard Worker // Required. The display name of the engine. Should be human readable. UTF-8 330*d5c09012SAndroid Build Coastguard Worker // encoded string with limit of 1024 characters. 331*d5c09012SAndroid Build Coastguard Worker string display_name = 2 [(google.api.field_behavior) = REQUIRED]; 332*d5c09012SAndroid Build Coastguard Worker 333*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp the Recommendation Engine was created at. 334*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 3 335*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 336*d5c09012SAndroid Build Coastguard Worker 337*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp the Recommendation Engine was last updated. 338*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 4 339*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 340*d5c09012SAndroid Build Coastguard Worker 341*d5c09012SAndroid Build Coastguard Worker // The data stores associated with this engine. 342*d5c09012SAndroid Build Coastguard Worker // 343*d5c09012SAndroid Build Coastguard Worker // For 344*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_SEARCH] 345*d5c09012SAndroid Build Coastguard Worker // and 346*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_RECOMMENDATION] 347*d5c09012SAndroid Build Coastguard Worker // type of engines, they can only associate with at most one data store. 348*d5c09012SAndroid Build Coastguard Worker // 349*d5c09012SAndroid Build Coastguard Worker // If 350*d5c09012SAndroid Build Coastguard Worker // [solution_type][google.cloud.discoveryengine.v1alpha.Engine.solution_type] 351*d5c09012SAndroid Build Coastguard Worker // is 352*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_CHAT], 353*d5c09012SAndroid Build Coastguard Worker // multiple [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]s in 354*d5c09012SAndroid Build Coastguard Worker // the same [Collection][google.cloud.discoveryengine.v1alpha.Collection] can 355*d5c09012SAndroid Build Coastguard Worker // be associated here. 356*d5c09012SAndroid Build Coastguard Worker // 357*d5c09012SAndroid Build Coastguard Worker // Note that when used in 358*d5c09012SAndroid Build Coastguard Worker // [CreateEngineRequest][google.cloud.discoveryengine.v1alpha.CreateEngineRequest], 359*d5c09012SAndroid Build Coastguard Worker // one DataStore id must be provided as the system will use it for necessary 360*d5c09012SAndroid Build Coastguard Worker // initializations. 361*d5c09012SAndroid Build Coastguard Worker repeated string data_store_ids = 5; 362*d5c09012SAndroid Build Coastguard Worker 363*d5c09012SAndroid Build Coastguard Worker // Required. The solutions of the engine. 364*d5c09012SAndroid Build Coastguard Worker SolutionType solution_type = 6 [(google.api.field_behavior) = REQUIRED]; 365*d5c09012SAndroid Build Coastguard Worker 366*d5c09012SAndroid Build Coastguard Worker // The industry vertical that the engine registers. 367*d5c09012SAndroid Build Coastguard Worker // The restriction of the Engine industry vertical is based on 368*d5c09012SAndroid Build Coastguard Worker // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore]: If 369*d5c09012SAndroid Build Coastguard Worker // unspecified, default to `GENERIC`. Vertical on Engine has to match vertical 370*d5c09012SAndroid Build Coastguard Worker // of the DataStore liniked to the engine. 371*d5c09012SAndroid Build Coastguard Worker IndustryVertical industry_vertical = 16; 372*d5c09012SAndroid Build Coastguard Worker 373*d5c09012SAndroid Build Coastguard Worker // Common config spec that specifies the metadata of the engine. 374*d5c09012SAndroid Build Coastguard Worker CommonConfig common_config = 15; 375*d5c09012SAndroid Build Coastguard Worker} 376