ibm_watson 1.6.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,7 +13,9 @@
13
13
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
-
16
+ #
17
+ # IBM OpenAPI SDK Code Generator Version: 3.31.0-902c9336-20210504-161156
18
+ #
17
19
  # IBM Watson™ Language Translator translates text from one language to another.
18
20
  # The service offers multiple IBM-provided translation models that you can customize based
19
21
  # on your unique terminology and language. Use Language Translator to take news from
@@ -26,7 +28,6 @@ require "json"
26
28
  require "ibm_cloud_sdk_core"
27
29
  require_relative "./common.rb"
28
30
 
29
- # Module for the Watson APIs
30
31
  module IBMWatson
31
32
  ##
32
33
  # The Language Translator V3 service.
@@ -34,21 +35,14 @@ module IBMWatson
34
35
  include Concurrent::Async
35
36
  DEFAULT_SERVICE_NAME = "language_translator"
36
37
  DEFAULT_SERVICE_URL = "https://api.us-south.language-translator.watson.cloud.ibm.com"
38
+ attr_accessor :version
37
39
  ##
38
40
  # @!method initialize(args)
39
41
  # Construct a new client for the Language Translator service.
40
42
  #
41
43
  # @param args [Hash] The args to initialize with
42
- # @option args version [String] The API version date to use with the service, in
43
- # "YYYY-MM-DD" format. Whenever the API is changed in a backwards
44
- # incompatible way, a new minor version of the API is released.
45
- # The service uses the API version for the date you specify, or
46
- # the most recent version before that date. Note that you should
47
- # not programmatically specify the current date at runtime, in
48
- # case the API has been updated since your application's release.
49
- # Instead, specify a version date that is compatible with your
50
- # application, and don't change it until your application is
51
- # ready for a later version.
44
+ # @option args version [String] Release date of the version of the API you want to use. Specify dates in
45
+ # YYYY-MM-DD format. The current version is `2018-05-01`.
52
46
  # @option args service_url [String] The base service URL to use when contacting the service.
53
47
  # The base service_url may differ between IBM Cloud regions.
54
48
  # @option args authenticator [Object] The Authenticator instance to be configured for this service.
@@ -57,10 +51,10 @@ module IBMWatson
57
51
  def initialize(args = {})
58
52
  @__async_initialized__ = false
59
53
  defaults = {}
60
- defaults[:version] = nil
61
54
  defaults[:service_url] = DEFAULT_SERVICE_URL
62
55
  defaults[:service_name] = DEFAULT_SERVICE_NAME
63
56
  defaults[:authenticator] = nil
57
+ defaults[:version] = nil
64
58
  user_service_url = args[:service_url] unless args[:service_url].nil?
65
59
  args = defaults.merge(args)
66
60
  @version = args[:version]
@@ -78,11 +72,16 @@ module IBMWatson
78
72
  ##
79
73
  # @!method list_languages
80
74
  # List supported languages.
81
- # Lists all supported languages. The method returns an array of supported languages
82
- # with information about each language. Languages are listed in alphabetical order
83
- # by language code (for example, `af`, `ar`).
75
+ # Lists all supported languages for translation. The method returns an array of
76
+ # supported languages with information about each language. Languages are listed in
77
+ # alphabetical order by language code (for example, `af`, `ar`). In addition to
78
+ # basic information about each language, the response indicates whether the language
79
+ # is `supported_as_source` for translation and `supported_as_target` for
80
+ # translation. It also lists whether the language is `identifiable`.
84
81
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
85
82
  def list_languages
83
+ raise ArgumentError.new("version must be provided") if version.nil?
84
+
86
85
  headers = {
87
86
  }
88
87
  sdk_headers = Common.new.get_sdk_headers("language_translator", "V3", "list_languages")
@@ -116,8 +115,12 @@ module IBMWatson
116
115
  # service attempt to detect the language from the input text. If you omit the source
117
116
  # language, the request must contain sufficient input text for the service to
118
117
  # identify the source language.
119
- # @param text [Array[String]] Input text in UTF-8 encoding. Multiple entries result in multiple translations in
120
- # the response.
118
+ #
119
+ # You can translate a maximum of 50 KB (51,200 bytes) of text with a single request.
120
+ # All input text must be encoded in UTF-8 format.
121
+ # @param text [Array[String]] Input text in UTF-8 encoding. Submit a maximum of 50 KB (51,200 bytes) of text
122
+ # with a single request. Multiple elements result in multiple translations in the
123
+ # response.
121
124
  # @param model_id [String] The model to use for translation. For example, `en-de` selects the IBM-provided
122
125
  # base model for English-to-German translation. A model ID overrides the `source`
123
126
  # and `target` parameters and is required if you use a custom model. If no model ID
@@ -129,6 +132,8 @@ module IBMWatson
129
132
  # model ID is not specified.
130
133
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
131
134
  def translate(text:, model_id: nil, source: nil, target: nil)
135
+ raise ArgumentError.new("version must be provided") if version.nil?
136
+
132
137
  raise ArgumentError.new("text must be provided") if text.nil?
133
138
 
134
139
  headers = {
@@ -170,6 +175,8 @@ module IBMWatson
170
175
  # example, `en` for English or `es` for Spanish) and name of each language.
171
176
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
172
177
  def list_identifiable_languages
178
+ raise ArgumentError.new("version must be provided") if version.nil?
179
+
173
180
  headers = {
174
181
  }
175
182
  sdk_headers = Common.new.get_sdk_headers("language_translator", "V3", "list_identifiable_languages")
@@ -198,6 +205,8 @@ module IBMWatson
198
205
  # @param text [String] Input text in UTF-8 format.
199
206
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
200
207
  def identify(text:)
208
+ raise ArgumentError.new("version must be provided") if version.nil?
209
+
201
210
  raise ArgumentError.new("text must be provided") if text.nil?
202
211
 
203
212
  headers = {
@@ -241,6 +250,8 @@ module IBMWatson
241
250
  # model, per language pair.
242
251
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
243
252
  def list_models(source: nil, target: nil, default: nil)
253
+ raise ArgumentError.new("version must be provided") if version.nil?
254
+
244
255
  headers = {
245
256
  }
246
257
  sdk_headers = Common.new.get_sdk_headers("language_translator", "V3", "list_models")
@@ -302,9 +313,13 @@ module IBMWatson
302
313
  # * **XLIFF** (`.xliff`) - XML Localization Interchange File Format (XLIFF) is an
303
314
  # XML specification for the exchange of translation memories.
304
315
  # * **CSV** (`.csv`) - Comma-separated values (CSV) file with two columns for
305
- # aligned sentences and phrases. The first row contains the language code.
316
+ # aligned sentences and phrases. The first row must have two language codes. The
317
+ # first column is for the source language code, and the second column is for the
318
+ # target language code.
306
319
  # * **TSV** (`.tsv` or `.tab`) - Tab-separated values (TSV) file with two columns
307
- # for aligned sentences and phrases. The first row contains the language code.
320
+ # for aligned sentences and phrases. The first row must have two language codes. The
321
+ # first column is for the source language code, and the second column is for the
322
+ # target language code.
308
323
  # * **JSON** (`.json`) - Custom JSON format for specifying aligned sentences and
309
324
  # phrases.
310
325
  # * **Microsoft Excel** (`.xls` or `.xlsx`) - Excel file with the first two columns
@@ -365,6 +380,8 @@ module IBMWatson
365
380
  # length of the name is 32 characters.
366
381
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
367
382
  def create_model(base_model_id:, forced_glossary: nil, parallel_corpus: nil, name: nil)
383
+ raise ArgumentError.new("version must be provided") if version.nil?
384
+
368
385
  raise ArgumentError.new("base_model_id must be provided") if base_model_id.nil?
369
386
 
370
387
  headers = {
@@ -414,6 +431,8 @@ module IBMWatson
414
431
  # @param model_id [String] Model ID of the model to delete.
415
432
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
416
433
  def delete_model(model_id:)
434
+ raise ArgumentError.new("version must be provided") if version.nil?
435
+
417
436
  raise ArgumentError.new("model_id must be provided") if model_id.nil?
418
437
 
419
438
  headers = {
@@ -446,6 +465,8 @@ module IBMWatson
446
465
  # @param model_id [String] Model ID of the model to get.
447
466
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
448
467
  def get_model(model_id:)
468
+ raise ArgumentError.new("version must be provided") if version.nil?
469
+
449
470
  raise ArgumentError.new("model_id must be provided") if model_id.nil?
450
471
 
451
472
  headers = {
@@ -478,6 +499,8 @@ module IBMWatson
478
499
  # Lists documents that have been submitted for translation.
479
500
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
480
501
  def list_documents
502
+ raise ArgumentError.new("version must be provided") if version.nil?
503
+
481
504
  headers = {
482
505
  }
483
506
  sdk_headers = Common.new.get_sdk_headers("language_translator", "V3", "list_documents")
@@ -504,13 +527,14 @@ module IBMWatson
504
527
  # Translate document.
505
528
  # Submit a document for translation. You can submit the document contents in the
506
529
  # `file` parameter, or you can reference a previously submitted document by document
507
- # ID.
508
- # @param file [File] The contents of the source file to translate.
509
- #
510
- # [Supported file
511
- # types](https://cloud.ibm.com/docs/language-translator?topic=language-translator-document-translator-tutorial#supported-file-formats)
512
- #
513
- # Maximum file size: **20 MB**.
530
+ # ID. The maximum file size for document translation is
531
+ # * 20 MB for service instances on the Standard, Advanced, and Premium plans
532
+ # * 2 MB for service instances on the Lite plan.
533
+ # @param file [File] The contents of the source file to translate. The maximum file size for document
534
+ # translation is 20 MB for service instances on the Standard, Advanced, and Premium
535
+ # plans, and 2 MB for service instances on the Lite plan. For more information, see
536
+ # [Supported file formats
537
+ # (Beta)](https://cloud.ibm.com/docs/language-translator?topic=language-translator-document-translator-tutorial#supported-file-formats).
514
538
  # @param filename [String] The filename for file.
515
539
  # @param file_content_type [String] The content type of file.
516
540
  # @param model_id [String] The model to use for translation. For example, `en-de` selects the IBM-provided
@@ -526,6 +550,8 @@ module IBMWatson
526
550
  # the `document_id` of the document.
527
551
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
528
552
  def translate_document(file:, filename: nil, file_content_type: nil, model_id: nil, source: nil, target: nil, document_id: nil)
553
+ raise ArgumentError.new("version must be provided") if version.nil?
554
+
529
555
  raise ArgumentError.new("file must be provided") if file.nil?
530
556
 
531
557
  headers = {
@@ -573,6 +599,8 @@ module IBMWatson
573
599
  # @param document_id [String] The document ID of the document.
574
600
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
575
601
  def get_document_status(document_id:)
602
+ raise ArgumentError.new("version must be provided") if version.nil?
603
+
576
604
  raise ArgumentError.new("document_id must be provided") if document_id.nil?
577
605
 
578
606
  headers = {
@@ -603,6 +631,8 @@ module IBMWatson
603
631
  # @param document_id [String] Document ID of the document to delete.
604
632
  # @return [nil]
605
633
  def delete_document(document_id:)
634
+ raise ArgumentError.new("version must be provided") if version.nil?
635
+
606
636
  raise ArgumentError.new("document_id must be provided") if document_id.nil?
607
637
 
608
638
  headers = {
@@ -646,6 +676,8 @@ module IBMWatson
646
676
  # example, 'text/html;charset=utf-8'.
647
677
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
648
678
  def get_translated_document(document_id:, accept: nil)
679
+ raise ArgumentError.new("version must be provided") if version.nil?
680
+
649
681
  raise ArgumentError.new("document_id must be provided") if document_id.nil?
650
682
 
651
683
  headers = {
@@ -13,7 +13,9 @@
13
13
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
-
16
+ #
17
+ # IBM OpenAPI SDK Code Generator Version: 3.31.0-902c9336-20210504-161156
18
+ #
17
19
  # IBM Watson™ Natural Language Classifier uses machine learning algorithms to
18
20
  # return the top matching predefined classes for short text input. You create and train a
19
21
  # classifier to connect predefined classes to example texts so that the service can apply
@@ -25,7 +27,6 @@ require "json"
25
27
  require "ibm_cloud_sdk_core"
26
28
  require_relative "./common.rb"
27
29
 
28
- # Module for the Watson APIs
29
30
  module IBMWatson
30
31
  ##
31
32
  # The Natural Language Classifier V1 service.
@@ -13,7 +13,9 @@
13
13
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
-
16
+ #
17
+ # IBM OpenAPI SDK Code Generator Version: 3.31.0-902c9336-20210504-161156
18
+ #
17
19
  # Analyze various features of text content at scale. Provide text, raw HTML, or a public
18
20
  # URL and IBM Watson Natural Language Understanding will give you results for the features
19
21
  # you request. The service cleans HTML content before analysis by default, so the results
@@ -30,7 +32,6 @@ require "json"
30
32
  require "ibm_cloud_sdk_core"
31
33
  require_relative "./common.rb"
32
34
 
33
- # Module for the Watson APIs
34
35
  module IBMWatson
35
36
  ##
36
37
  # The Natural Language Understanding V1 service.
@@ -38,21 +39,14 @@ module IBMWatson
38
39
  include Concurrent::Async
39
40
  DEFAULT_SERVICE_NAME = "natural_language_understanding"
40
41
  DEFAULT_SERVICE_URL = "https://api.us-south.natural-language-understanding.watson.cloud.ibm.com"
42
+ attr_accessor :version
41
43
  ##
42
44
  # @!method initialize(args)
43
45
  # Construct a new client for the Natural Language Understanding service.
44
46
  #
45
47
  # @param args [Hash] The args to initialize with
46
- # @option args version [String] The API version date to use with the service, in
47
- # "YYYY-MM-DD" format. Whenever the API is changed in a backwards
48
- # incompatible way, a new minor version of the API is released.
49
- # The service uses the API version for the date you specify, or
50
- # the most recent version before that date. Note that you should
51
- # not programmatically specify the current date at runtime, in
52
- # case the API has been updated since your application's release.
53
- # Instead, specify a version date that is compatible with your
54
- # application, and don't change it until your application is
55
- # ready for a later version.
48
+ # @option args version [String] Release date of the API version you want to use. Specify dates in YYYY-MM-DD
49
+ # format. The current version is `2021-03-25`.
56
50
  # @option args service_url [String] The base service URL to use when contacting the service.
57
51
  # The base service_url may differ between IBM Cloud regions.
58
52
  # @option args authenticator [Object] The Authenticator instance to be configured for this service.
@@ -61,10 +55,10 @@ module IBMWatson
61
55
  def initialize(args = {})
62
56
  @__async_initialized__ = false
63
57
  defaults = {}
64
- defaults[:version] = nil
65
58
  defaults[:service_url] = DEFAULT_SERVICE_URL
66
59
  defaults[:service_name] = DEFAULT_SERVICE_NAME
67
60
  defaults[:authenticator] = nil
61
+ defaults[:version] = nil
68
62
  user_service_url = args[:service_url] unless args[:service_url].nil?
69
63
  args = defaults.merge(args)
70
64
  @version = args[:version]
@@ -84,6 +78,7 @@ module IBMWatson
84
78
  # Analyze text.
85
79
  # Analyzes text, HTML, or a public webpage for the following features:
86
80
  # - Categories
81
+ # - Classifications
87
82
  # - Concepts
88
83
  # - Emotion
89
84
  # - Entities
@@ -92,7 +87,8 @@ module IBMWatson
92
87
  # - Relations
93
88
  # - Semantic roles
94
89
  # - Sentiment
95
- # - Syntax.
90
+ # - Syntax
91
+ # - Summarization (Experimental)
96
92
  #
97
93
  # If a language for the input text is not specified with the `language` parameter,
98
94
  # the service [automatically detects the
@@ -121,6 +117,8 @@ module IBMWatson
121
117
  # @param limit_text_characters [Fixnum] Sets the maximum number of characters that are processed by the service.
122
118
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
123
119
  def analyze(features:, text: nil, html: nil, url: nil, clean: nil, xpath: nil, fallback_to_raw: nil, return_analyzed_text: nil, language: nil, limit_text_characters: nil)
120
+ raise ArgumentError.new("version must be provided") if version.nil?
121
+
124
122
  raise ArgumentError.new("features must be provided") if features.nil?
125
123
 
126
124
  headers = {
@@ -169,6 +167,8 @@ module IBMWatson
169
167
  # that are deployed to your Natural Language Understanding service.
170
168
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
171
169
  def list_models
170
+ raise ArgumentError.new("version must be provided") if version.nil?
171
+
172
172
  headers = {
173
173
  }
174
174
  sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "list_models")
@@ -197,6 +197,8 @@ module IBMWatson
197
197
  # @param model_id [String] Model ID of the model to delete.
198
198
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
199
199
  def delete_model(model_id:)
200
+ raise ArgumentError.new("version must be provided") if version.nil?
201
+
200
202
  raise ArgumentError.new("model_id must be provided") if model_id.nil?
201
203
 
202
204
  headers = {
@@ -210,6 +212,695 @@ module IBMWatson
210
212
 
211
213
  method_url = "/v1/models/%s" % [ERB::Util.url_encode(model_id)]
212
214
 
215
+ response = request(
216
+ method: "DELETE",
217
+ url: method_url,
218
+ headers: headers,
219
+ params: params,
220
+ accept_json: true
221
+ )
222
+ response
223
+ end
224
+ #########################
225
+ # Manage sentiment models
226
+ #########################
227
+
228
+ ##
229
+ # @!method create_sentiment_model(language:, training_data:, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
230
+ # Create sentiment model.
231
+ # (Beta) Creates a custom sentiment model by uploading training data and associated
232
+ # metadata. The model begins the training and deploying process and is ready to use
233
+ # when the `status` is `available`.
234
+ # @param language [String] The 2-letter language code of this model.
235
+ # @param training_data [File] Training data in CSV format. For more information, see [Sentiment training data
236
+ # requirements](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-custom-sentiment#sentiment-training-data-requirements).
237
+ # @param name [String] An optional name for the model.
238
+ # @param description [String] An optional description of the model.
239
+ # @param model_version [String] An optional version string.
240
+ # @param workspace_id [String] ID of the Watson Knowledge Studio workspace that deployed this model to Natural
241
+ # Language Understanding.
242
+ # @param version_description [String] The description of the version.
243
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
244
+ def create_sentiment_model(language:, training_data:, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
245
+ raise ArgumentError.new("version must be provided") if version.nil?
246
+
247
+ raise ArgumentError.new("language must be provided") if language.nil?
248
+
249
+ raise ArgumentError.new("training_data must be provided") if training_data.nil?
250
+
251
+ headers = {
252
+ }
253
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "create_sentiment_model")
254
+ headers.merge!(sdk_headers)
255
+
256
+ params = {
257
+ "version" => @version
258
+ }
259
+
260
+ form_data = {}
261
+
262
+ form_data[:language] = HTTP::FormData::Part.new(language.to_s, content_type: "text/plain")
263
+
264
+ unless training_data.instance_of?(StringIO) || training_data.instance_of?(File)
265
+ training_data = training_data.respond_to?(:to_json) ? StringIO.new(training_data.to_json) : StringIO.new(training_data)
266
+ end
267
+ form_data[:training_data] = HTTP::FormData::File.new(training_data, content_type: "text/csv", filename: training_data.respond_to?(:path) ? training_data.path : nil)
268
+
269
+ form_data[:name] = HTTP::FormData::Part.new(name.to_s, content_type: "text/plain") unless name.nil?
270
+
271
+ form_data[:description] = HTTP::FormData::Part.new(description.to_s, content_type: "text/plain") unless description.nil?
272
+
273
+ form_data[:model_version] = HTTP::FormData::Part.new(model_version.to_s, content_type: "text/plain") unless model_version.nil?
274
+
275
+ form_data[:workspace_id] = HTTP::FormData::Part.new(workspace_id.to_s, content_type: "text/plain") unless workspace_id.nil?
276
+
277
+ form_data[:version_description] = HTTP::FormData::Part.new(version_description.to_s, content_type: "text/plain") unless version_description.nil?
278
+
279
+ method_url = "/v1/models/sentiment"
280
+
281
+ response = request(
282
+ method: "POST",
283
+ url: method_url,
284
+ headers: headers,
285
+ params: params,
286
+ form: form_data,
287
+ accept_json: true
288
+ )
289
+ response
290
+ end
291
+
292
+ ##
293
+ # @!method list_sentiment_models
294
+ # List sentiment models.
295
+ # (Beta) Returns all custom sentiment models associated with this service instance.
296
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
297
+ def list_sentiment_models
298
+ raise ArgumentError.new("version must be provided") if version.nil?
299
+
300
+ headers = {
301
+ }
302
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "list_sentiment_models")
303
+ headers.merge!(sdk_headers)
304
+
305
+ params = {
306
+ "version" => @version
307
+ }
308
+
309
+ method_url = "/v1/models/sentiment"
310
+
311
+ response = request(
312
+ method: "GET",
313
+ url: method_url,
314
+ headers: headers,
315
+ params: params,
316
+ accept_json: true
317
+ )
318
+ response
319
+ end
320
+
321
+ ##
322
+ # @!method get_sentiment_model(model_id:)
323
+ # Get sentiment model details.
324
+ # (Beta) Returns the status of the sentiment model with the given model ID.
325
+ # @param model_id [String] ID of the model.
326
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
327
+ def get_sentiment_model(model_id:)
328
+ raise ArgumentError.new("version must be provided") if version.nil?
329
+
330
+ raise ArgumentError.new("model_id must be provided") if model_id.nil?
331
+
332
+ headers = {
333
+ }
334
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "get_sentiment_model")
335
+ headers.merge!(sdk_headers)
336
+
337
+ params = {
338
+ "version" => @version
339
+ }
340
+
341
+ method_url = "/v1/models/sentiment/%s" % [ERB::Util.url_encode(model_id)]
342
+
343
+ response = request(
344
+ method: "GET",
345
+ url: method_url,
346
+ headers: headers,
347
+ params: params,
348
+ accept_json: true
349
+ )
350
+ response
351
+ end
352
+
353
+ ##
354
+ # @!method update_sentiment_model(model_id:, language:, training_data:, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
355
+ # Update sentiment model.
356
+ # (Beta) Overwrites the training data associated with this custom sentiment model
357
+ # and retrains the model. The new model replaces the current deployment.
358
+ # @param model_id [String] ID of the model.
359
+ # @param language [String] The 2-letter language code of this model.
360
+ # @param training_data [File] Training data in CSV format. For more information, see [Sentiment training data
361
+ # requirements](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-custom-sentiment#sentiment-training-data-requirements).
362
+ # @param name [String] An optional name for the model.
363
+ # @param description [String] An optional description of the model.
364
+ # @param model_version [String] An optional version string.
365
+ # @param workspace_id [String] ID of the Watson Knowledge Studio workspace that deployed this model to Natural
366
+ # Language Understanding.
367
+ # @param version_description [String] The description of the version.
368
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
369
+ def update_sentiment_model(model_id:, language:, training_data:, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
370
+ raise ArgumentError.new("version must be provided") if version.nil?
371
+
372
+ raise ArgumentError.new("model_id must be provided") if model_id.nil?
373
+
374
+ raise ArgumentError.new("language must be provided") if language.nil?
375
+
376
+ raise ArgumentError.new("training_data must be provided") if training_data.nil?
377
+
378
+ headers = {
379
+ }
380
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "update_sentiment_model")
381
+ headers.merge!(sdk_headers)
382
+
383
+ params = {
384
+ "version" => @version
385
+ }
386
+
387
+ form_data = {}
388
+
389
+ form_data[:language] = HTTP::FormData::Part.new(language.to_s, content_type: "text/plain")
390
+
391
+ unless training_data.instance_of?(StringIO) || training_data.instance_of?(File)
392
+ training_data = training_data.respond_to?(:to_json) ? StringIO.new(training_data.to_json) : StringIO.new(training_data)
393
+ end
394
+ form_data[:training_data] = HTTP::FormData::File.new(training_data, content_type: "text/csv", filename: training_data.respond_to?(:path) ? training_data.path : nil)
395
+
396
+ form_data[:name] = HTTP::FormData::Part.new(name.to_s, content_type: "text/plain") unless name.nil?
397
+
398
+ form_data[:description] = HTTP::FormData::Part.new(description.to_s, content_type: "text/plain") unless description.nil?
399
+
400
+ form_data[:model_version] = HTTP::FormData::Part.new(model_version.to_s, content_type: "text/plain") unless model_version.nil?
401
+
402
+ form_data[:workspace_id] = HTTP::FormData::Part.new(workspace_id.to_s, content_type: "text/plain") unless workspace_id.nil?
403
+
404
+ form_data[:version_description] = HTTP::FormData::Part.new(version_description.to_s, content_type: "text/plain") unless version_description.nil?
405
+
406
+ method_url = "/v1/models/sentiment/%s" % [ERB::Util.url_encode(model_id)]
407
+
408
+ response = request(
409
+ method: "PUT",
410
+ url: method_url,
411
+ headers: headers,
412
+ params: params,
413
+ form: form_data,
414
+ accept_json: true
415
+ )
416
+ response
417
+ end
418
+
419
+ ##
420
+ # @!method delete_sentiment_model(model_id:)
421
+ # Delete sentiment model.
422
+ # (Beta) Un-deploys the custom sentiment model with the given model ID and deletes
423
+ # all associated customer data, including any training data or binary artifacts.
424
+ # @param model_id [String] ID of the model.
425
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
426
+ def delete_sentiment_model(model_id:)
427
+ raise ArgumentError.new("version must be provided") if version.nil?
428
+
429
+ raise ArgumentError.new("model_id must be provided") if model_id.nil?
430
+
431
+ headers = {
432
+ }
433
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "delete_sentiment_model")
434
+ headers.merge!(sdk_headers)
435
+
436
+ params = {
437
+ "version" => @version
438
+ }
439
+
440
+ method_url = "/v1/models/sentiment/%s" % [ERB::Util.url_encode(model_id)]
441
+
442
+ response = request(
443
+ method: "DELETE",
444
+ url: method_url,
445
+ headers: headers,
446
+ params: params,
447
+ accept_json: true
448
+ )
449
+ response
450
+ end
451
+ #########################
452
+ # Manage categories models
453
+ #########################
454
+
455
+ ##
456
+ # @!method create_categories_model(language:, training_data:, training_data_content_type: nil, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
457
+ # Create categories model.
458
+ # (Beta) Creates a custom categories model by uploading training data and associated
459
+ # metadata. The model begins the training and deploying process and is ready to use
460
+ # when the `status` is `available`.
461
+ # @param language [String] The 2-letter language code of this model.
462
+ # @param training_data [File] Training data in JSON format. For more information, see [Categories training data
463
+ # requirements](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-categories##categories-training-data-requirements).
464
+ # @param training_data_content_type [String] The content type of training_data.
465
+ # @param name [String] An optional name for the model.
466
+ # @param description [String] An optional description of the model.
467
+ # @param model_version [String] An optional version string.
468
+ # @param workspace_id [String] ID of the Watson Knowledge Studio workspace that deployed this model to Natural
469
+ # Language Understanding.
470
+ # @param version_description [String] The description of the version.
471
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
472
+ def create_categories_model(language:, training_data:, training_data_content_type: nil, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
473
+ raise ArgumentError.new("version must be provided") if version.nil?
474
+
475
+ raise ArgumentError.new("language must be provided") if language.nil?
476
+
477
+ raise ArgumentError.new("training_data must be provided") if training_data.nil?
478
+
479
+ headers = {
480
+ }
481
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "create_categories_model")
482
+ headers.merge!(sdk_headers)
483
+
484
+ params = {
485
+ "version" => @version
486
+ }
487
+
488
+ form_data = {}
489
+
490
+ form_data[:language] = HTTP::FormData::Part.new(language.to_s, content_type: "text/plain")
491
+
492
+ unless training_data.instance_of?(StringIO) || training_data.instance_of?(File)
493
+ training_data = training_data.respond_to?(:to_json) ? StringIO.new(training_data.to_json) : StringIO.new(training_data)
494
+ end
495
+ form_data[:training_data] = HTTP::FormData::File.new(training_data, content_type: training_data_content_type.nil? ? "application/octet-stream" : training_data_content_type, filename: training_data.respond_to?(:path) ? training_data.path : nil)
496
+
497
+ form_data[:name] = HTTP::FormData::Part.new(name.to_s, content_type: "text/plain") unless name.nil?
498
+
499
+ form_data[:description] = HTTP::FormData::Part.new(description.to_s, content_type: "text/plain") unless description.nil?
500
+
501
+ form_data[:model_version] = HTTP::FormData::Part.new(model_version.to_s, content_type: "text/plain") unless model_version.nil?
502
+
503
+ form_data[:workspace_id] = HTTP::FormData::Part.new(workspace_id.to_s, content_type: "text/plain") unless workspace_id.nil?
504
+
505
+ form_data[:version_description] = HTTP::FormData::Part.new(version_description.to_s, content_type: "text/plain") unless version_description.nil?
506
+
507
+ method_url = "/v1/models/categories"
508
+
509
+ response = request(
510
+ method: "POST",
511
+ url: method_url,
512
+ headers: headers,
513
+ params: params,
514
+ form: form_data,
515
+ accept_json: true
516
+ )
517
+ response
518
+ end
519
+
520
+ ##
521
+ # @!method list_categories_models
522
+ # List categories models.
523
+ # (Beta) Returns all custom categories models associated with this service instance.
524
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
525
+ def list_categories_models
526
+ raise ArgumentError.new("version must be provided") if version.nil?
527
+
528
+ headers = {
529
+ }
530
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "list_categories_models")
531
+ headers.merge!(sdk_headers)
532
+
533
+ params = {
534
+ "version" => @version
535
+ }
536
+
537
+ method_url = "/v1/models/categories"
538
+
539
+ response = request(
540
+ method: "GET",
541
+ url: method_url,
542
+ headers: headers,
543
+ params: params,
544
+ accept_json: true
545
+ )
546
+ response
547
+ end
548
+
549
+ ##
550
+ # @!method get_categories_model(model_id:)
551
+ # Get categories model details.
552
+ # (Beta) Returns the status of the categories model with the given model ID.
553
+ # @param model_id [String] ID of the model.
554
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
555
+ def get_categories_model(model_id:)
556
+ raise ArgumentError.new("version must be provided") if version.nil?
557
+
558
+ raise ArgumentError.new("model_id must be provided") if model_id.nil?
559
+
560
+ headers = {
561
+ }
562
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "get_categories_model")
563
+ headers.merge!(sdk_headers)
564
+
565
+ params = {
566
+ "version" => @version
567
+ }
568
+
569
+ method_url = "/v1/models/categories/%s" % [ERB::Util.url_encode(model_id)]
570
+
571
+ response = request(
572
+ method: "GET",
573
+ url: method_url,
574
+ headers: headers,
575
+ params: params,
576
+ accept_json: true
577
+ )
578
+ response
579
+ end
580
+
581
+ ##
582
+ # @!method update_categories_model(model_id:, language:, training_data:, training_data_content_type: nil, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
583
+ # Update categories model.
584
+ # (Beta) Overwrites the training data associated with this custom categories model
585
+ # and retrains the model. The new model replaces the current deployment.
586
+ # @param model_id [String] ID of the model.
587
+ # @param language [String] The 2-letter language code of this model.
588
+ # @param training_data [File] Training data in JSON format. For more information, see [Categories training data
589
+ # requirements](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-categories##categories-training-data-requirements).
590
+ # @param training_data_content_type [String] The content type of training_data.
591
+ # @param name [String] An optional name for the model.
592
+ # @param description [String] An optional description of the model.
593
+ # @param model_version [String] An optional version string.
594
+ # @param workspace_id [String] ID of the Watson Knowledge Studio workspace that deployed this model to Natural
595
+ # Language Understanding.
596
+ # @param version_description [String] The description of the version.
597
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
598
+ def update_categories_model(model_id:, language:, training_data:, training_data_content_type: nil, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
599
+ raise ArgumentError.new("version must be provided") if version.nil?
600
+
601
+ raise ArgumentError.new("model_id must be provided") if model_id.nil?
602
+
603
+ raise ArgumentError.new("language must be provided") if language.nil?
604
+
605
+ raise ArgumentError.new("training_data must be provided") if training_data.nil?
606
+
607
+ headers = {
608
+ }
609
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "update_categories_model")
610
+ headers.merge!(sdk_headers)
611
+
612
+ params = {
613
+ "version" => @version
614
+ }
615
+
616
+ form_data = {}
617
+
618
+ form_data[:language] = HTTP::FormData::Part.new(language.to_s, content_type: "text/plain")
619
+
620
+ unless training_data.instance_of?(StringIO) || training_data.instance_of?(File)
621
+ training_data = training_data.respond_to?(:to_json) ? StringIO.new(training_data.to_json) : StringIO.new(training_data)
622
+ end
623
+ form_data[:training_data] = HTTP::FormData::File.new(training_data, content_type: training_data_content_type.nil? ? "application/octet-stream" : training_data_content_type, filename: training_data.respond_to?(:path) ? training_data.path : nil)
624
+
625
+ form_data[:name] = HTTP::FormData::Part.new(name.to_s, content_type: "text/plain") unless name.nil?
626
+
627
+ form_data[:description] = HTTP::FormData::Part.new(description.to_s, content_type: "text/plain") unless description.nil?
628
+
629
+ form_data[:model_version] = HTTP::FormData::Part.new(model_version.to_s, content_type: "text/plain") unless model_version.nil?
630
+
631
+ form_data[:workspace_id] = HTTP::FormData::Part.new(workspace_id.to_s, content_type: "text/plain") unless workspace_id.nil?
632
+
633
+ form_data[:version_description] = HTTP::FormData::Part.new(version_description.to_s, content_type: "text/plain") unless version_description.nil?
634
+
635
+ method_url = "/v1/models/categories/%s" % [ERB::Util.url_encode(model_id)]
636
+
637
+ response = request(
638
+ method: "PUT",
639
+ url: method_url,
640
+ headers: headers,
641
+ params: params,
642
+ form: form_data,
643
+ accept_json: true
644
+ )
645
+ response
646
+ end
647
+
648
+ ##
649
+ # @!method delete_categories_model(model_id:)
650
+ # Delete categories model.
651
+ # (Beta) Un-deploys the custom categories model with the given model ID and deletes
652
+ # all associated customer data, including any training data or binary artifacts.
653
+ # @param model_id [String] ID of the model.
654
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
655
+ def delete_categories_model(model_id:)
656
+ raise ArgumentError.new("version must be provided") if version.nil?
657
+
658
+ raise ArgumentError.new("model_id must be provided") if model_id.nil?
659
+
660
+ headers = {
661
+ }
662
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "delete_categories_model")
663
+ headers.merge!(sdk_headers)
664
+
665
+ params = {
666
+ "version" => @version
667
+ }
668
+
669
+ method_url = "/v1/models/categories/%s" % [ERB::Util.url_encode(model_id)]
670
+
671
+ response = request(
672
+ method: "DELETE",
673
+ url: method_url,
674
+ headers: headers,
675
+ params: params,
676
+ accept_json: true
677
+ )
678
+ response
679
+ end
680
+ #########################
681
+ # Manage classifications models
682
+ #########################
683
+
684
+ ##
685
+ # @!method create_classifications_model(language:, training_data:, training_data_content_type: nil, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
686
+ # Create classifications model.
687
+ # (Beta) Creates a custom classifications model by uploading training data and
688
+ # associated metadata. The model begins the training and deploying process and is
689
+ # ready to use when the `status` is `available`.
690
+ # @param language [String] The 2-letter language code of this model.
691
+ # @param training_data [File] Training data in JSON format. For more information, see [Classifications training
692
+ # data
693
+ # requirements](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-classifications#classification-training-data-requirements).
694
+ # @param training_data_content_type [String] The content type of training_data.
695
+ # @param name [String] An optional name for the model.
696
+ # @param description [String] An optional description of the model.
697
+ # @param model_version [String] An optional version string.
698
+ # @param workspace_id [String] ID of the Watson Knowledge Studio workspace that deployed this model to Natural
699
+ # Language Understanding.
700
+ # @param version_description [String] The description of the version.
701
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
702
+ def create_classifications_model(language:, training_data:, training_data_content_type: nil, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
703
+ raise ArgumentError.new("version must be provided") if version.nil?
704
+
705
+ raise ArgumentError.new("language must be provided") if language.nil?
706
+
707
+ raise ArgumentError.new("training_data must be provided") if training_data.nil?
708
+
709
+ headers = {
710
+ }
711
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "create_classifications_model")
712
+ headers.merge!(sdk_headers)
713
+
714
+ params = {
715
+ "version" => @version
716
+ }
717
+
718
+ form_data = {}
719
+
720
+ form_data[:language] = HTTP::FormData::Part.new(language.to_s, content_type: "text/plain")
721
+
722
+ unless training_data.instance_of?(StringIO) || training_data.instance_of?(File)
723
+ training_data = training_data.respond_to?(:to_json) ? StringIO.new(training_data.to_json) : StringIO.new(training_data)
724
+ end
725
+ form_data[:training_data] = HTTP::FormData::File.new(training_data, content_type: training_data_content_type.nil? ? "application/octet-stream" : training_data_content_type, filename: training_data.respond_to?(:path) ? training_data.path : nil)
726
+
727
+ form_data[:name] = HTTP::FormData::Part.new(name.to_s, content_type: "text/plain") unless name.nil?
728
+
729
+ form_data[:description] = HTTP::FormData::Part.new(description.to_s, content_type: "text/plain") unless description.nil?
730
+
731
+ form_data[:model_version] = HTTP::FormData::Part.new(model_version.to_s, content_type: "text/plain") unless model_version.nil?
732
+
733
+ form_data[:workspace_id] = HTTP::FormData::Part.new(workspace_id.to_s, content_type: "text/plain") unless workspace_id.nil?
734
+
735
+ form_data[:version_description] = HTTP::FormData::Part.new(version_description.to_s, content_type: "text/plain") unless version_description.nil?
736
+
737
+ method_url = "/v1/models/classifications"
738
+
739
+ response = request(
740
+ method: "POST",
741
+ url: method_url,
742
+ headers: headers,
743
+ params: params,
744
+ form: form_data,
745
+ accept_json: true
746
+ )
747
+ response
748
+ end
749
+
750
+ ##
751
+ # @!method list_classifications_models
752
+ # List classifications models.
753
+ # (Beta) Returns all custom classifications models associated with this service
754
+ # instance.
755
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
756
+ def list_classifications_models
757
+ raise ArgumentError.new("version must be provided") if version.nil?
758
+
759
+ headers = {
760
+ }
761
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "list_classifications_models")
762
+ headers.merge!(sdk_headers)
763
+
764
+ params = {
765
+ "version" => @version
766
+ }
767
+
768
+ method_url = "/v1/models/classifications"
769
+
770
+ response = request(
771
+ method: "GET",
772
+ url: method_url,
773
+ headers: headers,
774
+ params: params,
775
+ accept_json: true
776
+ )
777
+ response
778
+ end
779
+
780
+ ##
781
+ # @!method get_classifications_model(model_id:)
782
+ # Get classifications model details.
783
+ # (Beta) Returns the status of the classifications model with the given model ID.
784
+ # @param model_id [String] ID of the model.
785
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
786
+ def get_classifications_model(model_id:)
787
+ raise ArgumentError.new("version must be provided") if version.nil?
788
+
789
+ raise ArgumentError.new("model_id must be provided") if model_id.nil?
790
+
791
+ headers = {
792
+ }
793
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "get_classifications_model")
794
+ headers.merge!(sdk_headers)
795
+
796
+ params = {
797
+ "version" => @version
798
+ }
799
+
800
+ method_url = "/v1/models/classifications/%s" % [ERB::Util.url_encode(model_id)]
801
+
802
+ response = request(
803
+ method: "GET",
804
+ url: method_url,
805
+ headers: headers,
806
+ params: params,
807
+ accept_json: true
808
+ )
809
+ response
810
+ end
811
+
812
+ ##
813
+ # @!method update_classifications_model(model_id:, language:, training_data:, training_data_content_type: nil, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
814
+ # Update classifications model.
815
+ # (Beta) Overwrites the training data associated with this custom classifications
816
+ # model and retrains the model. The new model replaces the current deployment.
817
+ # @param model_id [String] ID of the model.
818
+ # @param language [String] The 2-letter language code of this model.
819
+ # @param training_data [File] Training data in JSON format. For more information, see [Classifications training
820
+ # data
821
+ # requirements](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-classifications#classification-training-data-requirements).
822
+ # @param training_data_content_type [String] The content type of training_data.
823
+ # @param name [String] An optional name for the model.
824
+ # @param description [String] An optional description of the model.
825
+ # @param model_version [String] An optional version string.
826
+ # @param workspace_id [String] ID of the Watson Knowledge Studio workspace that deployed this model to Natural
827
+ # Language Understanding.
828
+ # @param version_description [String] The description of the version.
829
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
830
+ def update_classifications_model(model_id:, language:, training_data:, training_data_content_type: nil, name: nil, description: nil, model_version: nil, workspace_id: nil, version_description: nil)
831
+ raise ArgumentError.new("version must be provided") if version.nil?
832
+
833
+ raise ArgumentError.new("model_id must be provided") if model_id.nil?
834
+
835
+ raise ArgumentError.new("language must be provided") if language.nil?
836
+
837
+ raise ArgumentError.new("training_data must be provided") if training_data.nil?
838
+
839
+ headers = {
840
+ }
841
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "update_classifications_model")
842
+ headers.merge!(sdk_headers)
843
+
844
+ params = {
845
+ "version" => @version
846
+ }
847
+
848
+ form_data = {}
849
+
850
+ form_data[:language] = HTTP::FormData::Part.new(language.to_s, content_type: "text/plain")
851
+
852
+ unless training_data.instance_of?(StringIO) || training_data.instance_of?(File)
853
+ training_data = training_data.respond_to?(:to_json) ? StringIO.new(training_data.to_json) : StringIO.new(training_data)
854
+ end
855
+ form_data[:training_data] = HTTP::FormData::File.new(training_data, content_type: training_data_content_type.nil? ? "application/octet-stream" : training_data_content_type, filename: training_data.respond_to?(:path) ? training_data.path : nil)
856
+
857
+ form_data[:name] = HTTP::FormData::Part.new(name.to_s, content_type: "text/plain") unless name.nil?
858
+
859
+ form_data[:description] = HTTP::FormData::Part.new(description.to_s, content_type: "text/plain") unless description.nil?
860
+
861
+ form_data[:model_version] = HTTP::FormData::Part.new(model_version.to_s, content_type: "text/plain") unless model_version.nil?
862
+
863
+ form_data[:workspace_id] = HTTP::FormData::Part.new(workspace_id.to_s, content_type: "text/plain") unless workspace_id.nil?
864
+
865
+ form_data[:version_description] = HTTP::FormData::Part.new(version_description.to_s, content_type: "text/plain") unless version_description.nil?
866
+
867
+ method_url = "/v1/models/classifications/%s" % [ERB::Util.url_encode(model_id)]
868
+
869
+ response = request(
870
+ method: "PUT",
871
+ url: method_url,
872
+ headers: headers,
873
+ params: params,
874
+ form: form_data,
875
+ accept_json: true
876
+ )
877
+ response
878
+ end
879
+
880
+ ##
881
+ # @!method delete_classifications_model(model_id:)
882
+ # Delete classifications model.
883
+ # (Beta) Un-deploys the custom classifications model with the given model ID and
884
+ # deletes all associated customer data, including any training data or binary
885
+ # artifacts.
886
+ # @param model_id [String] ID of the model.
887
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
888
+ def delete_classifications_model(model_id:)
889
+ raise ArgumentError.new("version must be provided") if version.nil?
890
+
891
+ raise ArgumentError.new("model_id must be provided") if model_id.nil?
892
+
893
+ headers = {
894
+ }
895
+ sdk_headers = Common.new.get_sdk_headers("natural-language-understanding", "V1", "delete_classifications_model")
896
+ headers.merge!(sdk_headers)
897
+
898
+ params = {
899
+ "version" => @version
900
+ }
901
+
902
+ method_url = "/v1/models/classifications/%s" % [ERB::Util.url_encode(model_id)]
903
+
213
904
  response = request(
214
905
  method: "DELETE",
215
906
  url: method_url,