xref: /aosp_15_r20/external/googleapis/google/cloud/discoveryengine/v1beta/engine.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/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