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.v1beta; 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/v1beta/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.V1Beta"; 25*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/discoveryengine/apiv1beta/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.v1beta"; 29*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DISCOVERYENGINE"; 30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; 31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; 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.v1beta.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.v1beta.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 // Configurations for a Chat Engine. 58*d5c09012SAndroid Build Coastguard Worker message ChatEngineConfig { 59*d5c09012SAndroid Build Coastguard Worker // Configurations for generating a Dialogflow agent. 60*d5c09012SAndroid Build Coastguard Worker // 61*d5c09012SAndroid Build Coastguard Worker // Note that these configurations are one-time consumed by 62*d5c09012SAndroid Build Coastguard Worker // and passed to Dialogflow service. It means they cannot be retrieved using 63*d5c09012SAndroid Build Coastguard Worker // [EngineService.GetEngine][google.cloud.discoveryengine.v1beta.EngineService.GetEngine] 64*d5c09012SAndroid Build Coastguard Worker // or 65*d5c09012SAndroid Build Coastguard Worker // [EngineService.ListEngines][google.cloud.discoveryengine.v1beta.EngineService.ListEngines] 66*d5c09012SAndroid Build Coastguard Worker // API after engine creation. 67*d5c09012SAndroid Build Coastguard Worker message AgentCreationConfig { 68*d5c09012SAndroid Build Coastguard Worker // Name of the company, organization or other entity that the agent 69*d5c09012SAndroid Build Coastguard Worker // represents. Used for knowledge connector LLM prompt and for knowledge 70*d5c09012SAndroid Build Coastguard Worker // search. 71*d5c09012SAndroid Build Coastguard Worker string business = 1; 72*d5c09012SAndroid Build Coastguard Worker 73*d5c09012SAndroid Build Coastguard Worker // Required. The default language of the agent as a language tag. 74*d5c09012SAndroid Build Coastguard Worker // See [Language 75*d5c09012SAndroid Build Coastguard Worker // Support](https://cloud.google.com/dialogflow/docs/reference/language) 76*d5c09012SAndroid Build Coastguard Worker // for a list of the currently supported language codes. 77*d5c09012SAndroid Build Coastguard Worker string default_language_code = 2; 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker // Required. The time zone of the agent from the [time zone 80*d5c09012SAndroid Build Coastguard Worker // database](https://www.iana.org/time-zones), e.g., America/New_York, 81*d5c09012SAndroid Build Coastguard Worker // Europe/Paris. 82*d5c09012SAndroid Build Coastguard Worker string time_zone = 3 [(google.api.field_behavior) = REQUIRED]; 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // Agent location for Agent creation, supported values: global/us/eu. 85*d5c09012SAndroid Build Coastguard Worker // If not provided, us Engine will create Agent using us-central-1 by 86*d5c09012SAndroid Build Coastguard Worker // default; eu Engine will create Agent using eu-west-1 by default. 87*d5c09012SAndroid Build Coastguard Worker string location = 4; 88*d5c09012SAndroid Build Coastguard Worker } 89*d5c09012SAndroid Build Coastguard Worker 90*d5c09012SAndroid Build Coastguard Worker // The configurationt generate the Dialogflow agent that is associated to 91*d5c09012SAndroid Build Coastguard Worker // this Engine. 92*d5c09012SAndroid Build Coastguard Worker // 93*d5c09012SAndroid Build Coastguard Worker // Note that these configurations are one-time consumed by 94*d5c09012SAndroid Build Coastguard Worker // and passed to Dialogflow service. It means they cannot be retrieved using 95*d5c09012SAndroid Build Coastguard Worker // [EngineService.GetEngine][google.cloud.discoveryengine.v1beta.EngineService.GetEngine] 96*d5c09012SAndroid Build Coastguard Worker // or 97*d5c09012SAndroid Build Coastguard Worker // [EngineService.ListEngines][google.cloud.discoveryengine.v1beta.EngineService.ListEngines] 98*d5c09012SAndroid Build Coastguard Worker // API after engine creation. 99*d5c09012SAndroid Build Coastguard Worker AgentCreationConfig agent_creation_config = 1; 100*d5c09012SAndroid Build Coastguard Worker 101*d5c09012SAndroid Build Coastguard Worker // The resource name of an exist Dialogflow agent to link to this Chat 102*d5c09012SAndroid Build Coastguard Worker // Engine. Customers can either provide `agent_creation_config` to create 103*d5c09012SAndroid Build Coastguard Worker // agent or provide an agent name that links the agent with the Chat engine. 104*d5c09012SAndroid Build Coastguard Worker // 105*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 106*d5c09012SAndroid Build Coastguard Worker // ID>`. 107*d5c09012SAndroid Build Coastguard Worker // 108*d5c09012SAndroid Build Coastguard Worker // Note that the `dialogflow_agent_to_link` are one-time consumed by and 109*d5c09012SAndroid Build Coastguard Worker // passed to Dialogflow service. It means they cannot be retrieved using 110*d5c09012SAndroid Build Coastguard Worker // [EngineService.GetEngine][google.cloud.discoveryengine.v1beta.EngineService.GetEngine] 111*d5c09012SAndroid Build Coastguard Worker // or 112*d5c09012SAndroid Build Coastguard Worker // [EngineService.ListEngines][google.cloud.discoveryengine.v1beta.EngineService.ListEngines] 113*d5c09012SAndroid Build Coastguard Worker // API after engine creation. Use 114*d5c09012SAndroid Build Coastguard Worker // [ChatEngineMetadata.dialogflow_agent][google.cloud.discoveryengine.v1beta.Engine.ChatEngineMetadata.dialogflow_agent] 115*d5c09012SAndroid Build Coastguard Worker // for actual agent association after Engine is created. 116*d5c09012SAndroid Build Coastguard Worker string dialogflow_agent_to_link = 2; 117*d5c09012SAndroid Build Coastguard Worker } 118*d5c09012SAndroid Build Coastguard Worker 119*d5c09012SAndroid Build Coastguard Worker // Common configurations for an Engine. 120*d5c09012SAndroid Build Coastguard Worker message CommonConfig { 121*d5c09012SAndroid Build Coastguard Worker // Immutable. The name of the company, business or entity that is associated 122*d5c09012SAndroid Build Coastguard Worker // with the engine. Setting this may help improve LLM related features. 123*d5c09012SAndroid Build Coastguard Worker string company_name = 1 [(google.api.field_behavior) = IMMUTABLE]; 124*d5c09012SAndroid Build Coastguard Worker } 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Additional information of a Chat Engine. 127*d5c09012SAndroid Build Coastguard Worker // Fields in this message are output only. 128*d5c09012SAndroid Build Coastguard Worker message ChatEngineMetadata { 129*d5c09012SAndroid Build Coastguard Worker // The resource name of a Dialogflow agent, that this Chat Engine refers 130*d5c09012SAndroid Build Coastguard Worker // to. 131*d5c09012SAndroid Build Coastguard Worker // 132*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 133*d5c09012SAndroid Build Coastguard Worker // ID>`. 134*d5c09012SAndroid Build Coastguard Worker string dialogflow_agent = 1; 135*d5c09012SAndroid Build Coastguard Worker } 136*d5c09012SAndroid Build Coastguard Worker 137*d5c09012SAndroid Build Coastguard Worker // Additional config specs that defines the behavior of the engine. 138*d5c09012SAndroid Build Coastguard Worker oneof engine_config { 139*d5c09012SAndroid Build Coastguard Worker // Configurations for the Chat Engine. Only applicable if 140*d5c09012SAndroid Build Coastguard Worker // [solution_type][google.cloud.discoveryengine.v1beta.Engine.solution_type] 141*d5c09012SAndroid Build Coastguard Worker // is 142*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_CHAT]. 143*d5c09012SAndroid Build Coastguard Worker ChatEngineConfig chat_engine_config = 11; 144*d5c09012SAndroid Build Coastguard Worker 145*d5c09012SAndroid Build Coastguard Worker // Configurations for the Search Engine. Only applicable if 146*d5c09012SAndroid Build Coastguard Worker // [solution_type][google.cloud.discoveryengine.v1beta.Engine.solution_type] 147*d5c09012SAndroid Build Coastguard Worker // is 148*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH]. 149*d5c09012SAndroid Build Coastguard Worker SearchEngineConfig search_engine_config = 13; 150*d5c09012SAndroid Build Coastguard Worker } 151*d5c09012SAndroid Build Coastguard Worker 152*d5c09012SAndroid Build Coastguard Worker // Engine metadata to monitor the status of the engine. 153*d5c09012SAndroid Build Coastguard Worker oneof engine_metadata { 154*d5c09012SAndroid Build Coastguard Worker // Output only. Additional information of the Chat Engine. Only applicable 155*d5c09012SAndroid Build Coastguard Worker // if 156*d5c09012SAndroid Build Coastguard Worker // [solution_type][google.cloud.discoveryengine.v1beta.Engine.solution_type] 157*d5c09012SAndroid Build Coastguard Worker // is 158*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_CHAT]. 159*d5c09012SAndroid Build Coastguard Worker ChatEngineMetadata chat_engine_metadata = 12 160*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 161*d5c09012SAndroid Build Coastguard Worker } 162*d5c09012SAndroid Build Coastguard Worker 163*d5c09012SAndroid Build Coastguard Worker // Immutable. The fully qualified resource name of the engine. 164*d5c09012SAndroid Build Coastguard Worker // 165*d5c09012SAndroid Build Coastguard Worker // This field must be a UTF-8 encoded string with a length limit of 1024 166*d5c09012SAndroid Build Coastguard Worker // characters. 167*d5c09012SAndroid Build Coastguard Worker // 168*d5c09012SAndroid Build Coastguard Worker // Format: 169*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location}/collections/{collection}/engines/{engine}` 170*d5c09012SAndroid Build Coastguard Worker // engine should be 1-63 characters, and valid characters are 171*d5c09012SAndroid Build Coastguard Worker // /[a-z0-9][a-z0-9-_]*/. Otherwise, an INVALID_ARGUMENT error is returned. 172*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IMMUTABLE]; 173*d5c09012SAndroid Build Coastguard Worker 174*d5c09012SAndroid Build Coastguard Worker // Required. The display name of the engine. Should be human readable. UTF-8 175*d5c09012SAndroid Build Coastguard Worker // encoded string with limit of 1024 characters. 176*d5c09012SAndroid Build Coastguard Worker string display_name = 2 [(google.api.field_behavior) = REQUIRED]; 177*d5c09012SAndroid Build Coastguard Worker 178*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp the Recommendation Engine was created at. 179*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 3 180*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 181*d5c09012SAndroid Build Coastguard Worker 182*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp the Recommendation Engine was last updated. 183*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 4 184*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 185*d5c09012SAndroid Build Coastguard Worker 186*d5c09012SAndroid Build Coastguard Worker // The data stores associated with this engine. 187*d5c09012SAndroid Build Coastguard Worker // 188*d5c09012SAndroid Build Coastguard Worker // For 189*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH] 190*d5c09012SAndroid Build Coastguard Worker // and 191*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_RECOMMENDATION] 192*d5c09012SAndroid Build Coastguard Worker // type of engines, they can only associate with at most one data store. 193*d5c09012SAndroid Build Coastguard Worker // 194*d5c09012SAndroid Build Coastguard Worker // If 195*d5c09012SAndroid Build Coastguard Worker // [solution_type][google.cloud.discoveryengine.v1beta.Engine.solution_type] 196*d5c09012SAndroid Build Coastguard Worker // is 197*d5c09012SAndroid Build Coastguard Worker // [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_CHAT], 198*d5c09012SAndroid Build Coastguard Worker // multiple [DataStore][google.cloud.discoveryengine.v1beta.DataStore]s in the 199*d5c09012SAndroid Build Coastguard Worker // same [Collection][google.cloud.discoveryengine.v1beta.Collection] can be 200*d5c09012SAndroid Build Coastguard Worker // associated here. 201*d5c09012SAndroid Build Coastguard Worker // 202*d5c09012SAndroid Build Coastguard Worker // Note that when used in 203*d5c09012SAndroid Build Coastguard Worker // [CreateEngineRequest][google.cloud.discoveryengine.v1beta.CreateEngineRequest], 204*d5c09012SAndroid Build Coastguard Worker // one DataStore id must be provided as the system will use it for necessary 205*d5c09012SAndroid Build Coastguard Worker // initializations. 206*d5c09012SAndroid Build Coastguard Worker repeated string data_store_ids = 5; 207*d5c09012SAndroid Build Coastguard Worker 208*d5c09012SAndroid Build Coastguard Worker // Required. The solutions of the engine. 209*d5c09012SAndroid Build Coastguard Worker SolutionType solution_type = 6 [(google.api.field_behavior) = REQUIRED]; 210*d5c09012SAndroid Build Coastguard Worker 211*d5c09012SAndroid Build Coastguard Worker // The industry vertical that the engine registers. 212*d5c09012SAndroid Build Coastguard Worker // The restriction of the Engine industry vertical is based on 213*d5c09012SAndroid Build Coastguard Worker // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]: If unspecified, 214*d5c09012SAndroid Build Coastguard Worker // default to `GENERIC`. Vertical on Engine has to match vertical of the 215*d5c09012SAndroid Build Coastguard Worker // DataStore liniked to the engine. 216*d5c09012SAndroid Build Coastguard Worker IndustryVertical industry_vertical = 16; 217*d5c09012SAndroid Build Coastguard Worker 218*d5c09012SAndroid Build Coastguard Worker // Common config spec that specifies the metadata of the engine. 219*d5c09012SAndroid Build Coastguard Worker CommonConfig common_config = 15; 220*d5c09012SAndroid Build Coastguard Worker} 221