mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-16 13:00:34 +02:00
docs: A comment for field `fallback_action` in message `.google.cloud.ces.v1.LanguageSettings` is changed docs: A comment for field `project` in message `.google.cloud.ces.v1.BigQueryExportSettings` is changed docs: A comment for field `dataset` in message `.google.cloud.ces.v1.BigQueryExportSettings` is changed docs: A comment for field `cert` in message `.google.cloud.ces.v1.TlsConfig` is changed docs: A comment for field `name` in message `.google.cloud.ces.v1.Deployment` is changed docs: A comment for field `app_version` in message `.google.cloud.ces.v1.Deployment` is changed docs: A comment for method `RunSession` in service `SessionService` is changed docs: A comment for field `entry_agent` in message `.google.cloud.ces.v1.SessionConfig` is changed docs: A comment for field `will_continue` in message `.google.cloud.ces.v1.SessionInput` is changed docs: A comment for field `interruption_signal` in message `.google.cloud.ces.v1.BidiSessionServerMessage` is changed docs: A comment for field `name` in message `.google.cloud.ces.v1.Tool` is changed docs: A comment for field `response` in message `.google.cloud.ces.v1.ExecuteToolResponse` is changed docs: A comment for field `input_schema` in message `.google.cloud.ces.v1.RetrieveToolSchemaResponse` is changed docs: A comment for field `output_schema` in message `.google.cloud.ces.v1.RetrieveToolSchemaResponse` is changed docs: A comment for field `tools` in message `.google.cloud.ces.v1.RetrieveToolsResponse` is changed PiperOrigin-RevId: 888197844
683 lines
27 KiB
Protocol Buffer
683 lines
27 KiB
Protocol Buffer
// Copyright 2026 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.ces.v1;
|
|
|
|
import "google/api/field_behavior.proto";
|
|
import "google/api/resource.proto";
|
|
import "google/cloud/ces/v1/bigquery_export.proto";
|
|
import "google/cloud/ces/v1/common.proto";
|
|
import "google/cloud/ces/v1/schema.proto";
|
|
import "google/protobuf/duration.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
option go_package = "cloud.google.com/go/ces/apiv1/cespb;cespb";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "AppProto";
|
|
option java_package = "com.google.cloud.ces.v1";
|
|
option (google.api.resource_definition) = {
|
|
type: "dlp.googleapis.com/InspectTemplate"
|
|
pattern: "organizations/{organization}/locations/{location}/inspectTemplates/{inspect_template}"
|
|
pattern: "projects/{project}/locations/{location}/inspectTemplates/{inspect_template}"
|
|
};
|
|
option (google.api.resource_definition) = {
|
|
type: "dlp.googleapis.com/DeidentifyTemplate"
|
|
pattern: "organizations/{organization}/locations/{location}/deidentifyTemplates/{deidentify_template}"
|
|
pattern: "projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}"
|
|
};
|
|
option (google.api.resource_definition) = {
|
|
type: "discoveryengine.googleapis.com/Engine"
|
|
pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}"
|
|
};
|
|
|
|
// An app serves as a top-level container for a group of agents, including the
|
|
// root agent and its sub-agents, along with their associated configurations.
|
|
// These agents work together to achieve specific goals within the app's
|
|
// context.
|
|
message App {
|
|
option (google.api.resource) = {
|
|
type: "ces.googleapis.com/App"
|
|
pattern: "projects/{project}/locations/{location}/apps/{app}"
|
|
plural: "apps"
|
|
singular: "app"
|
|
};
|
|
|
|
// Defines the structure and metadata for a variable.
|
|
message VariableDeclaration {
|
|
// Required. The name of the variable. The name must start with a letter or
|
|
// underscore and contain only letters, numbers, or underscores.
|
|
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The description of the variable.
|
|
string description = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The schema of the variable.
|
|
Schema schema = 3 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// Defines the tool execution behavior if there are **multiple** tools being
|
|
// selected by the agent **at the same time**.
|
|
enum ToolExecutionMode {
|
|
// Unspecified tool execution mode. Default to PARALLEL.
|
|
TOOL_EXECUTION_MODE_UNSPECIFIED = 0;
|
|
|
|
// If there are multiple tools being selected, they will be executed in
|
|
// parallel, with the same
|
|
// [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context).
|
|
PARALLEL = 1;
|
|
|
|
// If there are multiple tools being selected, they will be executed
|
|
// sequentially. The next tool will only be executed after the previous tool
|
|
// completes and it can see updated
|
|
// [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context)
|
|
// from the previous tool.
|
|
SEQUENTIAL = 2;
|
|
}
|
|
|
|
// Identifier. The unique identifier of the app.
|
|
// Format: `projects/{project}/locations/{location}/apps/{app}`
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Required. Display name of the app.
|
|
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. Human-readable description of the app.
|
|
string description = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Whether the app is pinned in the app list.
|
|
bool pinned = 31 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The root agent is the entry point of the app.
|
|
// Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`
|
|
string root_agent = 4 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Agent" }
|
|
];
|
|
|
|
// Optional. Language settings of the app.
|
|
LanguageSettings language_settings = 18
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. TimeZone settings of the app.
|
|
TimeZoneSettings time_zone_settings = 27
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Audio processing configuration of the app.
|
|
AudioProcessingConfig audio_processing_config = 7
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Logging settings of the app.
|
|
LoggingSettings logging_settings = 8 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Error handling settings of the app.
|
|
ErrorHandlingSettings error_handling_settings = 34
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The default LLM model settings for the app.
|
|
// Individual resources (e.g. agents, guardrails) can override these
|
|
// configurations as needed.
|
|
ModelSettings model_settings = 13 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The tool execution mode for the app. If not provided, will
|
|
// default to PARALLEL.
|
|
ToolExecutionMode tool_execution_mode = 32
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The evaluation thresholds for the app.
|
|
EvaluationMetricsThresholds evaluation_metrics_thresholds = 24
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The declarations of the variables.
|
|
repeated VariableDeclaration variable_declarations = 14
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. The declarations of predefined variables for the app.
|
|
repeated VariableDeclaration predefined_variable_declarations = 28
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. Instructions for all the agents in the app.
|
|
// You can use this instruction to set up a stable identity or personality
|
|
// across all the agents.
|
|
string global_instruction = 17 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. List of guardrails for the app.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`
|
|
repeated string guardrails = 10 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Guardrail" }
|
|
];
|
|
|
|
// Optional. The data store settings for the app.
|
|
DataStoreSettings data_store_settings = 15
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The default channel profile used by the app.
|
|
ChannelProfile default_channel_profile = 22
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Metadata about the app. This field can be used to store
|
|
// additional information relevant to the app's details or intended usages.
|
|
map<string, string> metadata = 11 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. Timestamp when the app was created.
|
|
google.protobuf.Timestamp create_time = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Timestamp when the app was last updated.
|
|
google.protobuf.Timestamp update_time = 6
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Etag used to ensure the object hasn't changed during a
|
|
// read-modify-write operation. If the etag is empty, the update will
|
|
// overwrite any concurrent changes.
|
|
string etag = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Number of deployments in the app.
|
|
int32 deployment_count = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. The default client certificate settings for the app.
|
|
ClientCertificateSettings client_certificate_settings = 25
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Indicates whether the app is locked for changes. If the app is
|
|
// locked, modifications to the app resources will be rejected.
|
|
bool locked = 29 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// TimeZone settings of the app.
|
|
message TimeZoneSettings {
|
|
// Optional. The time zone of the app from the [time zone
|
|
// database](https://www.iana.org/time-zones), e.g., America/Los_Angeles,
|
|
// Europe/Paris.
|
|
string time_zone = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Language settings of the app.
|
|
message LanguageSettings {
|
|
// Optional. The default language code of the app.
|
|
string default_language_code = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. List of languages codes supported by the app, in addition to the
|
|
// `default_language_code`.
|
|
repeated string supported_language_codes = 2
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Enables multilingual support. If true, agents in the app will use
|
|
// pre-built instructions to improve handling of multilingual input.
|
|
bool enable_multilingual_support = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Deprecated: This feature is no longer supported. Use
|
|
// `enable_multilingual_support` instead to improve handling of multilingual
|
|
// input.
|
|
// The action to perform when an agent receives input in an unsupported
|
|
// language.
|
|
//
|
|
// This can be a predefined action or a custom tool call.
|
|
// Valid values are:
|
|
// - A tool's full resource name, which triggers a specific tool execution.
|
|
// - A predefined system action, such as "escalate" or "exit", which triggers
|
|
// an [EndSession][google.cloud.ces.v1.EndSession] signal with corresponding
|
|
// [metadata][google.cloud.ces.v1.EndSession.metadata] to terminate the
|
|
// conversation.
|
|
string fallback_action = 4
|
|
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Configuration for how the input and output audio should be processed and
|
|
// delivered.
|
|
message AudioProcessingConfig {
|
|
// Optional. Configuration of how the agent response should be synthesized,
|
|
// mapping from the language code to
|
|
// [SynthesizeSpeechConfig][google.cloud.ces.v1.SynthesizeSpeechConfig].
|
|
//
|
|
// If the configuration for the specified language code is not found, the
|
|
// configuration for the root language code will be used. For example, if the
|
|
// map contains "en-us" and "en", and the specified language code is "en-gb",
|
|
// then "en" configuration will be used.
|
|
//
|
|
// Note: Language code is case-insensitive.
|
|
map<string, SynthesizeSpeechConfig> synthesize_speech_configs = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Configures the agent behavior for the user barge-in activities.
|
|
BargeInConfig barge_in_config = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The duration of user inactivity (no speech or interaction) before
|
|
// the agent prompts the user for reengagement. If not set, the agent will not
|
|
// prompt the user for reengagement.
|
|
google.protobuf.Duration inactivity_timeout = 4
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Configuration for the ambient sound to be played with the
|
|
// synthesized agent response, to enhance the naturalness of the conversation.
|
|
AmbientSoundConfig ambient_sound_config = 5
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Configuration for the ambient sound to be played with the synthesized agent
|
|
// response, to enhance the naturalness of the conversation.
|
|
message AmbientSoundConfig {
|
|
// Prebuilt ambient noise.
|
|
enum PrebuiltAmbientNoise {
|
|
// Not specified.
|
|
PREBUILT_AMBIENT_NOISE_UNSPECIFIED = 0;
|
|
|
|
// Ambient noise of a retail store.
|
|
RETAIL_STORE = 1;
|
|
|
|
// Ambient noise of a convention hall.
|
|
CONVENTION_HALL = 2;
|
|
|
|
// Ambient noise of a street.
|
|
OUTDOOR = 3;
|
|
}
|
|
|
|
// Ambient noise to be played with the synthesized agent response, to
|
|
// enhance the naturalness of the conversation.
|
|
oneof source {
|
|
// Optional. Deprecated: `prebuilt_ambient_noise` is deprecated in favor of
|
|
// `prebuilt_ambient_sound`.
|
|
PrebuiltAmbientNoise prebuilt_ambient_noise = 1
|
|
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in
|
|
// [Cloud Storage](https://cloud.google.com/storage).
|
|
//
|
|
// Note: Please make sure the CES service agent
|
|
// `service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com` has
|
|
// `storage.objects.get` permission to the Cloud Storage object.
|
|
string gcs_uri = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Name of the prebuilt ambient sound.
|
|
// Valid values are:
|
|
// - "coffee_shop"
|
|
// - "keyboard"
|
|
// - "keypad"
|
|
// - "hum"
|
|
// - "office_1"
|
|
// - "office_2"
|
|
// - "office_3"
|
|
// - "room_1"
|
|
// - "room_2"
|
|
// - "room_3"
|
|
// - "room_4"
|
|
// - "room_5"
|
|
// - "air_conditioner"
|
|
string prebuilt_ambient_sound = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Optional. Volume gain (in dB) of the normal native volume supported by
|
|
// ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of
|
|
// 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB)
|
|
// will play at approximately half the amplitude of the normal native signal
|
|
// amplitude. A value of +6.0 (dB) will play at approximately twice the
|
|
// amplitude of the normal native signal amplitude. We strongly recommend not
|
|
// to exceed +10 (dB) as there's usually no effective increase in loudness for
|
|
// any value greater than that.
|
|
double volume_gain_db = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Configuration for how the user barge-in activities should be handled.
|
|
message BargeInConfig {
|
|
// Optional. Disables user barge-in while the agent is speaking. If true, user
|
|
// input during agent response playback will be ignored.
|
|
//
|
|
// Deprecated: `disable_barge_in` is deprecated in favor of
|
|
// [`disable_barge_in_control`][google.cloud.ces.v1.ChannelProfile.disable_barge_in_control]
|
|
// in ChannelProfile.
|
|
bool disable_barge_in = 1
|
|
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. If enabled, the agent will adapt its next response based on the
|
|
// assumption that the user hasn't heard the full preceding agent message.
|
|
// This should not be used in scenarios where agent responses are displayed
|
|
// visually.
|
|
bool barge_in_awareness = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Configuration for how the agent response should be synthesized.
|
|
message SynthesizeSpeechConfig {
|
|
// Optional. The name of the voice. If not set, the service will choose a
|
|
// voice based on the other parameters such as language_code.
|
|
//
|
|
// For the list of available voices, please refer to [Supported voices and
|
|
// languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud
|
|
// Text-to-Speech.
|
|
string voice = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the
|
|
// normal native speed supported by the specific voice. 2.0 is twice as fast,
|
|
// and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will
|
|
// return an error.
|
|
double speaking_rate = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Settings to describe the conversation data collection behaviors for LLM
|
|
// analysis metrics pipeline.
|
|
message MetricAnalysisSettings {
|
|
// Optional. Whether to collect conversation data for llm analysis metrics. If
|
|
// true, conversation data will not be collected for llm analysis metrics;
|
|
// otherwise, conversation data will be collected.
|
|
bool llm_metrics_opted_out = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Settings to describe the logging behaviors for the app.
|
|
message LoggingSettings {
|
|
// Optional. Configuration for how sensitive data should be redacted.
|
|
RedactionConfig redaction_config = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Configuration for how audio interactions should be recorded.
|
|
AudioRecordingConfig audio_recording_config = 2
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Settings to describe the BigQuery export behaviors for the app.
|
|
// The conversation data will be exported to BigQuery tables if it is enabled.
|
|
BigQueryExportSettings bigquery_export_settings = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Settings to describe the Cloud Logging behaviors for the app.
|
|
CloudLoggingSettings cloud_logging_settings = 4
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Settings to describe the conversation logging behaviors for the
|
|
// app.
|
|
ConversationLoggingSettings conversation_logging_settings = 5
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Configuration for how audio interactions should be recorded for
|
|
// the evaluation. By default, audio recording is not enabled for evaluation
|
|
// sessions.
|
|
AudioRecordingConfig evaluation_audio_recording_config = 6
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Settings to describe the conversation data collection behaviors
|
|
// for the LLM analysis pipeline for the app.
|
|
MetricAnalysisSettings metric_analysis_settings = 7
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Settings to describe how errors should be handled in the app.
|
|
message ErrorHandlingSettings {
|
|
// Defines the strategy for handling errors.
|
|
enum ErrorHandlingStrategy {
|
|
// Unspecified error handling strategy.
|
|
ERROR_HANDLING_STRATEGY_UNSPECIFIED = 0;
|
|
|
|
// No specific handling is enabled.
|
|
NONE = 1;
|
|
|
|
// A fallback message will be returned to the user in case of
|
|
// system errors (e.g. LLM errors).
|
|
FALLBACK_RESPONSE = 2;
|
|
|
|
// An [EndSession][google.cloud.ces.v1.EndSession] signal will be emitted in
|
|
// case of system errors (e.g. LLM errors).
|
|
END_SESSION = 3;
|
|
}
|
|
|
|
// Optional. The strategy to use for error handling.
|
|
ErrorHandlingStrategy error_handling_strategy = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Threshold settings for metrics in an Evaluation.
|
|
message EvaluationMetricsThresholds {
|
|
// Settings for golden evaluations.
|
|
message GoldenEvaluationMetricsThresholds {
|
|
// Turn level metrics thresholds.
|
|
message TurnLevelMetricsThresholds {
|
|
// Semantic similarity channel to use.
|
|
enum SemanticSimilarityChannel {
|
|
// Metric unspecified. Defaults to TEXT.
|
|
SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED = 0;
|
|
|
|
// Use text semantic similarity.
|
|
TEXT = 1;
|
|
|
|
// Use audio semantic similarity.
|
|
AUDIO = 2;
|
|
}
|
|
|
|
// Optional. The success threshold for semantic similarity. Must be an
|
|
// integer between 0 and 4. Default is >= 3.
|
|
optional int32 semantic_similarity_success_threshold = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The success threshold for overall tool invocation
|
|
// correctness. Must be a float between 0 and 1. Default is 1.0.
|
|
optional float overall_tool_invocation_correctness_threshold = 2
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The semantic similarity channel to use for evaluation.
|
|
SemanticSimilarityChannel semantic_similarity_channel = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Expectation level metrics thresholds.
|
|
message ExpectationLevelMetricsThresholds {
|
|
// Optional. The success threshold for individual tool invocation
|
|
// parameter correctness. Must be a float between 0 and 1. Default is 1.0.
|
|
optional float tool_invocation_parameter_correctness_threshold = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Optional. The turn level metrics thresholds.
|
|
TurnLevelMetricsThresholds turn_level_metrics_thresholds = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The expectation level metrics thresholds.
|
|
ExpectationLevelMetricsThresholds expectation_level_metrics_thresholds = 2
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The tool matching settings. An
|
|
// extra tool call is a tool call that is present in the execution but does
|
|
// not match any tool call in the golden expectation.
|
|
ToolMatchingSettings tool_matching_settings = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Settings for matching tool calls.
|
|
message ToolMatchingSettings {
|
|
// Defines the behavior when an extra tool call is encountered. An extra
|
|
// tool call is a tool call that is present in the execution but does not
|
|
// match any tool call in the golden expectation.
|
|
enum ExtraToolCallBehavior {
|
|
// Unspecified behavior. Defaults to FAIL.
|
|
EXTRA_TOOL_CALL_BEHAVIOR_UNSPECIFIED = 0;
|
|
|
|
// Fail the evaluation if an extra tool call is encountered.
|
|
FAIL = 1;
|
|
|
|
// Allow the extra tool call.
|
|
ALLOW = 2;
|
|
}
|
|
|
|
// Optional. Behavior for extra tool calls.
|
|
// Defaults to FAIL.
|
|
ExtraToolCallBehavior extra_tool_call_behavior = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The hallucination metric behavior. Regardless of the behavior, the metric
|
|
// will always be calculated. The difference is that when disabled, the
|
|
// metric is not used to calculate the overall evaluation score.
|
|
enum HallucinationMetricBehavior {
|
|
// Unspecified hallucination metric behavior.
|
|
HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED = 0;
|
|
|
|
// Disable hallucination metric.
|
|
DISABLED = 1;
|
|
|
|
// Enable hallucination metric.
|
|
ENABLED = 2;
|
|
}
|
|
|
|
// Optional. The golden evaluation metrics thresholds.
|
|
GoldenEvaluationMetricsThresholds golden_evaluation_metrics_thresholds = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Deprecated: Use `golden_hallucination_metric_behavior` instead.
|
|
// The hallucination metric behavior is currently used for golden evaluations.
|
|
HallucinationMetricBehavior hallucination_metric_behavior = 3
|
|
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The hallucination metric behavior for golden evaluations.
|
|
HallucinationMetricBehavior golden_hallucination_metric_behavior = 5
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The hallucination metric behavior for scenario evaluations.
|
|
HallucinationMetricBehavior scenario_hallucination_metric_behavior = 4
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Settings for custom client certificates.
|
|
message ClientCertificateSettings {
|
|
// Required. The TLS certificate encoded in PEM format. This string must
|
|
// include the begin header and end footer lines.
|
|
string tls_certificate = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The name of the SecretManager secret version resource storing the
|
|
// private key encoded in PEM format.
|
|
// Format: `projects/{project}/secrets/{secret}/versions/{version}`
|
|
string private_key = 2 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "secretmanager.googleapis.com/SecretVersion"
|
|
}
|
|
];
|
|
|
|
// Optional. The name of the SecretManager secret version resource storing the
|
|
// passphrase to decrypt the private key. Should be left unset if the private
|
|
// key is not encrypted.
|
|
// Format: `projects/{project}/secrets/{secret}/versions/{version}`
|
|
string passphrase = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Settings to describe the conversation logging behaviors for the app.
|
|
message ConversationLoggingSettings {
|
|
// Optional. Whether to disable conversation logging for the sessions.
|
|
bool disable_conversation_logging = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Settings to describe the Cloud Logging behaviors for the app.
|
|
message CloudLoggingSettings {
|
|
// Optional. Whether to enable Cloud Logging for the sessions.
|
|
bool enable_cloud_logging = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Configuration for how the audio interactions should be recorded.
|
|
message AudioRecordingConfig {
|
|
// Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to
|
|
// store the session audio recordings. The URI must start with "gs://".
|
|
//
|
|
// Please choose a bucket location that meets your data residency
|
|
// requirements.
|
|
//
|
|
// Note: If the Cloud Storage bucket is in a different project from the app,
|
|
// you should grant `storage.objects.create` permission to the CES service
|
|
// agent `service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com`.
|
|
string gcs_bucket = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The Cloud Storage path prefix for audio recordings.
|
|
//
|
|
// This prefix can include the following placeholders, which will be
|
|
// dynamically substituted at serving time:
|
|
// - $project: project ID
|
|
// - $location: app location
|
|
// - $app: app ID
|
|
// - $date: session date in YYYY-MM-DD format
|
|
// - $session: session ID
|
|
//
|
|
// If the path prefix is not specified, the default prefix
|
|
// `$project/$location/$app/$date/$session/` will be used.
|
|
string gcs_path_prefix = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Configuration to instruct how sensitive data should be handled.
|
|
message RedactionConfig {
|
|
// Optional. If true, redaction will be applied in various logging scenarios,
|
|
// including conversation history, Cloud Logging and audio recording.
|
|
bool enable_redaction = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to
|
|
// configure detection of sensitive data types.
|
|
//
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}`
|
|
string inspect_template = 2 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = {
|
|
type: "dlp.googleapis.com/InspectTemplate"
|
|
}
|
|
];
|
|
|
|
// Optional. [DLP](https://cloud.google.com/dlp/docs) deidentify template name
|
|
// to instruct on how to de-identify content.
|
|
//
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}`
|
|
string deidentify_template = 3 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = {
|
|
type: "dlp.googleapis.com/DeidentifyTemplate"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Data store related settings for the app.
|
|
message DataStoreSettings {
|
|
// An engine to which the data stores are connected.
|
|
// See Vertex AI Search:
|
|
// https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.
|
|
message Engine {
|
|
// The type of the engine.
|
|
// See the documentation available at
|
|
// https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionType
|
|
// and
|
|
// https://cloud.google.com/generative-ai-app-builder/docs/create-datastore-ingest.
|
|
enum Type {
|
|
// Unspecified engine type.
|
|
TYPE_UNSPECIFIED = 0;
|
|
|
|
// The SOLUTION_TYPE_SEARCH engine for the app. All connector data stores
|
|
// added to the app will be added to this engine.
|
|
ENGINE_TYPE_SEARCH = 1;
|
|
|
|
// Chat engine type.
|
|
// The SOLUTION_TYPE_CHAT engine for the app. All connector data stores
|
|
// added to the app will be added to this engine.
|
|
ENGINE_TYPE_CHAT = 2;
|
|
}
|
|
|
|
// Output only. The resource name of the engine.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
|
|
string name = 1 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "discoveryengine.googleapis.com/Engine"
|
|
}
|
|
];
|
|
|
|
// Output only. The type of the engine.
|
|
Type type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Output only. The engines for the app.
|
|
repeated Engine engines = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|