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/resource.proto"; 20*d5c09012SAndroid Build Coastguard Worker 21*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta"; 22*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb"; 23*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 24*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "CommonProto"; 25*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.discoveryengine.v1beta"; 26*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DISCOVERYENGINE"; 27*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta"; 28*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::DiscoveryEngine::V1beta"; 29*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 30*d5c09012SAndroid Build Coastguard Worker type: "discoveryengine.googleapis.com/Branch" 31*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}" 32*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}" 33*d5c09012SAndroid Build Coastguard Worker}; 34*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 35*d5c09012SAndroid Build Coastguard Worker type: "discoveryengine.googleapis.com/Collection" 36*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/collections/{collection}" 37*d5c09012SAndroid Build Coastguard Worker}; 38*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 39*d5c09012SAndroid Build Coastguard Worker type: "discoveryengine.googleapis.com/Location" 40*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}" 41*d5c09012SAndroid Build Coastguard Worker}; 42*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 43*d5c09012SAndroid Build Coastguard Worker type: "discoveryengine.googleapis.com/GroundingConfig" 44*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/groundingConfigs/{grounding_config}" 45*d5c09012SAndroid Build Coastguard Worker}; 46*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 47*d5c09012SAndroid Build Coastguard Worker type: "discoveryengine.googleapis.com/RankingConfig" 48*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/rankingConfigs/{ranking_config}" 49*d5c09012SAndroid Build Coastguard Worker}; 50*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 51*d5c09012SAndroid Build Coastguard Worker type: "healthcare.googleapis.com/FhirStore" 52*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}" 53*d5c09012SAndroid Build Coastguard Worker}; 54*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 55*d5c09012SAndroid Build Coastguard Worker type: "discoveryengine.googleapis.com/Chunk" 56*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}/documents/{document}/chunks/{chunk}" 57*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}/chunks/{chunk}" 58*d5c09012SAndroid Build Coastguard Worker}; 59*d5c09012SAndroid Build Coastguard Worker 60*d5c09012SAndroid Build Coastguard Worker// The industry vertical associated with the 61*d5c09012SAndroid Build Coastguard Worker// [DataStore][google.cloud.discoveryengine.v1beta.DataStore]. 62*d5c09012SAndroid Build Coastguard Workerenum IndustryVertical { 63*d5c09012SAndroid Build Coastguard Worker // Value used when unset. 64*d5c09012SAndroid Build Coastguard Worker INDUSTRY_VERTICAL_UNSPECIFIED = 0; 65*d5c09012SAndroid Build Coastguard Worker 66*d5c09012SAndroid Build Coastguard Worker // The generic vertical for documents that are not specific to any industry 67*d5c09012SAndroid Build Coastguard Worker // vertical. 68*d5c09012SAndroid Build Coastguard Worker GENERIC = 1; 69*d5c09012SAndroid Build Coastguard Worker 70*d5c09012SAndroid Build Coastguard Worker // The media industry vertical. 71*d5c09012SAndroid Build Coastguard Worker MEDIA = 2; 72*d5c09012SAndroid Build Coastguard Worker 73*d5c09012SAndroid Build Coastguard Worker // The healthcare FHIR vertical. 74*d5c09012SAndroid Build Coastguard Worker HEALTHCARE_FHIR = 7; 75*d5c09012SAndroid Build Coastguard Worker} 76*d5c09012SAndroid Build Coastguard Worker 77*d5c09012SAndroid Build Coastguard Worker// The type of solution. 78*d5c09012SAndroid Build Coastguard Workerenum SolutionType { 79*d5c09012SAndroid Build Coastguard Worker // Default value. 80*d5c09012SAndroid Build Coastguard Worker SOLUTION_TYPE_UNSPECIFIED = 0; 81*d5c09012SAndroid Build Coastguard Worker 82*d5c09012SAndroid Build Coastguard Worker // Used for Recommendations AI. 83*d5c09012SAndroid Build Coastguard Worker SOLUTION_TYPE_RECOMMENDATION = 1; 84*d5c09012SAndroid Build Coastguard Worker 85*d5c09012SAndroid Build Coastguard Worker // Used for Discovery Search. 86*d5c09012SAndroid Build Coastguard Worker SOLUTION_TYPE_SEARCH = 2; 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker // Used for use cases related to the Generative AI agent. 89*d5c09012SAndroid Build Coastguard Worker SOLUTION_TYPE_CHAT = 3; 90*d5c09012SAndroid Build Coastguard Worker 91*d5c09012SAndroid Build Coastguard Worker // Used for use cases related to the Generative Chat agent. 92*d5c09012SAndroid Build Coastguard Worker // It's used for Generative chat engine only, the associated data stores 93*d5c09012SAndroid Build Coastguard Worker // must enrolled with `SOLUTION_TYPE_CHAT` solution. 94*d5c09012SAndroid Build Coastguard Worker SOLUTION_TYPE_GENERATIVE_CHAT = 4; 95*d5c09012SAndroid Build Coastguard Worker} 96*d5c09012SAndroid Build Coastguard Worker 97*d5c09012SAndroid Build Coastguard Worker// Tiers of search features. Different tiers might have different 98*d5c09012SAndroid Build Coastguard Worker// pricing. To learn more, check the pricing documentation. 99*d5c09012SAndroid Build Coastguard Workerenum SearchTier { 100*d5c09012SAndroid Build Coastguard Worker // Default value when the enum is unspecified. This is invalid to use. 101*d5c09012SAndroid Build Coastguard Worker SEARCH_TIER_UNSPECIFIED = 0; 102*d5c09012SAndroid Build Coastguard Worker 103*d5c09012SAndroid Build Coastguard Worker // Standard tier. 104*d5c09012SAndroid Build Coastguard Worker SEARCH_TIER_STANDARD = 1; 105*d5c09012SAndroid Build Coastguard Worker 106*d5c09012SAndroid Build Coastguard Worker // Enterprise tier. 107*d5c09012SAndroid Build Coastguard Worker SEARCH_TIER_ENTERPRISE = 2; 108*d5c09012SAndroid Build Coastguard Worker} 109*d5c09012SAndroid Build Coastguard Worker 110*d5c09012SAndroid Build Coastguard Worker// Add-on that provides additional functionality for search. 111*d5c09012SAndroid Build Coastguard Workerenum SearchAddOn { 112*d5c09012SAndroid Build Coastguard Worker // Default value when the enum is unspecified. This is invalid to use. 113*d5c09012SAndroid Build Coastguard Worker SEARCH_ADD_ON_UNSPECIFIED = 0; 114*d5c09012SAndroid Build Coastguard Worker 115*d5c09012SAndroid Build Coastguard Worker // Large language model add-on. 116*d5c09012SAndroid Build Coastguard Worker SEARCH_ADD_ON_LLM = 1; 117*d5c09012SAndroid Build Coastguard Worker} 118*d5c09012SAndroid Build Coastguard Worker 119*d5c09012SAndroid Build Coastguard Worker// A floating point interval. 120*d5c09012SAndroid Build Coastguard Workermessage Interval { 121*d5c09012SAndroid Build Coastguard Worker // The lower bound of the interval. If neither of the min fields are 122*d5c09012SAndroid Build Coastguard Worker // set, then the lower bound is negative infinity. 123*d5c09012SAndroid Build Coastguard Worker // 124*d5c09012SAndroid Build Coastguard Worker // This field must be not larger than max. 125*d5c09012SAndroid Build Coastguard Worker // Otherwise, an `INVALID_ARGUMENT` error is returned. 126*d5c09012SAndroid Build Coastguard Worker oneof min { 127*d5c09012SAndroid Build Coastguard Worker // Inclusive lower bound. 128*d5c09012SAndroid Build Coastguard Worker double minimum = 1; 129*d5c09012SAndroid Build Coastguard Worker 130*d5c09012SAndroid Build Coastguard Worker // Exclusive lower bound. 131*d5c09012SAndroid Build Coastguard Worker double exclusive_minimum = 2; 132*d5c09012SAndroid Build Coastguard Worker } 133*d5c09012SAndroid Build Coastguard Worker 134*d5c09012SAndroid Build Coastguard Worker // The upper bound of the interval. If neither of the max fields are 135*d5c09012SAndroid Build Coastguard Worker // set, then the upper bound is positive infinity. 136*d5c09012SAndroid Build Coastguard Worker // 137*d5c09012SAndroid Build Coastguard Worker // This field must be not smaller than min. 138*d5c09012SAndroid Build Coastguard Worker // Otherwise, an `INVALID_ARGUMENT` error is returned. 139*d5c09012SAndroid Build Coastguard Worker oneof max { 140*d5c09012SAndroid Build Coastguard Worker // Inclusive upper bound. 141*d5c09012SAndroid Build Coastguard Worker double maximum = 3; 142*d5c09012SAndroid Build Coastguard Worker 143*d5c09012SAndroid Build Coastguard Worker // Exclusive upper bound. 144*d5c09012SAndroid Build Coastguard Worker double exclusive_maximum = 4; 145*d5c09012SAndroid Build Coastguard Worker } 146*d5c09012SAndroid Build Coastguard Worker} 147*d5c09012SAndroid Build Coastguard Worker 148*d5c09012SAndroid Build Coastguard Worker// A custom attribute that is not explicitly modeled in a resource, e.g. 149*d5c09012SAndroid Build Coastguard Worker// [UserEvent][google.cloud.discoveryengine.v1beta.UserEvent]. 150*d5c09012SAndroid Build Coastguard Workermessage CustomAttribute { 151*d5c09012SAndroid Build Coastguard Worker // The textual values of this custom attribute. For example, `["yellow", 152*d5c09012SAndroid Build Coastguard Worker // "green"]` when the key is "color". 153*d5c09012SAndroid Build Coastguard Worker // 154*d5c09012SAndroid Build Coastguard Worker // Empty string is not allowed. Otherwise, an `INVALID_ARGUMENT` error is 155*d5c09012SAndroid Build Coastguard Worker // returned. 156*d5c09012SAndroid Build Coastguard Worker // 157*d5c09012SAndroid Build Coastguard Worker // Exactly one of 158*d5c09012SAndroid Build Coastguard Worker // [CustomAttribute.text][google.cloud.discoveryengine.v1beta.CustomAttribute.text] 159*d5c09012SAndroid Build Coastguard Worker // or 160*d5c09012SAndroid Build Coastguard Worker // [CustomAttribute.numbers][google.cloud.discoveryengine.v1beta.CustomAttribute.numbers] 161*d5c09012SAndroid Build Coastguard Worker // should be set. Otherwise, an `INVALID_ARGUMENT` error is returned. 162*d5c09012SAndroid Build Coastguard Worker repeated string text = 1; 163*d5c09012SAndroid Build Coastguard Worker 164*d5c09012SAndroid Build Coastguard Worker // The numerical values of this custom attribute. For example, `[2.3, 15.4]` 165*d5c09012SAndroid Build Coastguard Worker // when the key is "lengths_cm". 166*d5c09012SAndroid Build Coastguard Worker // 167*d5c09012SAndroid Build Coastguard Worker // Exactly one of 168*d5c09012SAndroid Build Coastguard Worker // [CustomAttribute.text][google.cloud.discoveryengine.v1beta.CustomAttribute.text] 169*d5c09012SAndroid Build Coastguard Worker // or 170*d5c09012SAndroid Build Coastguard Worker // [CustomAttribute.numbers][google.cloud.discoveryengine.v1beta.CustomAttribute.numbers] 171*d5c09012SAndroid Build Coastguard Worker // should be set. Otherwise, an `INVALID_ARGUMENT` error is returned. 172*d5c09012SAndroid Build Coastguard Worker repeated double numbers = 2; 173*d5c09012SAndroid Build Coastguard Worker} 174*d5c09012SAndroid Build Coastguard Worker 175*d5c09012SAndroid Build Coastguard Worker// Information of an end user. 176*d5c09012SAndroid Build Coastguard Workermessage UserInfo { 177*d5c09012SAndroid Build Coastguard Worker // Highly recommended for logged-in users. Unique identifier for logged-in 178*d5c09012SAndroid Build Coastguard Worker // user, such as a user name. Don't set for anonymous users. 179*d5c09012SAndroid Build Coastguard Worker // 180*d5c09012SAndroid Build Coastguard Worker // Always use a hashed value for this ID. 181*d5c09012SAndroid Build Coastguard Worker // 182*d5c09012SAndroid Build Coastguard Worker // Don't set the field to the same fixed ID for different users. This mixes 183*d5c09012SAndroid Build Coastguard Worker // the event history of those users together, which results in degraded 184*d5c09012SAndroid Build Coastguard Worker // model quality. 185*d5c09012SAndroid Build Coastguard Worker // 186*d5c09012SAndroid Build Coastguard Worker // The field must be a UTF-8 encoded string with a length limit of 128 187*d5c09012SAndroid Build Coastguard Worker // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. 188*d5c09012SAndroid Build Coastguard Worker string user_id = 1; 189*d5c09012SAndroid Build Coastguard Worker 190*d5c09012SAndroid Build Coastguard Worker // User agent as included in the HTTP header. 191*d5c09012SAndroid Build Coastguard Worker // 192*d5c09012SAndroid Build Coastguard Worker // The field must be a UTF-8 encoded string with a length limit of 1,000 193*d5c09012SAndroid Build Coastguard Worker // characters. Otherwise, an `INVALID_ARGUMENT` error is returned. 194*d5c09012SAndroid Build Coastguard Worker // 195*d5c09012SAndroid Build Coastguard Worker // This should not be set when using the client side event reporting with 196*d5c09012SAndroid Build Coastguard Worker // GTM or JavaScript tag in 197*d5c09012SAndroid Build Coastguard Worker // [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1beta.UserEventService.CollectUserEvent] 198*d5c09012SAndroid Build Coastguard Worker // or if 199*d5c09012SAndroid Build Coastguard Worker // [UserEvent.direct_user_request][google.cloud.discoveryengine.v1beta.UserEvent.direct_user_request] 200*d5c09012SAndroid Build Coastguard Worker // is set. 201*d5c09012SAndroid Build Coastguard Worker string user_agent = 2; 202*d5c09012SAndroid Build Coastguard Worker} 203*d5c09012SAndroid Build Coastguard Worker 204*d5c09012SAndroid Build Coastguard Worker// Defines embedding config, used for bring your own embeddings feature. 205*d5c09012SAndroid Build Coastguard Workermessage EmbeddingConfig { 206*d5c09012SAndroid Build Coastguard Worker // Full field path in the schema mapped as embedding field. 207*d5c09012SAndroid Build Coastguard Worker string field_path = 1; 208*d5c09012SAndroid Build Coastguard Worker} 209*d5c09012SAndroid Build Coastguard Worker 210*d5c09012SAndroid Build Coastguard Worker// Double list. 211*d5c09012SAndroid Build Coastguard Workermessage DoubleList { 212*d5c09012SAndroid Build Coastguard Worker // Double values. 213*d5c09012SAndroid Build Coastguard Worker repeated double values = 1; 214*d5c09012SAndroid Build Coastguard Worker} 215