ibm_watson 2.0.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,10 +14,18 @@
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.19.0-be3b4618-20201113-200858
17
+ # IBM OpenAPI SDK Code Generator Version: 3.31.0-902c9336-20210504-161156
18
18
  #
19
- # IBM Watson™ Compare and Comply analyzes governing documents to provide details
20
- # about critical aspects of the documents.
19
+ # IBM Watson™ Compare and Comply is discontinued. Existing instances are supported
20
+ # until 30 November 2021, but as of 1 December 2020, you can't create instances. Any
21
+ # instance that exists on 30 November 2021 will be deleted. Consider migrating to Watson
22
+ # Discovery Premium on IBM Cloud for your Compare and Comply use cases. To start the
23
+ # migration process, visit
24
+ # [https://ibm.biz/contact-wdc-premium](https://ibm.biz/contact-wdc-premium).
25
+ # {: deprecated}
26
+ #
27
+ # Compare and Comply analyzes governing documents to provide details about critical
28
+ # aspects of the documents.
21
29
 
22
30
  require "concurrent"
23
31
  require "erb"
@@ -25,7 +33,6 @@ require "json"
25
33
  require "ibm_cloud_sdk_core"
26
34
  require_relative "./common.rb"
27
35
 
28
- # Module for the Watson APIs
29
36
  module IBMWatson
30
37
  ##
31
38
  # The Compare Comply V1 service.
@@ -14,7 +14,7 @@
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.19.0-be3b4618-20201113-200858
17
+ # IBM OpenAPI SDK Code Generator Version: 3.31.0-902c9336-20210504-161156
18
18
  #
19
19
  # IBM Watson™ Discovery is a cognitive search and content analytics engine that
20
20
  # you can add to applications to identify patterns, trends and actionable insights to
@@ -28,7 +28,6 @@ require "json"
28
28
  require "ibm_cloud_sdk_core"
29
29
  require_relative "./common.rb"
30
30
 
31
- # Module for the Watson APIs
32
31
  module IBMWatson
33
32
  ##
34
33
  # The Discovery V1 service.
@@ -1430,7 +1429,7 @@ module IBMWatson
1430
1429
  # parameter.
1431
1430
  # @param spelling_suggestions [Boolean] When `true` and the **natural_language_query** parameter is used, the
1432
1431
  # **natural_languge_query** parameter is spell checked. The most likely correction
1433
- # is retunred in the **suggested_query** field of the response (if one exists).
1432
+ # is returned in the **suggested_query** field of the response (if one exists).
1434
1433
  #
1435
1434
  # **Important:** this parameter is only valid when using the Cloud Pak version of
1436
1435
  # Discovery.
@@ -14,7 +14,7 @@
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.19.0-be3b4618-20201113-200858
17
+ # IBM OpenAPI SDK Code Generator Version: 3.31.0-902c9336-20210504-161156
18
18
  #
19
19
  # IBM Watson™ Discovery is a cognitive search and content analytics engine that
20
20
  # you can add to applications to identify patterns, trends and actionable insights to
@@ -28,7 +28,6 @@ require "json"
28
28
  require "ibm_cloud_sdk_core"
29
29
  require_relative "./common.rb"
30
30
 
31
- # Module for the Watson APIs
32
31
  module IBMWatson
33
32
  ##
34
33
  # The Discovery V2 service.
@@ -408,12 +407,66 @@ module IBMWatson
408
407
  response
409
408
  end
410
409
 
410
+ ##
411
+ # @!method query_collection_notices(project_id:, collection_id:, filter: nil, query: nil, natural_language_query: nil, count: nil, offset: nil)
412
+ # Query collection notices.
413
+ # Finds collection-level notices (errors and warnings) that are generated when
414
+ # documents are ingested.
415
+ # @param project_id [String] The ID of the project. This information can be found from the deploy page of the
416
+ # Discovery administrative tooling.
417
+ # @param collection_id [String] The ID of the collection.
418
+ # @param filter [String] A cacheable query that excludes documents that don't mention the query content.
419
+ # Filter searches are better for metadata-type searches and for assessing the
420
+ # concepts in the data set.
421
+ # @param query [String] A query search returns all documents in your data set with full enrichments and
422
+ # full text, but with the most relevant documents listed first.
423
+ # @param natural_language_query [String] A natural language query that returns relevant documents by utilizing training
424
+ # data and natural language understanding.
425
+ # @param count [Fixnum] Number of results to return. The maximum for the **count** and **offset** values
426
+ # together in any one query is **10000**.
427
+ # @param offset [Fixnum] The number of query results to skip at the beginning. For example, if the total
428
+ # number of results that are returned is 10 and the offset is 8, it returns the last
429
+ # two results. The maximum for the **count** and **offset** values together in any
430
+ # one query is **10000**.
431
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
432
+ def query_collection_notices(project_id:, collection_id:, filter: nil, query: nil, natural_language_query: nil, count: nil, offset: nil)
433
+ raise ArgumentError.new("version must be provided") if version.nil?
434
+
435
+ raise ArgumentError.new("project_id must be provided") if project_id.nil?
436
+
437
+ raise ArgumentError.new("collection_id must be provided") if collection_id.nil?
438
+
439
+ headers = {
440
+ }
441
+ sdk_headers = Common.new.get_sdk_headers("discovery", "V2", "query_collection_notices")
442
+ headers.merge!(sdk_headers)
443
+
444
+ params = {
445
+ "version" => @version,
446
+ "filter" => filter,
447
+ "query" => query,
448
+ "natural_language_query" => natural_language_query,
449
+ "count" => count,
450
+ "offset" => offset
451
+ }
452
+
453
+ method_url = "/v2/projects/%s/collections/%s/notices" % [ERB::Util.url_encode(project_id), ERB::Util.url_encode(collection_id)]
454
+
455
+ response = request(
456
+ method: "GET",
457
+ url: method_url,
458
+ headers: headers,
459
+ params: params,
460
+ accept_json: true
461
+ )
462
+ response
463
+ end
464
+
411
465
  ##
412
466
  # @!method query_notices(project_id:, filter: nil, query: nil, natural_language_query: nil, count: nil, offset: nil)
413
- # Query system notices.
414
- # Queries for notices (errors or warnings) that might have been generated by the
415
- # system. Notices are generated when ingesting documents and performing relevance
416
- # training.
467
+ # Query project notices.
468
+ # Finds project-level notices (errors and warnings). Currently, project-level
469
+ # notices are generated by relevancy training.
417
470
  # @param project_id [String] The ID of the project. This information can be found from the deploy page of the
418
471
  # Discovery administrative tooling.
419
472
  # @param filter [String] A cacheable query that excludes documents that don't mention the query content.
@@ -975,6 +1028,43 @@ module IBMWatson
975
1028
  )
976
1029
  response
977
1030
  end
1031
+
1032
+ ##
1033
+ # @!method delete_training_query(project_id:, query_id:)
1034
+ # Delete a training data query.
1035
+ # Removes details from a training data query, including the query string and all
1036
+ # examples.
1037
+ # @param project_id [String] The ID of the project. This information can be found from the deploy page of the
1038
+ # Discovery administrative tooling.
1039
+ # @param query_id [String] The ID of the query used for training.
1040
+ # @return [nil]
1041
+ def delete_training_query(project_id:, query_id:)
1042
+ raise ArgumentError.new("version must be provided") if version.nil?
1043
+
1044
+ raise ArgumentError.new("project_id must be provided") if project_id.nil?
1045
+
1046
+ raise ArgumentError.new("query_id must be provided") if query_id.nil?
1047
+
1048
+ headers = {
1049
+ }
1050
+ sdk_headers = Common.new.get_sdk_headers("discovery", "V2", "delete_training_query")
1051
+ headers.merge!(sdk_headers)
1052
+
1053
+ params = {
1054
+ "version" => @version
1055
+ }
1056
+
1057
+ method_url = "/v2/projects/%s/training_data/queries/%s" % [ERB::Util.url_encode(project_id), ERB::Util.url_encode(query_id)]
1058
+
1059
+ request(
1060
+ method: "DELETE",
1061
+ url: method_url,
1062
+ headers: headers,
1063
+ params: params,
1064
+ accept_json: false
1065
+ )
1066
+ nil
1067
+ end
978
1068
  #########################
979
1069
  # analyze
980
1070
  #########################
@@ -1091,7 +1181,7 @@ module IBMWatson
1091
1181
  # Create an enrichment for use with the specified project/.
1092
1182
  # @param project_id [String] The ID of the project. This information can be found from the deploy page of the
1093
1183
  # Discovery administrative tooling.
1094
- # @param enrichment [CreateEnrichment]
1184
+ # @param enrichment [CreateEnrichment] Information about a specific enrichment.
1095
1185
  # @param file [File] The enrichment file to upload.
1096
1186
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
1097
1187
  def create_enrichment(project_id:, enrichment:, file: nil)
@@ -14,7 +14,7 @@
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.19.0-be3b4618-20201113-200858
17
+ # IBM OpenAPI SDK Code Generator Version: 3.31.0-902c9336-20210504-161156
18
18
  #
19
19
  # IBM Watson™ Language Translator translates text from one language to another.
20
20
  # The service offers multiple IBM-provided translation models that you can customize based
@@ -28,7 +28,6 @@ require "json"
28
28
  require "ibm_cloud_sdk_core"
29
29
  require_relative "./common.rb"
30
30
 
31
- # Module for the Watson APIs
32
31
  module IBMWatson
33
32
  ##
34
33
  # The Language Translator V3 service.
@@ -14,9 +14,15 @@
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.19.0-be3b4618-20201113-200858
17
+ # IBM OpenAPI SDK Code Generator Version: 3.31.0-902c9336-20210504-161156
18
18
  #
19
- # IBM Watson™ Natural Language Classifier uses machine learning algorithms to
19
+ # IBM Watson™ Natural Language Classifier is discontinued. On 9 August 2021, IBM announced the deprecation of
20
+ # the Natural Language Classifier service. The service will no longer be available from 8 August 2022.
21
+ # As of 9 September 2021, you will not be able to create new instances. Existing instances will be supported until
22
+ # 8 August 2022. Any instance that still exists on that date will be deleted.
23
+ # {: deprecated}
24
+ #
25
+ # Natural Language Classifier uses machine learning algorithms to
20
26
  # return the top matching predefined classes for short text input. You create and train a
21
27
  # classifier to connect predefined classes to example texts so that the service can apply
22
28
  # those classes to new inputs.
@@ -27,7 +33,6 @@ require "json"
27
33
  require "ibm_cloud_sdk_core"
28
34
  require_relative "./common.rb"
29
35
 
30
- # Module for the Watson APIs
31
36
  module IBMWatson
32
37
  ##
33
38
  # The Natural Language Classifier V1 service.
@@ -46,6 +51,7 @@ module IBMWatson
46
51
  # @option args service_name [String] The name of the service to configure. Will be used as the key to load
47
52
  # any external configuration, if applicable.
48
53
  def initialize(args = {})
54
+ warn "On 9 August 2021, IBM announced the deprecation of the Natural Language Classifier service. The service will no longer be available from 8 August 2022. As of 9 September 2021, you will not be able to create new instances. Existing instances will be supported until 8 August 2022. Any instance that still exists on that date will be deleted. For more information, see https://github.com/watson-developer-cloud/ruby-sdk#natural-language-classifier-deprecation."
49
55
  @__async_initialized__ = false
50
56
  defaults = {}
51
57
  defaults[:service_url] = DEFAULT_SERVICE_URL
@@ -14,7 +14,7 @@
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.19.0-be3b4618-20201113-200858
17
+ # IBM OpenAPI SDK Code Generator Version: 3.31.0-902c9336-20210504-161156
18
18
  #
19
19
  # Analyze various features of text content at scale. Provide text, raw HTML, or a public
20
20
  # URL and IBM Watson Natural Language Understanding will give you results for the features
@@ -32,7 +32,6 @@ require "json"
32
32
  require "ibm_cloud_sdk_core"
33
33
  require_relative "./common.rb"
34
34
 
35
- # Module for the Watson APIs
36
35
  module IBMWatson
37
36
  ##
38
37
  # The Natural Language Understanding V1 service.
@@ -47,7 +46,7 @@ module IBMWatson
47
46
  #
48
47
  # @param args [Hash] The args to initialize with
49
48
  # @option args version [String] Release date of the API version you want to use. Specify dates in YYYY-MM-DD
50
- # format. The current version is `2020-08-01`.
49
+ # format. The current version is `2021-03-25`.
51
50
  # @option args service_url [String] The base service URL to use when contacting the service.
52
51
  # The base service_url may differ between IBM Cloud regions.
53
52
  # @option args authenticator [Object] The Authenticator instance to be configured for this service.
@@ -79,6 +78,7 @@ module IBMWatson
79
78
  # Analyze text.
80
79
  # Analyzes text, HTML, or a public webpage for the following features:
81
80
  # - Categories
81
+ # - Classifications
82
82
  # - Concepts
83
83
  # - Emotion
84
84
  # - Entities
@@ -212,6 +212,695 @@ module IBMWatson
212
212
 
213
213
  method_url = "/v1/models/%s" % [ERB::Util.url_encode(model_id)]
214
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
+
215
904
  response = request(
216
905
  method: "DELETE",
217
906
  url: method_url,