google.cloud.dialogflow.v2.agent.proto Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of proto-google-cloud-dialogflow-v2 Show documentation
Show all versions of proto-google-cloud-dialogflow-v2 Show documentation
PROTO library for proto-google-cloud-dialogflow-v2
// Copyright 2024 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.dialogflow.v2;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/dialogflow/v2/validation_result.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/field_mask.proto";
import "google/protobuf/struct.proto";
option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.Dialogflow.V2";
option go_package = "cloud.google.com/go/dialogflow/apiv2/dialogflowpb;dialogflowpb";
option java_multiple_files = true;
option java_outer_classname = "AgentProto";
option java_package = "com.google.cloud.dialogflow.v2";
option objc_class_prefix = "DF";
// Service for managing [Agents][google.cloud.dialogflow.v2.Agent].
service Agents {
option (google.api.default_host) = "dialogflow.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform,"
"https://www.googleapis.com/auth/dialogflow";
// Retrieves the specified agent.
rpc GetAgent(GetAgentRequest) returns (Agent) {
option (google.api.http) = {
get: "/v2/{parent=projects/*}/agent"
additional_bindings { get: "/v2/{parent=projects/*/locations/*}/agent" }
};
option (google.api.method_signature) = "parent";
}
// Creates/updates the specified agent.
//
// Note: You should always train an agent prior to sending it queries. See the
// [training
// documentation](https://cloud.google.com/dialogflow/es/docs/training).
rpc SetAgent(SetAgentRequest) returns (Agent) {
option (google.api.http) = {
post: "/v2/{agent.parent=projects/*}/agent"
body: "agent"
additional_bindings {
post: "/v2/{agent.parent=projects/*/locations/*}/agent"
body: "agent"
}
};
option (google.api.method_signature) = "agent";
}
// Deletes the specified agent.
rpc DeleteAgent(DeleteAgentRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v2/{parent=projects/*}/agent"
additional_bindings {
delete: "/v2/{parent=projects/*/locations/*}/agent"
}
};
option (google.api.method_signature) = "parent";
}
// Returns the list of agents.
//
// Since there is at most one conversational agent per project, this method is
// useful primarily for listing all agents across projects the caller has
// access to. One can achieve that with a wildcard project collection id "-".
// Refer to [List
// Sub-Collections](https://cloud.google.com/apis/design/design_patterns#list_sub-collections).
rpc SearchAgents(SearchAgentsRequest) returns (SearchAgentsResponse) {
option (google.api.http) = {
get: "/v2/{parent=projects/*}/agent:search"
additional_bindings {
get: "/v2/{parent=projects/*/locations/*}/agent:search"
}
};
option (google.api.method_signature) = "parent";
}
// Trains the specified agent.
//
// This method is a [long-running
// operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
// The returned `Operation` type has the following method-specific fields:
//
// - `metadata`: An empty [Struct
// message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
// - `response`: An [Empty
// message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
//
// Note: You should always train an agent prior to sending it queries. See the
// [training
// documentation](https://cloud.google.com/dialogflow/es/docs/training).
rpc TrainAgent(TrainAgentRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v2/{parent=projects/*}/agent:train"
body: "*"
additional_bindings {
post: "/v2/{parent=projects/*/locations/*}/agent:train"
body: "*"
}
};
option (google.api.method_signature) = "parent";
option (google.longrunning.operation_info) = {
response_type: "google.protobuf.Empty"
metadata_type: "google.protobuf.Struct"
};
}
// Exports the specified agent to a ZIP file.
//
// This method is a [long-running
// operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
// The returned `Operation` type has the following method-specific fields:
//
// - `metadata`: An empty [Struct
// message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
// - `response`:
// [ExportAgentResponse][google.cloud.dialogflow.v2.ExportAgentResponse]
rpc ExportAgent(ExportAgentRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v2/{parent=projects/*}/agent:export"
body: "*"
additional_bindings {
post: "/v2/{parent=projects/*/locations/*}/agent:export"
body: "*"
}
};
option (google.api.method_signature) = "parent";
option (google.longrunning.operation_info) = {
response_type: "google.cloud.dialogflow.v2.ExportAgentResponse"
metadata_type: "google.protobuf.Struct"
};
}
// Imports the specified agent from a ZIP file.
//
// Uploads new intents and entity types without deleting the existing ones.
// Intents and entity types with the same name are replaced with the new
// versions from
// [ImportAgentRequest][google.cloud.dialogflow.v2.ImportAgentRequest]. After
// the import, the imported draft agent will be trained automatically (unless
// disabled in agent settings). However, once the import is done, training may
// not be completed yet. Please call
// [TrainAgent][google.cloud.dialogflow.v2.Agents.TrainAgent] and wait for the
// operation it returns in order to train explicitly.
//
// This method is a [long-running
// operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
// The returned `Operation` type has the following method-specific fields:
//
// - `metadata`: An empty [Struct
// message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
// - `response`: An [Empty
// message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
//
// The operation only tracks when importing is complete, not when it is done
// training.
//
// Note: You should always train an agent prior to sending it queries. See the
// [training
// documentation](https://cloud.google.com/dialogflow/es/docs/training).
rpc ImportAgent(ImportAgentRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v2/{parent=projects/*}/agent:import"
body: "*"
additional_bindings {
post: "/v2/{parent=projects/*/locations/*}/agent:import"
body: "*"
}
};
option (google.longrunning.operation_info) = {
response_type: "google.protobuf.Empty"
metadata_type: "google.protobuf.Struct"
};
}
// Restores the specified agent from a ZIP file.
//
// Replaces the current agent version with a new one. All the intents and
// entity types in the older version are deleted. After the restore, the
// restored draft agent will be trained automatically (unless disabled in
// agent settings). However, once the restore is done, training may not be
// completed yet. Please call
// [TrainAgent][google.cloud.dialogflow.v2.Agents.TrainAgent] and wait for the
// operation it returns in order to train explicitly.
//
// This method is a [long-running
// operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
// The returned `Operation` type has the following method-specific fields:
//
// - `metadata`: An empty [Struct
// message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
// - `response`: An [Empty
// message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
//
// The operation only tracks when restoring is complete, not when it is done
// training.
//
// Note: You should always train an agent prior to sending it queries. See the
// [training
// documentation](https://cloud.google.com/dialogflow/es/docs/training).
rpc RestoreAgent(RestoreAgentRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v2/{parent=projects/*}/agent:restore"
body: "*"
additional_bindings {
post: "/v2/{parent=projects/*/locations/*}/agent:restore"
body: "*"
}
};
option (google.longrunning.operation_info) = {
response_type: "google.protobuf.Empty"
metadata_type: "google.protobuf.Struct"
};
}
// Gets agent validation result. Agent validation is performed during
// training time and is updated automatically when training is completed.
rpc GetValidationResult(GetValidationResultRequest)
returns (ValidationResult) {
option (google.api.http) = {
get: "/v2/{parent=projects/*}/agent/validationResult"
additional_bindings {
get: "/v2/{parent=projects/*/locations/*}/agent/validationResult"
}
};
}
}
// A Dialogflow agent is a virtual agent that handles conversations with your
// end-users. It is a natural language understanding module that understands the
// nuances of human language. Dialogflow translates end-user text or audio
// during a conversation to structured data that your apps and services can
// understand. You design and build a Dialogflow agent to handle the types of
// conversations required for your system.
//
// For more information about agents, see the
// [Agent guide](https://cloud.google.com/dialogflow/docs/agents-overview).
//
message Agent {
option (google.api.resource) = {
type: "dialogflow.googleapis.com/Agent"
pattern: "projects/{project}/agent"
pattern: "projects/{project}/locations/{location}/agent"
};
// Match mode determines how intents are detected from user queries.
enum MatchMode {
// Not specified.
MATCH_MODE_UNSPECIFIED = 0;
// Best for agents with a small number of examples in intents and/or wide
// use of templates syntax and composite entities.
MATCH_MODE_HYBRID = 1;
// Can be used for agents with a large number of examples in intents,
// especially the ones using @sys.any or very large custom entities.
MATCH_MODE_ML_ONLY = 2;
}
// API version for the agent.
enum ApiVersion {
// Not specified.
API_VERSION_UNSPECIFIED = 0;
// Legacy V1 API.
API_VERSION_V1 = 1;
// V2 API.
API_VERSION_V2 = 2;
// V2beta1 API.
API_VERSION_V2_BETA_1 = 3;
}
// Represents the agent tier.
enum Tier {
// Not specified. This value should never be used.
TIER_UNSPECIFIED = 0;
// Trial Edition, previously known as Standard Edition.
TIER_STANDARD = 1;
// Essentials Edition, previously known as Enterprise Essential Edition.
TIER_ENTERPRISE = 2;
// Essentials Edition (same as TIER_ENTERPRISE), previously known as
// Enterprise Plus Edition.
TIER_ENTERPRISE_PLUS = 3 [deprecated = true];
}
// Required. The project of this agent.
// Format: `projects/`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "cloudresourcemanager.googleapis.com/Project"
}
];
// Required. The name of this agent.
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The default language of the agent as a language tag. See
// [Language
// Support](https://cloud.google.com/dialogflow/docs/reference/language)
// for a list of the currently supported language codes. This field cannot be
// set by the `Update` method.
string default_language_code = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. The list of all languages supported by this agent (except for the
// `default_language_code`).
repeated string supported_language_codes = 4
[(google.api.field_behavior) = OPTIONAL];
// Required. The time zone of this agent from the
// [time zone database](https://www.iana.org/time-zones), e.g.,
// America/New_York, Europe/Paris.
string time_zone = 5 [(google.api.field_behavior) = REQUIRED];
// Optional. The description of this agent.
// The maximum length is 500 characters. If exceeded, the request is rejected.
string description = 6 [(google.api.field_behavior) = OPTIONAL];
// Optional. The URI of the agent's avatar.
// Avatars are used throughout the Dialogflow console and in the self-hosted
// [Web
// Demo](https://cloud.google.com/dialogflow/docs/integrations/web-demo)
// integration.
string avatar_uri = 7 [(google.api.field_behavior) = OPTIONAL];
// Optional. Determines whether this agent should log conversation queries.
bool enable_logging = 8 [(google.api.field_behavior) = OPTIONAL];
// Optional. Determines how intents are detected from user queries.
MatchMode match_mode = 9
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
// Optional. To filter out false positive results and still get variety in
// matched natural language inputs for your agent, you can tune the machine
// learning classification threshold. If the returned score value is less than
// the threshold value, then a fallback intent will be triggered or, if there
// are no fallback intents defined, no intent will be triggered. The score
// values range from 0.0 (completely uncertain) to 1.0 (completely certain).
// If set to 0.0, the default of 0.3 is used.
float classification_threshold = 10 [(google.api.field_behavior) = OPTIONAL];
// Optional. API version displayed in Dialogflow console. If not specified,
// V2 API is assumed. Clients are free to query different service endpoints
// for different API versions. However, bots connectors and webhook calls will
// follow the specified API version.
ApiVersion api_version = 14 [(google.api.field_behavior) = OPTIONAL];
// Optional. The agent tier. If not specified, TIER_STANDARD is assumed.
Tier tier = 15 [(google.api.field_behavior) = OPTIONAL];
}
// The request message for
// [Agents.GetAgent][google.cloud.dialogflow.v2.Agents.GetAgent].
message GetAgentRequest {
// Required. The project that the agent to fetch is associated with.
// Format: `projects/`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "dialogflow.googleapis.com/Agent"
}
];
}
// The request message for
// [Agents.SetAgent][google.cloud.dialogflow.v2.Agents.SetAgent].
message SetAgentRequest {
// Required. The agent to update.
Agent agent = 1 [(google.api.field_behavior) = REQUIRED];
// Optional. The mask to control which fields get updated.
google.protobuf.FieldMask update_mask = 2
[(google.api.field_behavior) = OPTIONAL];
}
// The request message for
// [Agents.DeleteAgent][google.cloud.dialogflow.v2.Agents.DeleteAgent].
message DeleteAgentRequest {
// Required. The project that the agent to delete is associated with.
// Format: `projects/`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "dialogflow.googleapis.com/Agent"
}
];
}
// The request message for
// [Agents.SearchAgents][google.cloud.dialogflow.v2.Agents.SearchAgents].
message SearchAgentsRequest {
// Required. The project to list agents from.
// Format: `projects/`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "dialogflow.googleapis.com/Agent"
}
];
// Optional. The maximum number of items to return in a single page. By
// default 100 and at most 1000.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
// The next_page_token value returned from a previous list request.
string page_token = 3;
}
// The response message for
// [Agents.SearchAgents][google.cloud.dialogflow.v2.Agents.SearchAgents].
message SearchAgentsResponse {
// The list of agents. There will be a maximum number of items returned based
// on the page_size field in the request.
repeated Agent agents = 1;
// Token to retrieve the next page of results, or empty if there are no
// more results in the list.
string next_page_token = 2;
}
// The request message for
// [Agents.TrainAgent][google.cloud.dialogflow.v2.Agents.TrainAgent].
message TrainAgentRequest {
// Required. The project that the agent to train is associated with.
// Format: `projects/`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "dialogflow.googleapis.com/Agent"
}
];
}
// The request message for
// [Agents.ExportAgent][google.cloud.dialogflow.v2.Agents.ExportAgent].
message ExportAgentRequest {
// Required. The project that the agent to export is associated with.
// Format: `projects/`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "dialogflow.googleapis.com/Agent"
}
];
// Required. The [Google Cloud
// Storage](https://cloud.google.com/storage/docs/) URI to export the agent
// to. The format of this URI must be `gs:///`. If
// left unspecified, the serialized agent is returned inline.
//
// Dialogflow performs a write operation for the Cloud Storage object
// on the caller's behalf, so your request authentication must
// have write permissions for the object. For more information, see
// [Dialogflow access
// control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).
string agent_uri = 2 [(google.api.field_behavior) = REQUIRED];
}
// The response message for
// [Agents.ExportAgent][google.cloud.dialogflow.v2.Agents.ExportAgent].
message ExportAgentResponse {
// The exported agent.
oneof agent {
// The URI to a file containing the exported agent. This field is populated
// only if `agent_uri` is specified in `ExportAgentRequest`.
string agent_uri = 1;
// Zip compressed raw byte content for agent.
bytes agent_content = 2;
}
}
// The request message for
// [Agents.ImportAgent][google.cloud.dialogflow.v2.Agents.ImportAgent].
message ImportAgentRequest {
// Required. The project that the agent to import is associated with.
// Format: `projects/`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "dialogflow.googleapis.com/Agent"
}
];
// Required. The agent to import.
oneof agent {
// The URI to a Google Cloud Storage file containing the agent to import.
// Note: The URI must start with "gs://".
//
// Dialogflow performs a read operation for the Cloud Storage object
// on the caller's behalf, so your request authentication must
// have read permissions for the object. For more information, see
// [Dialogflow access
// control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).
string agent_uri = 2;
// Zip compressed raw byte content for agent.
bytes agent_content = 3;
}
}
// The request message for
// [Agents.RestoreAgent][google.cloud.dialogflow.v2.Agents.RestoreAgent].
message RestoreAgentRequest {
// Required. The project that the agent to restore is associated with.
// Format: `projects/`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "dialogflow.googleapis.com/Agent"
}
];
// Required. The agent to restore.
oneof agent {
// The URI to a Google Cloud Storage file containing the agent to restore.
// Note: The URI must start with "gs://".
//
// Dialogflow performs a read operation for the Cloud Storage object
// on the caller's behalf, so your request authentication must
// have read permissions for the object. For more information, see
// [Dialogflow access
// control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).
string agent_uri = 2;
// Zip compressed raw byte content for agent.
bytes agent_content = 3;
}
}
// The request message for
// [Agents.GetValidationResult][google.cloud.dialogflow.v2.Agents.GetValidationResult].
message GetValidationResultRequest {
// Required. The project that the agent is associated with.
// Format: `projects/`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "dialogflow.googleapis.com/Agent"
}
];
// Optional. The language for which you want a validation result. If not
// specified, the agent's default language is used. [Many
// languages](https://cloud.google.com/dialogflow/docs/reference/language)
// are supported. Note: languages must be enabled in the agent before they can
// be used.
string language_code = 3 [(google.api.field_behavior) = OPTIONAL];
}