mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-15 12:50:26 +02:00
294 lines
9.7 KiB
Protocol Buffer
294 lines
9.7 KiB
Protocol Buffer
// Copyright 2025 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package google.cloud.discoveryengine.v1alpha;
|
|
|
|
import "google/api/resource.proto";
|
|
|
|
option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha";
|
|
option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "CommonProto";
|
|
option java_package = "com.google.cloud.discoveryengine.v1alpha";
|
|
option objc_class_prefix = "DISCOVERYENGINE";
|
|
option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha";
|
|
option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha";
|
|
option (google.api.resource_definition) = {
|
|
type: "discoveryengine.googleapis.com/Branch"
|
|
pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}"
|
|
pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}"
|
|
};
|
|
option (google.api.resource_definition) = {
|
|
type: "discoveryengine.googleapis.com/Collection"
|
|
pattern: "projects/{project}/locations/{location}/collections/{collection}"
|
|
};
|
|
option (google.api.resource_definition) = {
|
|
type: "discoveryengine.googleapis.com/Location"
|
|
pattern: "projects/{project}/locations/{location}"
|
|
};
|
|
option (google.api.resource_definition) = {
|
|
type: "discoveryengine.googleapis.com/GroundingConfig"
|
|
pattern: "projects/{project}/locations/{location}/groundingConfigs/{grounding_config}"
|
|
};
|
|
option (google.api.resource_definition) = {
|
|
type: "discoveryengine.googleapis.com/RankingConfig"
|
|
pattern: "projects/{project}/locations/{location}/rankingConfigs/{ranking_config}"
|
|
};
|
|
option (google.api.resource_definition) = {
|
|
type: "healthcare.googleapis.com/FhirStore"
|
|
pattern: "projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}"
|
|
};
|
|
|
|
// The industry vertical associated with the
|
|
// [DataStore][google.cloud.discoveryengine.v1alpha.DataStore].
|
|
enum IndustryVertical {
|
|
// Value used when unset.
|
|
INDUSTRY_VERTICAL_UNSPECIFIED = 0;
|
|
|
|
// The generic vertical for documents that are not specific to any industry
|
|
// vertical.
|
|
GENERIC = 1;
|
|
|
|
// The media industry vertical.
|
|
MEDIA = 2;
|
|
|
|
// The healthcare FHIR vertical.
|
|
HEALTHCARE_FHIR = 7;
|
|
}
|
|
|
|
// The type of solution.
|
|
enum SolutionType {
|
|
// Default value.
|
|
SOLUTION_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Used for Recommendations AI.
|
|
SOLUTION_TYPE_RECOMMENDATION = 1;
|
|
|
|
// Used for Discovery Search.
|
|
SOLUTION_TYPE_SEARCH = 2;
|
|
|
|
// Used for use cases related to the Generative AI agent.
|
|
SOLUTION_TYPE_CHAT = 3;
|
|
|
|
// Used for use cases related to the Generative Chat agent.
|
|
// It's used for Generative chat engine only, the associated data stores
|
|
// must enrolled with `SOLUTION_TYPE_CHAT` solution.
|
|
SOLUTION_TYPE_GENERATIVE_CHAT = 4;
|
|
}
|
|
|
|
// Defines a further subdivision of `SolutionType`.
|
|
// Specifically applies to
|
|
// [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1alpha.SolutionType.SOLUTION_TYPE_SEARCH].
|
|
enum SearchUseCase {
|
|
// Value used when unset. Will not occur in CSS.
|
|
SEARCH_USE_CASE_UNSPECIFIED = 0;
|
|
|
|
// Search use case. Expects the traffic has a non-empty
|
|
// [query][google.cloud.discoveryengine.v1alpha.SearchRequest.query].
|
|
SEARCH_USE_CASE_SEARCH = 1;
|
|
|
|
// Browse use case. Expects the traffic has an empty
|
|
// [query][google.cloud.discoveryengine.v1alpha.SearchRequest.query].
|
|
SEARCH_USE_CASE_BROWSE = 2;
|
|
}
|
|
|
|
// Tiers of search features. Different tiers might have different
|
|
// pricing. To learn more, check the pricing documentation.
|
|
enum SearchTier {
|
|
// Default value when the enum is unspecified. This is invalid to use.
|
|
SEARCH_TIER_UNSPECIFIED = 0;
|
|
|
|
// Standard tier.
|
|
SEARCH_TIER_STANDARD = 1;
|
|
|
|
// Enterprise tier.
|
|
SEARCH_TIER_ENTERPRISE = 2;
|
|
}
|
|
|
|
// Add-on that provides additional functionality for search.
|
|
enum SearchAddOn {
|
|
// Default value when the enum is unspecified. This is invalid to use.
|
|
SEARCH_ADD_ON_UNSPECIFIED = 0;
|
|
|
|
// Large language model add-on.
|
|
SEARCH_ADD_ON_LLM = 1;
|
|
}
|
|
|
|
// A floating point interval.
|
|
message Interval {
|
|
// The lower bound of the interval. If neither of the min fields are
|
|
// set, then the lower bound is negative infinity.
|
|
//
|
|
// This field must be not larger than max.
|
|
// Otherwise, an `INVALID_ARGUMENT` error is returned.
|
|
oneof min {
|
|
// Inclusive lower bound.
|
|
double minimum = 1;
|
|
|
|
// Exclusive lower bound.
|
|
double exclusive_minimum = 2;
|
|
}
|
|
|
|
// The upper bound of the interval. If neither of the max fields are
|
|
// set, then the upper bound is positive infinity.
|
|
//
|
|
// This field must be not smaller than min.
|
|
// Otherwise, an `INVALID_ARGUMENT` error is returned.
|
|
oneof max {
|
|
// Inclusive upper bound.
|
|
double maximum = 3;
|
|
|
|
// Exclusive upper bound.
|
|
double exclusive_maximum = 4;
|
|
}
|
|
}
|
|
|
|
// A custom attribute that is not explicitly modeled in a resource, e.g.
|
|
// [UserEvent][google.cloud.discoveryengine.v1alpha.UserEvent].
|
|
message CustomAttribute {
|
|
// The textual values of this custom attribute. For example, `["yellow",
|
|
// "green"]` when the key is "color".
|
|
//
|
|
// Empty string is not allowed. Otherwise, an `INVALID_ARGUMENT` error is
|
|
// returned.
|
|
//
|
|
// Exactly one of
|
|
// [CustomAttribute.text][google.cloud.discoveryengine.v1alpha.CustomAttribute.text]
|
|
// or
|
|
// [CustomAttribute.numbers][google.cloud.discoveryengine.v1alpha.CustomAttribute.numbers]
|
|
// should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.
|
|
repeated string text = 1;
|
|
|
|
// The numerical values of this custom attribute. For example, `[2.3, 15.4]`
|
|
// when the key is "lengths_cm".
|
|
//
|
|
// Exactly one of
|
|
// [CustomAttribute.text][google.cloud.discoveryengine.v1alpha.CustomAttribute.text]
|
|
// or
|
|
// [CustomAttribute.numbers][google.cloud.discoveryengine.v1alpha.CustomAttribute.numbers]
|
|
// should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.
|
|
repeated double numbers = 2;
|
|
}
|
|
|
|
// Information of an end user.
|
|
message UserInfo {
|
|
// Highly recommended for logged-in users. Unique identifier for logged-in
|
|
// user, such as a user name. Don't set for anonymous users.
|
|
//
|
|
// Always use a hashed value for this ID.
|
|
//
|
|
// Don't set the field to the same fixed ID for different users. This mixes
|
|
// the event history of those users together, which results in degraded
|
|
// model quality.
|
|
//
|
|
// The field must be a UTF-8 encoded string with a length limit of 128
|
|
// characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
|
|
string user_id = 1;
|
|
|
|
// User agent as included in the HTTP header.
|
|
//
|
|
// The field must be a UTF-8 encoded string with a length limit of 1,000
|
|
// characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
|
|
//
|
|
// This should not be set when using the client side event reporting with
|
|
// GTM or JavaScript tag in
|
|
// [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent]
|
|
// or if
|
|
// [UserEvent.direct_user_request][google.cloud.discoveryengine.v1alpha.UserEvent.direct_user_request]
|
|
// is set.
|
|
string user_agent = 2;
|
|
}
|
|
|
|
// Defines embedding config, used for bring your own embeddings feature.
|
|
message EmbeddingConfig {
|
|
// Full field path in the schema mapped as embedding field.
|
|
string field_path = 1;
|
|
}
|
|
|
|
// Double list.
|
|
message DoubleList {
|
|
// Double values.
|
|
repeated double values = 1;
|
|
}
|
|
|
|
// Defines guided search spec.
|
|
message GuidedSearchSpec {
|
|
// Whether or not to enable and include refinement attributes in gudied search
|
|
// result.
|
|
bool enable_refinement_attributes = 1;
|
|
|
|
// Whether or not to enable and include related questions in search response.
|
|
bool enable_related_questions = 2;
|
|
|
|
// Max number of related questions to be returned. The valid range is [1, 5].
|
|
// If enable_related_questions is true, the default value is 3.
|
|
int32 max_related_questions = 3;
|
|
}
|
|
|
|
// Defines custom fine tuning spec.
|
|
message CustomFineTuningSpec {
|
|
// Whether or not to enable and include custom fine tuned search adaptor
|
|
// model.
|
|
bool enable_search_adaptor = 1;
|
|
}
|
|
|
|
// Identity Provider Config.
|
|
message IdpConfig {
|
|
// Third party IDP Config.
|
|
message ExternalIdpConfig {
|
|
// Workforce pool name.
|
|
// Example: "locations/global/workforcePools/pool_id"
|
|
string workforce_pool_name = 1;
|
|
}
|
|
|
|
// Identity Provider Type.
|
|
enum IdpType {
|
|
// Default value. ACL search not enabled.
|
|
IDP_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Google 1P provider.
|
|
GSUITE = 1;
|
|
|
|
// Third party provider.
|
|
THIRD_PARTY = 2;
|
|
}
|
|
|
|
// Identity provider type configured.
|
|
IdpType idp_type = 1;
|
|
|
|
// External Identity provider config.
|
|
ExternalIdpConfig external_idp_config = 2;
|
|
}
|
|
|
|
// Principal identifier of a user or a group.
|
|
message Principal {
|
|
// Union field principal. Principal can be a user or a group.
|
|
oneof principal {
|
|
// User identifier.
|
|
// For Google Workspace user account, user_id should be the google workspace
|
|
// user email.
|
|
// For non-google identity provider user account, user_id is the mapped user
|
|
// identifier configured during the workforcepool config.
|
|
string user_id = 1;
|
|
|
|
// Group identifier.
|
|
// For Google Workspace user account, group_id should be the google
|
|
// workspace group email.
|
|
// For non-google identity provider user account, group_id is the mapped
|
|
// group identifier configured during the workforcepool config.
|
|
string group_id = 2;
|
|
}
|
|
}
|