xref: /aosp_15_r20/external/googleapis/google/cloud/discoveryengine/v1beta/common.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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