conversation_model.proto 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. // Copyright 2022 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.cloud.dialogflow.v2;
  16. import "google/api/annotations.proto";
  17. import "google/api/client.proto";
  18. import "google/api/field_behavior.proto";
  19. import "google/api/resource.proto";
  20. import "google/longrunning/operations.proto";
  21. import "google/protobuf/timestamp.proto";
  22. option cc_enable_arenas = true;
  23. option csharp_namespace = "Google.Cloud.Dialogflow.V2";
  24. option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
  25. option java_multiple_files = true;
  26. option java_outer_classname = "ConversationModelProto";
  27. option java_package = "com.google.cloud.dialogflow.v2";
  28. option objc_class_prefix = "DF";
  29. // Manages a collection of models for human agent assistant.
  30. service ConversationModels {
  31. option (google.api.default_host) = "dialogflow.googleapis.com";
  32. option (google.api.oauth_scopes) =
  33. "https://www.googleapis.com/auth/cloud-platform,"
  34. "https://www.googleapis.com/auth/dialogflow";
  35. // Creates a model.
  36. //
  37. // This method is a [long-running
  38. // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
  39. // The returned `Operation` type has the following method-specific fields:
  40. //
  41. // - `metadata`: [CreateConversationModelOperationMetadata][google.cloud.dialogflow.v2.CreateConversationModelOperationMetadata]
  42. // - `response`: [ConversationModel][google.cloud.dialogflow.v2.ConversationModel]
  43. rpc CreateConversationModel(CreateConversationModelRequest) returns (google.longrunning.Operation) {
  44. option (google.api.http) = {
  45. post: "/v2/{parent=projects/*}/conversationModels"
  46. body: "conversation_model"
  47. additional_bindings {
  48. post: "/v2/{parent=projects/*/locations/*}/conversationModels"
  49. body: "conversation_model"
  50. }
  51. };
  52. option (google.api.method_signature) = "parent,conversation_model";
  53. option (google.longrunning.operation_info) = {
  54. response_type: "ConversationModel"
  55. metadata_type: "CreateConversationModelOperationMetadata"
  56. };
  57. }
  58. // Gets conversation model.
  59. rpc GetConversationModel(GetConversationModelRequest) returns (ConversationModel) {
  60. option (google.api.http) = {
  61. get: "/v2/{name=projects/*/conversationModels/*}"
  62. additional_bindings {
  63. get: "/v2/{name=projects/*/locations/*/conversationModels/*}"
  64. }
  65. };
  66. option (google.api.method_signature) = "name";
  67. }
  68. // Lists conversation models.
  69. rpc ListConversationModels(ListConversationModelsRequest) returns (ListConversationModelsResponse) {
  70. option (google.api.http) = {
  71. get: "/v2/{parent=projects/*}/conversationModels"
  72. additional_bindings {
  73. get: "/v2/{parent=projects/*/locations/*}/conversationModels"
  74. }
  75. };
  76. option (google.api.method_signature) = "parent";
  77. }
  78. // Deletes a model.
  79. //
  80. // This method is a [long-running
  81. // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
  82. // The returned `Operation` type has the following method-specific fields:
  83. //
  84. // - `metadata`: [DeleteConversationModelOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationModelOperationMetadata]
  85. // - `response`: An [Empty
  86. // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
  87. rpc DeleteConversationModel(DeleteConversationModelRequest) returns (google.longrunning.Operation) {
  88. option (google.api.http) = {
  89. delete: "/v2/{name=projects/*/conversationModels/*}"
  90. additional_bindings {
  91. delete: "/v2/{name=projects/*/locations/*/conversationModels/*}"
  92. }
  93. };
  94. option (google.api.method_signature) = "name";
  95. option (google.longrunning.operation_info) = {
  96. response_type: "google.protobuf.Empty"
  97. metadata_type: "DeleteConversationModelOperationMetadata"
  98. };
  99. }
  100. // Deploys a model. If a model is already deployed, deploying it
  101. // has no effect. A model can only serve prediction requests after it gets
  102. // deployed. For article suggestion, custom model will not be used unless
  103. // it is deployed.
  104. //
  105. // This method is a [long-running
  106. // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
  107. // The returned `Operation` type has the following method-specific fields:
  108. //
  109. // - `metadata`: [DeployConversationModelOperationMetadata][google.cloud.dialogflow.v2.DeployConversationModelOperationMetadata]
  110. // - `response`: An [Empty
  111. // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
  112. rpc DeployConversationModel(DeployConversationModelRequest) returns (google.longrunning.Operation) {
  113. option (google.api.http) = {
  114. post: "/v2/{name=projects/*/conversationModels/*}:deploy"
  115. body: "*"
  116. additional_bindings {
  117. post: "/v2/{name=projects/*/locations/*/conversationModels/*}:deploy"
  118. body: "*"
  119. }
  120. };
  121. option (google.longrunning.operation_info) = {
  122. response_type: "google.protobuf.Empty"
  123. metadata_type: "DeployConversationModelOperationMetadata"
  124. };
  125. }
  126. // Undeploys a model. If the model is not deployed this method has no effect.
  127. // If the model is currently being used:
  128. // - For article suggestion, article suggestion will fallback to the default
  129. // model if model is undeployed.
  130. //
  131. // This method is a [long-running
  132. // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
  133. // The returned `Operation` type has the following method-specific fields:
  134. //
  135. // - `metadata`: [UndeployConversationModelOperationMetadata][google.cloud.dialogflow.v2.UndeployConversationModelOperationMetadata]
  136. // - `response`: An [Empty
  137. // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
  138. rpc UndeployConversationModel(UndeployConversationModelRequest) returns (google.longrunning.Operation) {
  139. option (google.api.http) = {
  140. post: "/v2/{name=projects/*/conversationModels/*}:undeploy"
  141. body: "*"
  142. additional_bindings {
  143. post: "/v2/{name=projects/*/locations/*/conversationModels/*}:undeploy"
  144. body: "*"
  145. }
  146. };
  147. option (google.longrunning.operation_info) = {
  148. response_type: "google.protobuf.Empty"
  149. metadata_type: "UndeployConversationModelOperationMetadata"
  150. };
  151. }
  152. // Gets an evaluation of conversation model.
  153. rpc GetConversationModelEvaluation(GetConversationModelEvaluationRequest) returns (ConversationModelEvaluation) {
  154. option (google.api.http) = {
  155. get: "/v2/{name=projects/*/conversationModels/*/evaluations/*}"
  156. additional_bindings {
  157. get: "/v2/{name=projects/*/locations/*/conversationModels/*/evaluations/*}"
  158. }
  159. };
  160. option (google.api.method_signature) = "name";
  161. }
  162. // Lists evaluations of a conversation model.
  163. rpc ListConversationModelEvaluations(ListConversationModelEvaluationsRequest) returns (ListConversationModelEvaluationsResponse) {
  164. option (google.api.http) = {
  165. get: "/v2/{parent=projects/*/conversationModels/*}/evaluations"
  166. additional_bindings {
  167. get: "/v2/{parent=projects/*/locations/*/conversationModels/*}/evaluations"
  168. }
  169. };
  170. option (google.api.method_signature) = "parent";
  171. }
  172. // Creates evaluation of a conversation model.
  173. rpc CreateConversationModelEvaluation(CreateConversationModelEvaluationRequest) returns (google.longrunning.Operation) {
  174. option (google.api.http) = {
  175. post: "/v2/{parent=projects/*/locations/*/conversationModels/*}/evaluations"
  176. body: "*"
  177. };
  178. option (google.api.method_signature) = "parent,conversation_model_evaluation";
  179. option (google.longrunning.operation_info) = {
  180. response_type: "ConversationModelEvaluation"
  181. metadata_type: "CreateConversationModelEvaluationOperationMetadata"
  182. };
  183. }
  184. }
  185. // Represents a conversation model.
  186. message ConversationModel {
  187. option (google.api.resource) = {
  188. type: "dialogflow.googleapis.com/ConversationModel"
  189. pattern: "projects/{project}/locations/{location}/conversationModels/{conversation_model}"
  190. pattern: "projects/{project}/conversationModels/{conversation_model}"
  191. };
  192. // State of the model.
  193. enum State {
  194. // Should not be used, an un-set enum has this value by default.
  195. STATE_UNSPECIFIED = 0;
  196. // Model being created.
  197. CREATING = 1;
  198. // Model is not deployed but ready to deploy.
  199. UNDEPLOYED = 2;
  200. // Model is deploying.
  201. DEPLOYING = 3;
  202. // Model is deployed and ready to use.
  203. DEPLOYED = 4;
  204. // Model is undeploying.
  205. UNDEPLOYING = 5;
  206. // Model is deleting.
  207. DELETING = 6;
  208. // Model is in error state. Not ready to deploy and use.
  209. FAILED = 7;
  210. // Model is being created but the training has not started,
  211. // The model may remain in this state until there is enough capacity to
  212. // start training.
  213. PENDING = 8;
  214. }
  215. // Model type.
  216. enum ModelType {
  217. // ModelType unspecified.
  218. MODEL_TYPE_UNSPECIFIED = 0;
  219. // ModelType smart reply dual encoder model.
  220. SMART_REPLY_DUAL_ENCODER_MODEL = 2;
  221. // ModelType smart reply bert model.
  222. SMART_REPLY_BERT_MODEL = 6;
  223. }
  224. // ConversationModel resource name. Format:
  225. // `projects/<Project ID>/conversationModels/<Conversation Model ID>`
  226. string name = 1;
  227. // Required. The display name of the model. At most 64 bytes long.
  228. string display_name = 2 [(google.api.field_behavior) = REQUIRED];
  229. // Output only. Creation time of this model.
  230. google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  231. // Required. Datasets used to create model.
  232. repeated InputDataset datasets = 4 [(google.api.field_behavior) = REQUIRED];
  233. // Output only. State of the model. A model can only serve prediction requests
  234. // after it gets deployed.
  235. State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  236. // Language code for the conversation model. If not specified, the language
  237. // is en-US. Language at ConversationModel should be set for all non en-us
  238. // languages.
  239. // This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
  240. // language tag. Example: "en-US".
  241. string language_code = 19;
  242. // Required.
  243. // The model metadata that is specific to the problem type.
  244. // Must match the metadata type of the dataset used to train the model.
  245. oneof model_metadata {
  246. // Metadata for article suggestion models.
  247. ArticleSuggestionModelMetadata article_suggestion_model_metadata = 8;
  248. // Metadata for smart reply models.
  249. SmartReplyModelMetadata smart_reply_model_metadata = 9;
  250. }
  251. }
  252. // Represents evaluation result of a conversation model.
  253. message ConversationModelEvaluation {
  254. option (google.api.resource) = {
  255. type: "dialogflow.googleapis.com/ConversationModelEvaluation"
  256. pattern: "projects/{project}/conversationModels/{conversation_model}/evaluations/{evaluation}"
  257. pattern: "projects/{project}/locations/{location}/conversationModels/{conversation_model}/evaluations/{evaluation}"
  258. };
  259. // The resource name of the evaluation. Format:
  260. // `projects/<Project ID>/conversationModels/<Conversation Model
  261. // ID>/evaluations/<Evaluation ID>`
  262. string name = 1;
  263. // Optional. The display name of the model evaluation. At most 64 bytes long.
  264. string display_name = 2 [(google.api.field_behavior) = OPTIONAL];
  265. // Optional. The configuration of the evaluation task.
  266. EvaluationConfig evaluation_config = 6 [(google.api.field_behavior) = OPTIONAL];
  267. // Output only. Creation time of this model.
  268. google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  269. // Metrics details.
  270. oneof metrics {
  271. // Output only. Only available when model is for smart reply.
  272. SmartReplyMetrics smart_reply_metrics = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  273. }
  274. }
  275. // The configuration for model evaluation.
  276. message EvaluationConfig {
  277. // Smart reply specific configuration for evaluation job.
  278. message SmartReplyConfig {
  279. // The allowlist document resource name.
  280. // Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base
  281. // ID>/documents/<Document ID>`. Only used for smart reply model.
  282. string allowlist_document = 1 [(google.api.resource_reference) = {
  283. type: "dialogflow.googleapis.com/Document"
  284. }];
  285. // Required. The model to be evaluated can return multiple results with confidence
  286. // score on each query. These results will be sorted by the descending order
  287. // of the scores and we only keep the first max_result_count results as the
  288. // final results to evaluate.
  289. int32 max_result_count = 2 [(google.api.field_behavior) = REQUIRED];
  290. }
  291. // Smart compose specific configuration for evaluation job.
  292. message SmartComposeConfig {
  293. // The allowlist document resource name.
  294. // Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base
  295. // ID>/documents/<Document ID>`. Only used for smart compose model.
  296. string allowlist_document = 1 [(google.api.resource_reference) = {
  297. type: "dialogflow.googleapis.com/Document"
  298. }];
  299. // Required. The model to be evaluated can return multiple results with confidence
  300. // score on each query. These results will be sorted by the descending order
  301. // of the scores and we only keep the first max_result_count results as the
  302. // final results to evaluate.
  303. int32 max_result_count = 2 [(google.api.field_behavior) = REQUIRED];
  304. }
  305. // Required. Datasets used for evaluation.
  306. repeated InputDataset datasets = 3 [(google.api.field_behavior) = REQUIRED];
  307. // Specific configurations for different models in order to do evaluation.
  308. oneof model_specific_config {
  309. // Configuration for smart reply model evalution.
  310. SmartReplyConfig smart_reply_config = 2;
  311. // Configuration for smart compose model evalution.
  312. SmartComposeConfig smart_compose_config = 4;
  313. }
  314. }
  315. // InputDataset used to create model or do evaluation.
  316. // NextID:5
  317. message InputDataset {
  318. // Required. ConversationDataset resource name. Format:
  319. // `projects/<Project ID>/locations/<Location
  320. // ID>/conversationDatasets/<Conversation Dataset ID>`
  321. string dataset = 1 [
  322. (google.api.field_behavior) = REQUIRED,
  323. (google.api.resource_reference) = {
  324. type: "dialogflow.googleapis.com/ConversationDataset"
  325. }
  326. ];
  327. }
  328. // Metadata for article suggestion models.
  329. message ArticleSuggestionModelMetadata {
  330. // Optional. Type of the article suggestion model. If not provided, model_type is used.
  331. ConversationModel.ModelType training_model_type = 3 [(google.api.field_behavior) = OPTIONAL];
  332. }
  333. // Metadata for smart reply models.
  334. message SmartReplyModelMetadata {
  335. // Optional. Type of the smart reply model. If not provided, model_type is used.
  336. ConversationModel.ModelType training_model_type = 6 [(google.api.field_behavior) = OPTIONAL];
  337. }
  338. // The evaluation metrics for smart reply model.
  339. message SmartReplyMetrics {
  340. // Evaluation metrics when retrieving `n` smart replies with the model.
  341. message TopNMetrics {
  342. // Number of retrieved smart replies. For example, when `n` is 3, this
  343. // evaluation contains metrics for when Dialogflow retrieves 3 smart replies
  344. // with the model.
  345. int32 n = 1;
  346. // Defined as `number of queries whose top n smart replies have at least one
  347. // similar (token match similarity above the defined threshold) reply as the
  348. // real reply` divided by `number of queries with at least one smart reply`.
  349. // Value ranges from 0.0 to 1.0 inclusive.
  350. float recall = 2;
  351. }
  352. // Percentage of target participant messages in the evaluation dataset for
  353. // which similar messages have appeared at least once in the allowlist. Should
  354. // be [0, 1].
  355. float allowlist_coverage = 1;
  356. // Metrics of top n smart replies, sorted by [TopNMetric.n][].
  357. repeated TopNMetrics top_n_metrics = 2;
  358. // Total number of conversations used to generate this metric.
  359. int64 conversation_count = 3;
  360. }
  361. // The request message for
  362. // [ConversationModels.CreateConversationModel][google.cloud.dialogflow.v2.ConversationModels.CreateConversationModel]
  363. message CreateConversationModelRequest {
  364. // The project to create conversation model for. Format:
  365. // `projects/<Project ID>`
  366. string parent = 1;
  367. // Required. The conversation model to create.
  368. ConversationModel conversation_model = 2 [(google.api.field_behavior) = REQUIRED];
  369. }
  370. // The request message for
  371. // [ConversationModels.GetConversationModel][google.cloud.dialogflow.v2.ConversationModels.GetConversationModel]
  372. message GetConversationModelRequest {
  373. // Required. The conversation model to retrieve. Format:
  374. // `projects/<Project ID>/conversationModels/<Conversation Model ID>`
  375. string name = 1 [(google.api.field_behavior) = REQUIRED];
  376. }
  377. // The request message for
  378. // [ConversationModels.ListConversationModels][google.cloud.dialogflow.v2.ConversationModels.ListConversationModels]
  379. message ListConversationModelsRequest {
  380. // Required. The project to list all conversation models for.
  381. // Format: `projects/<Project ID>`
  382. string parent = 1 [(google.api.field_behavior) = REQUIRED];
  383. // Optional. Maximum number of conversation models to return in a single
  384. // page. By default 100 and at most 1000.
  385. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
  386. // Optional. The next_page_token value returned from a previous list request.
  387. string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
  388. }
  389. // The response message for
  390. // [ConversationModels.ListConversationModels][google.cloud.dialogflow.v2.ConversationModels.ListConversationModels]
  391. message ListConversationModelsResponse {
  392. // The list of models to return.
  393. repeated ConversationModel conversation_models = 1;
  394. // Token to retrieve the next page of results, or empty if there are no more
  395. // results in the list.
  396. string next_page_token = 2;
  397. }
  398. // The request message for
  399. // [ConversationModels.DeleteConversationModel][google.cloud.dialogflow.v2.ConversationModels.DeleteConversationModel]
  400. message DeleteConversationModelRequest {
  401. // Required. The conversation model to delete. Format:
  402. // `projects/<Project ID>/conversationModels/<Conversation Model ID>`
  403. string name = 1 [(google.api.field_behavior) = REQUIRED];
  404. }
  405. // The request message for
  406. // [ConversationModels.DeployConversationModel][google.cloud.dialogflow.v2.ConversationModels.DeployConversationModel]
  407. message DeployConversationModelRequest {
  408. // Required. The conversation model to deploy. Format:
  409. // `projects/<Project ID>/conversationModels/<Conversation Model ID>`
  410. string name = 1 [(google.api.field_behavior) = REQUIRED];
  411. }
  412. // The request message for
  413. // [ConversationModels.UndeployConversationModel][google.cloud.dialogflow.v2.ConversationModels.UndeployConversationModel]
  414. message UndeployConversationModelRequest {
  415. // Required. The conversation model to undeploy. Format:
  416. // `projects/<Project ID>/conversationModels/<Conversation Model ID>`
  417. string name = 1 [(google.api.field_behavior) = REQUIRED];
  418. }
  419. // The request message for
  420. // [ConversationModels.GetConversationModelEvaluation][google.cloud.dialogflow.v2.ConversationModels.GetConversationModelEvaluation]
  421. message GetConversationModelEvaluationRequest {
  422. // Required. The conversation model evaluation resource name. Format:
  423. // `projects/<Project ID>/conversationModels/<Conversation Model
  424. // ID>/evaluations/<Evaluation ID>`
  425. string name = 1 [(google.api.field_behavior) = REQUIRED];
  426. }
  427. // The request message for
  428. // [ConversationModels.ListConversationModelEvaluations][google.cloud.dialogflow.v2.ConversationModels.ListConversationModelEvaluations]
  429. message ListConversationModelEvaluationsRequest {
  430. // Required. The conversation model resource name. Format:
  431. // `projects/<Project ID>/conversationModels/<Conversation Model ID>`
  432. string parent = 1 [(google.api.field_behavior) = REQUIRED];
  433. // Optional. Maximum number of evaluations to return in a
  434. // single page. By default 100 and at most 1000.
  435. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
  436. // Optional. The next_page_token value returned from a previous list request.
  437. string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
  438. }
  439. // The response message for
  440. // [ConversationModels.ListConversationModelEvaluations][google.cloud.dialogflow.v2.ConversationModels.ListConversationModelEvaluations]
  441. message ListConversationModelEvaluationsResponse {
  442. // The list of evaluations to return.
  443. repeated ConversationModelEvaluation conversation_model_evaluations = 1;
  444. // Token to retrieve the next page of results, or empty if there are no more
  445. // results in the list.
  446. string next_page_token = 2;
  447. }
  448. // The request message for
  449. // [ConversationModels.CreateConversationModelEvaluation][google.cloud.dialogflow.v2.ConversationModels.CreateConversationModelEvaluation]
  450. message CreateConversationModelEvaluationRequest {
  451. // Required. The conversation model resource name. Format:
  452. // `projects/<Project ID>/locations/<Location
  453. // ID>/conversationModels/<Conversation Model ID>`
  454. string parent = 1 [
  455. (google.api.field_behavior) = REQUIRED,
  456. (google.api.resource_reference) = {
  457. child_type: "dialogflow.googleapis.com/ConversationModelEvaluation"
  458. }
  459. ];
  460. // Required. The conversation model evaluation to be created.
  461. ConversationModelEvaluation conversation_model_evaluation = 2 [(google.api.field_behavior) = REQUIRED];
  462. }
  463. // Metadata for a [ConversationModels.CreateConversationModel][google.cloud.dialogflow.v2.ConversationModels.CreateConversationModel] operation.
  464. message CreateConversationModelOperationMetadata {
  465. // State of CreateConversationModel operation.
  466. enum State {
  467. // Invalid.
  468. STATE_UNSPECIFIED = 0;
  469. // Request is submitted, but training has not started yet.
  470. // The model may remain in this state until there is enough capacity to
  471. // start training.
  472. PENDING = 1;
  473. // The training has succeeded.
  474. SUCCEEDED = 2;
  475. // The training has succeeded.
  476. FAILED = 3;
  477. // The training has been cancelled.
  478. CANCELLED = 4;
  479. // The training is in cancelling state.
  480. CANCELLING = 5;
  481. // Custom model is training.
  482. TRAINING = 6;
  483. }
  484. // The resource name of the conversation model. Format:
  485. // `projects/<Project ID>/conversationModels/<Conversation Model Id>`
  486. string conversation_model = 1;
  487. // State of CreateConversationModel operation.
  488. State state = 2;
  489. // Timestamp when the request to create conversation model is submitted. The
  490. // time is measured on server side.
  491. google.protobuf.Timestamp create_time = 3;
  492. }
  493. // Metadata for a [ConversationModels.DeployConversationModel][google.cloud.dialogflow.v2.ConversationModels.DeployConversationModel] operation.
  494. message DeployConversationModelOperationMetadata {
  495. // The resource name of the conversation model. Format:
  496. // `projects/<Project ID>/conversationModels/<Conversation Model Id>`
  497. string conversation_model = 1;
  498. // Timestamp when request to deploy conversation model was submitted. The time
  499. // is measured on server side.
  500. google.protobuf.Timestamp create_time = 3;
  501. }
  502. // Metadata for a [ConversationModels.UndeployConversationModel][google.cloud.dialogflow.v2.ConversationModels.UndeployConversationModel] operation.
  503. message UndeployConversationModelOperationMetadata {
  504. // The resource name of the conversation model. Format:
  505. // `projects/<Project ID>/conversationModels/<Conversation Model Id>`
  506. string conversation_model = 1;
  507. // Timestamp when the request to undeploy conversation model was submitted.
  508. // The time is measured on server side.
  509. google.protobuf.Timestamp create_time = 3;
  510. }
  511. // Metadata for a [ConversationModels.DeleteConversationModel][google.cloud.dialogflow.v2.ConversationModels.DeleteConversationModel] operation.
  512. message DeleteConversationModelOperationMetadata {
  513. // The resource name of the conversation model. Format:
  514. // `projects/<Project ID>/conversationModels/<Conversation Model Id>`
  515. string conversation_model = 1;
  516. // Timestamp when delete conversation model request was created. The time is
  517. // measured on server side.
  518. google.protobuf.Timestamp create_time = 3;
  519. }
  520. // Metadata for a
  521. // [ConversationModels.CreateConversationModelEvaluation][google.cloud.dialogflow.v2.ConversationModels.CreateConversationModelEvaluation]
  522. // operation.
  523. message CreateConversationModelEvaluationOperationMetadata {
  524. // State of CreateConversationModel operation.
  525. enum State {
  526. // Operation status not specified.
  527. STATE_UNSPECIFIED = 0;
  528. // The operation is being prepared.
  529. INITIALIZING = 1;
  530. // The operation is running.
  531. RUNNING = 2;
  532. // The operation is cancelled.
  533. CANCELLED = 3;
  534. // The operation has succeeded.
  535. SUCCEEDED = 4;
  536. // The operation has failed.
  537. FAILED = 5;
  538. }
  539. // The resource name of the conversation model. Format:
  540. // `projects/<Project ID>/locations/<Location
  541. // ID>/conversationModels/<Conversation Model Id>/evaluations/<Evaluation Id>`
  542. string conversation_model_evaluation = 1;
  543. // The resource name of the conversation model. Format:
  544. // `projects/<Project ID>/locations/<Location
  545. // ID>/conversationModels/<Conversation Model Id>`
  546. string conversation_model = 4;
  547. // State of CreateConversationModel operation.
  548. State state = 2;
  549. // Timestamp when the request to create conversation model was submitted. The
  550. // time is measured on server side.
  551. google.protobuf.Timestamp create_time = 3;
  552. }