ibm_watson 1.1.0 → 1.5.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.
- checksums.yaml +4 -4
- data/README.md +33 -5
- data/lib/ibm_watson/assistant_v1.rb +156 -65
- data/lib/ibm_watson/assistant_v2.rb +76 -13
- data/lib/ibm_watson/compare_comply_v1.rb +11 -5
- data/lib/ibm_watson/discovery_v1.rb +19 -9
- data/lib/ibm_watson/discovery_v2.rb +25 -9
- data/lib/ibm_watson/language_translator_v3.rb +27 -13
- data/lib/ibm_watson/natural_language_classifier_v1.rb +10 -4
- data/lib/ibm_watson/natural_language_understanding_v1.rb +20 -10
- data/lib/ibm_watson/personality_insights_v3.rb +17 -11
- data/lib/ibm_watson/speech_to_text_v1.rb +394 -168
- data/lib/ibm_watson/text_to_speech_v1.rb +57 -46
- data/lib/ibm_watson/tone_analyzer_v3.rb +11 -5
- data/lib/ibm_watson/version.rb +1 -1
- data/lib/ibm_watson/visual_recognition_v3.rb +15 -7
- data/lib/ibm_watson/visual_recognition_v4.rb +199 -4
- data/test/integration/test_assistant_v2.rb +7 -0
- data/test/integration/test_compare_comply_v1.rb +1 -12
- data/test/integration/test_speech_to_text_v1.rb +7 -2
- data/test/integration/test_visual_recognition_v4.rb +9 -0
- data/test/unit/test_assistant_v2.rb +66 -0
- data/test/unit/test_personality_insights_v3.rb +4 -0
- data/test/unit/test_visual_recognition_v4.rb +87 -0
- metadata +5 -6
- data/test/unit/test_vcap_using_personality_insights.rb +0 -161
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# (C) Copyright IBM Corp.
|
3
|
+
# (C) Copyright IBM Corp. 2018, 2020.
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
6
|
# you may not use this file except in compliance with the License.
|
@@ -20,17 +20,18 @@
|
|
20
20
|
# both, for each language. The audio is streamed back to the client with minimal delay.
|
21
21
|
#
|
22
22
|
# For speech synthesis, the service supports a synchronous HTTP Representational State
|
23
|
-
# Transfer (REST) interface
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
23
|
+
# Transfer (REST) interface and a WebSocket interface. Both interfaces support plain text
|
24
|
+
# and SSML input. SSML is an XML-based markup language that provides text annotation for
|
25
|
+
# speech-synthesis applications. The WebSocket interface also supports the SSML
|
26
|
+
# <code><mark></code> element and word timings.
|
27
27
|
#
|
28
|
-
# The service
|
29
|
-
#
|
30
|
-
#
|
31
|
-
#
|
32
|
-
#
|
33
|
-
#
|
28
|
+
# The service offers a customization interface that you can use to define sounds-like or
|
29
|
+
# phonetic translations for words. A sounds-like translation consists of one or more words
|
30
|
+
# that, when combined, sound like the word. A phonetic translation is based on the SSML
|
31
|
+
# phoneme format for representing a word. You can specify a phonetic translation in
|
32
|
+
# standard International Phonetic Alphabet (IPA) representation or in the proprietary IBM
|
33
|
+
# Symbolic Phonetic Representation (SPR). The Arabic, Chinese, Dutch, and Korean languages
|
34
|
+
# support only IPA.
|
34
35
|
|
35
36
|
require "concurrent"
|
36
37
|
require "erb"
|
@@ -44,6 +45,8 @@ module IBMWatson
|
|
44
45
|
# The Text to Speech V1 service.
|
45
46
|
class TextToSpeechV1 < IBMCloudSdkCore::BaseService
|
46
47
|
include Concurrent::Async
|
48
|
+
DEFAULT_SERVICE_NAME = "text_to_speech"
|
49
|
+
DEFAULT_SERVICE_URL = "https://stream.watsonplatform.net/text-to-speech/api"
|
47
50
|
##
|
48
51
|
# @!method initialize(args)
|
49
52
|
# Construct a new client for the Text to Speech service.
|
@@ -52,15 +55,19 @@ module IBMWatson
|
|
52
55
|
# @option args service_url [String] The base service URL to use when contacting the service.
|
53
56
|
# The base service_url may differ between IBM Cloud regions.
|
54
57
|
# @option args authenticator [Object] The Authenticator instance to be configured for this service.
|
58
|
+
# @option args service_name [String] The name of the service to configure. Will be used as the key to load
|
59
|
+
# any external configuration, if applicable.
|
55
60
|
def initialize(args = {})
|
56
61
|
@__async_initialized__ = false
|
57
62
|
defaults = {}
|
58
|
-
defaults[:service_url] =
|
63
|
+
defaults[:service_url] = DEFAULT_SERVICE_URL
|
64
|
+
defaults[:service_name] = DEFAULT_SERVICE_NAME
|
59
65
|
defaults[:authenticator] = nil
|
66
|
+
user_service_url = args[:service_url] unless args[:service_url].nil?
|
60
67
|
args = defaults.merge(args)
|
61
|
-
args[:service_name] = "text_to_speech"
|
62
68
|
args[:authenticator] = IBMCloudSdkCore::ConfigBasedAuthenticatorFactory.new.get_authenticator(service_name: args[:service_name]) if args[:authenticator].nil?
|
63
69
|
super
|
70
|
+
@service_url = user_service_url unless user_service_url.nil?
|
64
71
|
end
|
65
72
|
|
66
73
|
#########################
|
@@ -75,7 +82,7 @@ module IBMWatson
|
|
75
82
|
# about a specific voice, use the **Get a voice** method.
|
76
83
|
#
|
77
84
|
# **See also:** [Listing all available
|
78
|
-
# voices](https://cloud.ibm.com/docs/
|
85
|
+
# voices](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices#listVoices).
|
79
86
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
80
87
|
def list_voices
|
81
88
|
headers = {
|
@@ -104,7 +111,7 @@ module IBMWatson
|
|
104
111
|
# **List voices** method.
|
105
112
|
#
|
106
113
|
# **See also:** [Listing a specific
|
107
|
-
# voice](https://cloud.ibm.com/docs/
|
114
|
+
# voice](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices#listVoice).
|
108
115
|
# @param voice [String] The voice for which information is to be returned.
|
109
116
|
# @param customization_id [String] The customization ID (GUID) of a custom voice model for which information is to be
|
110
117
|
# returned. You must make the request with credentials for the instance of the
|
@@ -150,7 +157,7 @@ module IBMWatson
|
|
150
157
|
# specify. The service returns the synthesized audio stream as an array of bytes.
|
151
158
|
#
|
152
159
|
# **See also:** [The HTTP
|
153
|
-
# interface](https://cloud.ibm.com/docs/
|
160
|
+
# interface](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingHTTP#usingHTTP).
|
154
161
|
#
|
155
162
|
#
|
156
163
|
# ### Audio formats (accept types)
|
@@ -198,7 +205,7 @@ module IBMWatson
|
|
198
205
|
#
|
199
206
|
# For more information about specifying an audio format, including additional
|
200
207
|
# details about some of the formats, see [Audio
|
201
|
-
# formats](https://cloud.ibm.com/docs/
|
208
|
+
# formats](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-audioFormats#audioFormats).
|
202
209
|
#
|
203
210
|
#
|
204
211
|
# ### Warning messages
|
@@ -216,10 +223,10 @@ module IBMWatson
|
|
216
223
|
# description.
|
217
224
|
# @param voice [String] The voice to use for synthesis.
|
218
225
|
# @param customization_id [String] The customization ID (GUID) of a custom voice model to use for the synthesis. If a
|
219
|
-
# custom voice model is specified, it
|
220
|
-
#
|
221
|
-
# the
|
222
|
-
#
|
226
|
+
# custom voice model is specified, it works only if it matches the language of the
|
227
|
+
# indicated voice. You must make the request with credentials for the instance of
|
228
|
+
# the service that owns the custom model. Omit the parameter to use the specified
|
229
|
+
# voice with no customization.
|
223
230
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
224
231
|
def synthesize(text:, accept: nil, voice: nil, customization_id: nil)
|
225
232
|
raise ArgumentError.new("text must be provided") if text.nil?
|
@@ -266,13 +273,14 @@ module IBMWatson
|
|
266
273
|
# **Note:** This method is currently a beta release.
|
267
274
|
#
|
268
275
|
# **See also:** [Querying a word from a
|
269
|
-
# language](https://cloud.ibm.com/docs/
|
276
|
+
# language](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordsQueryLanguage).
|
270
277
|
# @param text [String] The word for which the pronunciation is requested.
|
271
278
|
# @param voice [String] A voice that specifies the language in which the pronunciation is to be returned.
|
272
279
|
# All voices for the same language (for example, `en-US`) return the same
|
273
280
|
# translation.
|
274
|
-
# @param format [String] The phoneme format in which to return the pronunciation.
|
275
|
-
#
|
281
|
+
# @param format [String] The phoneme format in which to return the pronunciation. The Arabic, Chinese,
|
282
|
+
# Dutch, and Korean languages support only IPA. Omit the parameter to obtain the
|
283
|
+
# pronunciation in the default format.
|
276
284
|
# @param customization_id [String] The customization ID (GUID) of a custom voice model for which the pronunciation is
|
277
285
|
# to be returned. The language of a specified custom model must match the language
|
278
286
|
# of the specified voice. If the word is not defined in the specified custom model,
|
@@ -322,10 +330,12 @@ module IBMWatson
|
|
322
330
|
# **Note:** This method is currently a beta release.
|
323
331
|
#
|
324
332
|
# **See also:** [Creating a custom
|
325
|
-
# model](https://cloud.ibm.com/docs/
|
333
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModels#cuModelsCreate).
|
326
334
|
# @param name [String] The name of the new custom voice model.
|
327
|
-
# @param language [String] The language of the new custom voice model.
|
328
|
-
#
|
335
|
+
# @param language [String] The language of the new custom voice model. You create a custom voice model for a
|
336
|
+
# specific language, not for a specific voice. A custom model can be used with any
|
337
|
+
# voice, standard or neural, for its specified language. Omit the parameter to use
|
338
|
+
# the the default language, `en-US`.
|
329
339
|
# @param description [String] A description of the new custom voice model. Specifying a description is
|
330
340
|
# recommended.
|
331
341
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
@@ -368,7 +378,7 @@ module IBMWatson
|
|
368
378
|
# **Note:** This method is currently a beta release.
|
369
379
|
#
|
370
380
|
# **See also:** [Querying all custom
|
371
|
-
# models](https://cloud.ibm.com/docs/
|
381
|
+
# models](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModels#cuModelsQueryAll).
|
372
382
|
# @param language [String] The language for which custom voice models that are owned by the requesting
|
373
383
|
# credentials are to be returned. Omit the parameter to see all custom voice models
|
374
384
|
# that are owned by the requester.
|
@@ -423,11 +433,11 @@ module IBMWatson
|
|
423
433
|
#
|
424
434
|
# **See also:**
|
425
435
|
# * [Updating a custom
|
426
|
-
# model](https://cloud.ibm.com/docs/
|
436
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModels#cuModelsUpdate)
|
427
437
|
# * [Adding words to a Japanese custom
|
428
|
-
# model](https://cloud.ibm.com/docs/
|
438
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuJapaneseAdd)
|
429
439
|
# * [Understanding
|
430
|
-
# customization](https://cloud.ibm.com/docs/
|
440
|
+
# customization](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customIntro#customIntro).
|
431
441
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
432
442
|
# with credentials for the instance of the service that owns the custom model.
|
433
443
|
# @param name [String] A new name for the custom voice model.
|
@@ -473,7 +483,7 @@ module IBMWatson
|
|
473
483
|
# **Note:** This method is currently a beta release.
|
474
484
|
#
|
475
485
|
# **See also:** [Querying a custom
|
476
|
-
# model](https://cloud.ibm.com/docs/
|
486
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModels#cuModelsQuery).
|
477
487
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
478
488
|
# with credentials for the instance of the service that owns the custom model.
|
479
489
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
@@ -505,7 +515,7 @@ module IBMWatson
|
|
505
515
|
# **Note:** This method is currently a beta release.
|
506
516
|
#
|
507
517
|
# **See also:** [Deleting a custom
|
508
|
-
# model](https://cloud.ibm.com/docs/
|
518
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModels#cuModelsDelete).
|
509
519
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
510
520
|
# with credentials for the instance of the service that owns the custom model.
|
511
521
|
# @return [nil]
|
@@ -558,11 +568,11 @@ module IBMWatson
|
|
558
568
|
#
|
559
569
|
# **See also:**
|
560
570
|
# * [Adding multiple words to a custom
|
561
|
-
# model](https://cloud.ibm.com/docs/
|
571
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordsAdd)
|
562
572
|
# * [Adding words to a Japanese custom
|
563
|
-
# model](https://cloud.ibm.com/docs/
|
573
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuJapaneseAdd)
|
564
574
|
# * [Understanding
|
565
|
-
# customization](https://cloud.ibm.com/docs/
|
575
|
+
# customization](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customIntro#customIntro).
|
566
576
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
567
577
|
# with credentials for the instance of the service that owns the custom model.
|
568
578
|
# @param words [Array[Word]] The **Add custom words** method accepts an array of `Word` objects. Each object
|
@@ -611,7 +621,7 @@ module IBMWatson
|
|
611
621
|
# **Note:** This method is currently a beta release.
|
612
622
|
#
|
613
623
|
# **See also:** [Querying all words from a custom
|
614
|
-
# model](https://cloud.ibm.com/docs/
|
624
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordsQueryModel).
|
615
625
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
616
626
|
# with credentials for the instance of the service that owns the custom model.
|
617
627
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
@@ -661,24 +671,25 @@ module IBMWatson
|
|
661
671
|
#
|
662
672
|
# **See also:**
|
663
673
|
# * [Adding a single word to a custom
|
664
|
-
# model](https://cloud.ibm.com/docs/
|
674
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordAdd)
|
665
675
|
# * [Adding words to a Japanese custom
|
666
|
-
# model](https://cloud.ibm.com/docs/
|
676
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuJapaneseAdd)
|
667
677
|
# * [Understanding
|
668
|
-
# customization](https://cloud.ibm.com/docs/
|
678
|
+
# customization](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customIntro#customIntro).
|
669
679
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
670
680
|
# with credentials for the instance of the service that owns the custom model.
|
671
681
|
# @param word [String] The word that is to be added or updated for the custom voice model.
|
672
682
|
# @param translation [String] The phonetic or sounds-like translation for the word. A phonetic translation is
|
673
683
|
# based on the SSML format for representing the phonetic string of a word either as
|
674
|
-
# an IPA translation or as an IBM SPR translation.
|
675
|
-
#
|
684
|
+
# an IPA translation or as an IBM SPR translation. The Arabic, Chinese, Dutch, and
|
685
|
+
# Korean languages support only IPA. A sounds-like is one or more words that, when
|
686
|
+
# combined, sound like the word.
|
676
687
|
# @param part_of_speech [String] **Japanese only.** The part of speech for the word. The service uses the value to
|
677
688
|
# produce the correct intonation for the word. You can create only a single entry,
|
678
689
|
# with or without a single part of speech, for any word; you cannot create multiple
|
679
690
|
# entries with different parts of speech for the same word. For more information,
|
680
691
|
# see [Working with Japanese
|
681
|
-
# entries](https://cloud.ibm.com/docs/
|
692
|
+
# entries](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-rules#jaNotes).
|
682
693
|
# @return [nil]
|
683
694
|
def add_word(customization_id:, word:, translation:, part_of_speech: nil)
|
684
695
|
raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
|
@@ -719,7 +730,7 @@ module IBMWatson
|
|
719
730
|
# **Note:** This method is currently a beta release.
|
720
731
|
#
|
721
732
|
# **See also:** [Querying a single word from a custom
|
722
|
-
# model](https://cloud.ibm.com/docs/
|
733
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordQueryModel).
|
723
734
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
724
735
|
# with credentials for the instance of the service that owns the custom model.
|
725
736
|
# @param word [String] The word that is to be queried from the custom voice model.
|
@@ -755,7 +766,7 @@ module IBMWatson
|
|
755
766
|
# **Note:** This method is currently a beta release.
|
756
767
|
#
|
757
768
|
# **See also:** [Deleting a word from a custom
|
758
|
-
# model](https://cloud.ibm.com/docs/
|
769
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordDelete).
|
759
770
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
760
771
|
# with credentials for the instance of the service that owns the custom model.
|
761
772
|
# @param word [String] The word that is to be deleted from the custom voice model.
|
@@ -797,7 +808,7 @@ module IBMWatson
|
|
797
808
|
# with a request that passes the data.
|
798
809
|
#
|
799
810
|
# **See also:** [Information
|
800
|
-
# security](https://cloud.ibm.com/docs/
|
811
|
+
# security](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-information-security#information-security).
|
801
812
|
# @param customer_id [String] The customer ID for which all data is to be deleted.
|
802
813
|
# @return [nil]
|
803
814
|
def delete_user_data(customer_id:)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# (C) Copyright IBM Corp.
|
3
|
+
# (C) Copyright IBM Corp. 2018, 2020.
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
6
|
# you may not use this file except in compliance with the License.
|
@@ -38,6 +38,8 @@ module IBMWatson
|
|
38
38
|
# The Tone Analyzer V3 service.
|
39
39
|
class ToneAnalyzerV3 < IBMCloudSdkCore::BaseService
|
40
40
|
include Concurrent::Async
|
41
|
+
DEFAULT_SERVICE_NAME = "tone_analyzer"
|
42
|
+
DEFAULT_SERVICE_URL = "https://gateway.watsonplatform.net/tone-analyzer/api"
|
41
43
|
##
|
42
44
|
# @!method initialize(args)
|
43
45
|
# Construct a new client for the Tone Analyzer service.
|
@@ -56,19 +58,23 @@ module IBMWatson
|
|
56
58
|
# @option args service_url [String] The base service URL to use when contacting the service.
|
57
59
|
# The base service_url may differ between IBM Cloud regions.
|
58
60
|
# @option args authenticator [Object] The Authenticator instance to be configured for this service.
|
61
|
+
# @option args service_name [String] The name of the service to configure. Will be used as the key to load
|
62
|
+
# any external configuration, if applicable.
|
59
63
|
def initialize(args = {})
|
60
64
|
@__async_initialized__ = false
|
61
65
|
defaults = {}
|
62
66
|
defaults[:version] = nil
|
63
|
-
defaults[:service_url] =
|
67
|
+
defaults[:service_url] = DEFAULT_SERVICE_URL
|
68
|
+
defaults[:service_name] = DEFAULT_SERVICE_NAME
|
64
69
|
defaults[:authenticator] = nil
|
70
|
+
user_service_url = args[:service_url] unless args[:service_url].nil?
|
65
71
|
args = defaults.merge(args)
|
66
72
|
@version = args[:version]
|
67
73
|
raise ArgumentError.new("version must be provided") if @version.nil?
|
68
74
|
|
69
|
-
args[:service_name] = "tone_analyzer"
|
70
75
|
args[:authenticator] = IBMCloudSdkCore::ConfigBasedAuthenticatorFactory.new.get_authenticator(service_name: args[:service_name]) if args[:authenticator].nil?
|
71
76
|
super
|
77
|
+
@service_url = user_service_url unless user_service_url.nil?
|
72
78
|
end
|
73
79
|
|
74
80
|
#########################
|
@@ -97,7 +103,7 @@ module IBMWatson
|
|
97
103
|
# analyzes only the textual content.
|
98
104
|
#
|
99
105
|
# **See also:** [Using the general-purpose
|
100
|
-
# endpoint](https://cloud.ibm.com/docs/
|
106
|
+
# endpoint](https://cloud.ibm.com/docs/tone-analyzer?topic=tone-analyzer-utgpe#utgpe).
|
101
107
|
# @param tone_input [ToneInput] JSON, plain text, or HTML input that contains the content to be analyzed. For JSON
|
102
108
|
# input, provide an object of type `ToneInput`.
|
103
109
|
# @param content_type [String] The type of the input. A character encoding can be specified by including a
|
@@ -177,7 +183,7 @@ module IBMWatson
|
|
177
183
|
# character encoding for JSON content is effectively always UTF-8.
|
178
184
|
#
|
179
185
|
# **See also:** [Using the customer-engagement
|
180
|
-
# endpoint](https://cloud.ibm.com/docs/
|
186
|
+
# endpoint](https://cloud.ibm.com/docs/tone-analyzer?topic=tone-analyzer-utco#utco).
|
181
187
|
# @param utterances [Array[Utterance]] An array of `Utterance` objects that provides the input content that the service
|
182
188
|
# is to analyze.
|
183
189
|
# @param content_language [String] The language of the input text for the request: English or French. Regional
|
data/lib/ibm_watson/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# (C) Copyright IBM Corp.
|
3
|
+
# (C) Copyright IBM Corp. 2018, 2020.
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
6
|
# you may not use this file except in compliance with the License.
|
@@ -30,6 +30,8 @@ module IBMWatson
|
|
30
30
|
# The Visual Recognition V3 service.
|
31
31
|
class VisualRecognitionV3 < IBMCloudSdkCore::BaseService
|
32
32
|
include Concurrent::Async
|
33
|
+
DEFAULT_SERVICE_NAME = "visual_recognition"
|
34
|
+
DEFAULT_SERVICE_URL = "https://gateway.watsonplatform.net/visual-recognition/api"
|
33
35
|
##
|
34
36
|
# @!method initialize(args)
|
35
37
|
# Construct a new client for the Visual Recognition service.
|
@@ -48,19 +50,23 @@ module IBMWatson
|
|
48
50
|
# @option args service_url [String] The base service URL to use when contacting the service.
|
49
51
|
# The base service_url may differ between IBM Cloud regions.
|
50
52
|
# @option args authenticator [Object] The Authenticator instance to be configured for this service.
|
53
|
+
# @option args service_name [String] The name of the service to configure. Will be used as the key to load
|
54
|
+
# any external configuration, if applicable.
|
51
55
|
def initialize(args = {})
|
52
56
|
@__async_initialized__ = false
|
53
57
|
defaults = {}
|
54
58
|
defaults[:version] = nil
|
55
|
-
defaults[:service_url] =
|
59
|
+
defaults[:service_url] = DEFAULT_SERVICE_URL
|
60
|
+
defaults[:service_name] = DEFAULT_SERVICE_NAME
|
56
61
|
defaults[:authenticator] = nil
|
62
|
+
user_service_url = args[:service_url] unless args[:service_url].nil?
|
57
63
|
args = defaults.merge(args)
|
58
64
|
@version = args[:version]
|
59
65
|
raise ArgumentError.new("version must be provided") if @version.nil?
|
60
66
|
|
61
|
-
args[:service_name] = "visual_recognition"
|
62
67
|
args[:authenticator] = IBMCloudSdkCore::ConfigBasedAuthenticatorFactory.new.get_authenticator(service_name: args[:service_name]) if args[:authenticator].nil?
|
63
68
|
super
|
69
|
+
@service_url = user_service_url unless user_service_url.nil?
|
64
70
|
end
|
65
71
|
|
66
72
|
#########################
|
@@ -177,7 +183,8 @@ module IBMWatson
|
|
177
183
|
#
|
178
184
|
# Specify the parameter name by appending `_positive_examples` to the class name.
|
179
185
|
# For example, `goldenretriever_positive_examples` creates the class
|
180
|
-
# **goldenretriever**.
|
186
|
+
# **goldenretriever**. The string cannot contain the following characters: ``$ * - {
|
187
|
+
# } \ | / ' " ` [ ]``.
|
181
188
|
#
|
182
189
|
# Include at least 10 images in .jpg or .png format. The minimum recommended image
|
183
190
|
# resolution is 32X32 pixels. The maximum number of images is 10,000 images or 100
|
@@ -304,7 +311,7 @@ module IBMWatson
|
|
304
311
|
# Update a custom classifier by adding new positive or negative classes or by adding
|
305
312
|
# new images to existing classes. You must supply at least one set of positive or
|
306
313
|
# negative examples. For details, see [Updating custom
|
307
|
-
# classifiers](https://cloud.ibm.com/docs/
|
314
|
+
# classifiers](https://cloud.ibm.com/docs/visual-recognition?topic=visual-recognition-customizing#updating-custom-classifiers).
|
308
315
|
#
|
309
316
|
# Encode all names in UTF-8 if they contain non-ASCII characters (.zip and image
|
310
317
|
# file names, and classifier and class names). The service assumes UTF-8 encoding if
|
@@ -328,7 +335,8 @@ module IBMWatson
|
|
328
335
|
#
|
329
336
|
# Specify the parameter name by appending `_positive_examples` to the class name.
|
330
337
|
# For example, `goldenretriever_positive_examples` creates the class
|
331
|
-
# `goldenretriever`.
|
338
|
+
# `goldenretriever`. The string cannot contain the following characters: ``$ * - { }
|
339
|
+
# \ | / ' " ` [ ]``.
|
332
340
|
#
|
333
341
|
# Include at least 10 images in .jpg or .png format. The minimum recommended image
|
334
342
|
# resolution is 32X32 pixels. The maximum number of images is 10,000 images or 100
|
@@ -462,7 +470,7 @@ module IBMWatson
|
|
462
470
|
# You associate a customer ID with data by passing the `X-Watson-Metadata` header
|
463
471
|
# with a request that passes data. For more information about personal data and
|
464
472
|
# customer IDs, see [Information
|
465
|
-
# security](https://cloud.ibm.com/docs/
|
473
|
+
# security](https://cloud.ibm.com/docs/visual-recognition?topic=visual-recognition-information-security).
|
466
474
|
# @param customer_id [String] The customer ID for which all data is to be deleted.
|
467
475
|
# @return [nil]
|
468
476
|
def delete_user_data(customer_id:)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# (C) Copyright IBM Corp. 2019.
|
3
|
+
# (C) Copyright IBM Corp. 2019, 2020.
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
6
|
# you may not use this file except in compliance with the License.
|
@@ -29,6 +29,8 @@ module IBMWatson
|
|
29
29
|
# The Visual Recognition V4 service.
|
30
30
|
class VisualRecognitionV4 < IBMCloudSdkCore::BaseService
|
31
31
|
include Concurrent::Async
|
32
|
+
DEFAULT_SERVICE_NAME = "visual_recognition"
|
33
|
+
DEFAULT_SERVICE_URL = "https://gateway.watsonplatform.net/visual-recognition/api"
|
32
34
|
##
|
33
35
|
# @!method initialize(args)
|
34
36
|
# Construct a new client for the Visual Recognition service.
|
@@ -47,19 +49,23 @@ module IBMWatson
|
|
47
49
|
# @option args service_url [String] The base service URL to use when contacting the service.
|
48
50
|
# The base service_url may differ between IBM Cloud regions.
|
49
51
|
# @option args authenticator [Object] The Authenticator instance to be configured for this service.
|
52
|
+
# @option args service_name [String] The name of the service to configure. Will be used as the key to load
|
53
|
+
# any external configuration, if applicable.
|
50
54
|
def initialize(args = {})
|
51
55
|
@__async_initialized__ = false
|
52
56
|
defaults = {}
|
53
57
|
defaults[:version] = nil
|
54
|
-
defaults[:service_url] =
|
58
|
+
defaults[:service_url] = DEFAULT_SERVICE_URL
|
59
|
+
defaults[:service_name] = DEFAULT_SERVICE_NAME
|
55
60
|
defaults[:authenticator] = nil
|
61
|
+
user_service_url = args[:service_url] unless args[:service_url].nil?
|
56
62
|
args = defaults.merge(args)
|
57
63
|
@version = args[:version]
|
58
64
|
raise ArgumentError.new("version must be provided") if @version.nil?
|
59
65
|
|
60
|
-
args[:service_name] = "visual_recognition"
|
61
66
|
args[:authenticator] = IBMCloudSdkCore::ConfigBasedAuthenticatorFactory.new.get_authenticator(service_name: args[:service_name]) if args[:authenticator].nil?
|
62
67
|
super
|
68
|
+
@service_url = user_service_url unless user_service_url.nil?
|
63
69
|
end
|
64
70
|
|
65
71
|
#########################
|
@@ -319,6 +325,51 @@ module IBMWatson
|
|
319
325
|
)
|
320
326
|
nil
|
321
327
|
end
|
328
|
+
|
329
|
+
##
|
330
|
+
# @!method get_model_file(collection_id:, feature:, model_format:)
|
331
|
+
# Get a model.
|
332
|
+
# Download a model that you can deploy to detect objects in images. The collection
|
333
|
+
# must include a generated model, which is indicated in the response for the
|
334
|
+
# collection details as `"rscnn_ready": true`. If the value is `false`, train or
|
335
|
+
# retrain the collection to generate the model.
|
336
|
+
#
|
337
|
+
# Currently, the model format is specific to Android apps. For more information
|
338
|
+
# about how to deploy the model to your app, see the [Watson Visual Recognition on
|
339
|
+
# Android](https://github.com/matt-ny/rscnn) project in GitHub.
|
340
|
+
# @param collection_id [String] The identifier of the collection.
|
341
|
+
# @param feature [String] The feature for the model.
|
342
|
+
# @param model_format [String] The format of the returned model.
|
343
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
344
|
+
def get_model_file(collection_id:, feature:, model_format:)
|
345
|
+
raise ArgumentError.new("collection_id must be provided") if collection_id.nil?
|
346
|
+
|
347
|
+
raise ArgumentError.new("feature must be provided") if feature.nil?
|
348
|
+
|
349
|
+
raise ArgumentError.new("model_format must be provided") if model_format.nil?
|
350
|
+
|
351
|
+
headers = {
|
352
|
+
}
|
353
|
+
sdk_headers = Common.new.get_sdk_headers("watson_vision_combined", "V4", "get_model_file")
|
354
|
+
headers.merge!(sdk_headers)
|
355
|
+
|
356
|
+
params = {
|
357
|
+
"version" => @version,
|
358
|
+
"feature" => feature,
|
359
|
+
"model_format" => model_format
|
360
|
+
}
|
361
|
+
|
362
|
+
method_url = "/v4/collections/%s/model" % [ERB::Util.url_encode(collection_id)]
|
363
|
+
|
364
|
+
response = request(
|
365
|
+
method: "GET",
|
366
|
+
url: method_url,
|
367
|
+
headers: headers,
|
368
|
+
params: params,
|
369
|
+
accept_json: false
|
370
|
+
)
|
371
|
+
response
|
372
|
+
end
|
322
373
|
#########################
|
323
374
|
# Images
|
324
375
|
#########################
|
@@ -529,6 +580,150 @@ module IBMWatson
|
|
529
580
|
response
|
530
581
|
end
|
531
582
|
#########################
|
583
|
+
# Objects
|
584
|
+
#########################
|
585
|
+
|
586
|
+
##
|
587
|
+
# @!method list_object_metadata(collection_id:)
|
588
|
+
# List object metadata.
|
589
|
+
# Retrieves a list of object names in a collection.
|
590
|
+
# @param collection_id [String] The identifier of the collection.
|
591
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
592
|
+
def list_object_metadata(collection_id:)
|
593
|
+
raise ArgumentError.new("collection_id must be provided") if collection_id.nil?
|
594
|
+
|
595
|
+
headers = {
|
596
|
+
}
|
597
|
+
sdk_headers = Common.new.get_sdk_headers("watson_vision_combined", "V4", "list_object_metadata")
|
598
|
+
headers.merge!(sdk_headers)
|
599
|
+
|
600
|
+
params = {
|
601
|
+
"version" => @version
|
602
|
+
}
|
603
|
+
|
604
|
+
method_url = "/v4/collections/%s/objects" % [ERB::Util.url_encode(collection_id)]
|
605
|
+
|
606
|
+
response = request(
|
607
|
+
method: "GET",
|
608
|
+
url: method_url,
|
609
|
+
headers: headers,
|
610
|
+
params: params,
|
611
|
+
accept_json: true
|
612
|
+
)
|
613
|
+
response
|
614
|
+
end
|
615
|
+
|
616
|
+
##
|
617
|
+
# @!method update_object_metadata(collection_id:, object:, new_object:)
|
618
|
+
# Update an object name.
|
619
|
+
# Update the name of an object. A successful request updates the training data for
|
620
|
+
# all images that use the object.
|
621
|
+
# @param collection_id [String] The identifier of the collection.
|
622
|
+
# @param object [String] The name of the object.
|
623
|
+
# @param new_object [String] The updated name of the object. The name can contain alphanumeric, underscore,
|
624
|
+
# hyphen, space, and dot characters. It cannot begin with the reserved prefix
|
625
|
+
# `sys-`.
|
626
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
627
|
+
def update_object_metadata(collection_id:, object:, new_object:)
|
628
|
+
raise ArgumentError.new("collection_id must be provided") if collection_id.nil?
|
629
|
+
|
630
|
+
raise ArgumentError.new("object must be provided") if object.nil?
|
631
|
+
|
632
|
+
raise ArgumentError.new("new_object must be provided") if new_object.nil?
|
633
|
+
|
634
|
+
headers = {
|
635
|
+
}
|
636
|
+
sdk_headers = Common.new.get_sdk_headers("watson_vision_combined", "V4", "update_object_metadata")
|
637
|
+
headers.merge!(sdk_headers)
|
638
|
+
|
639
|
+
params = {
|
640
|
+
"version" => @version
|
641
|
+
}
|
642
|
+
|
643
|
+
data = {
|
644
|
+
"object" => new_object
|
645
|
+
}
|
646
|
+
|
647
|
+
method_url = "/v4/collections/%s/objects/%s" % [ERB::Util.url_encode(collection_id), ERB::Util.url_encode(object)]
|
648
|
+
|
649
|
+
response = request(
|
650
|
+
method: "POST",
|
651
|
+
url: method_url,
|
652
|
+
headers: headers,
|
653
|
+
params: params,
|
654
|
+
json: data,
|
655
|
+
accept_json: true
|
656
|
+
)
|
657
|
+
response
|
658
|
+
end
|
659
|
+
|
660
|
+
##
|
661
|
+
# @!method get_object_metadata(collection_id:, object:)
|
662
|
+
# Get object metadata.
|
663
|
+
# Get the number of bounding boxes for a single object in a collection.
|
664
|
+
# @param collection_id [String] The identifier of the collection.
|
665
|
+
# @param object [String] The name of the object.
|
666
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
667
|
+
def get_object_metadata(collection_id:, object:)
|
668
|
+
raise ArgumentError.new("collection_id must be provided") if collection_id.nil?
|
669
|
+
|
670
|
+
raise ArgumentError.new("object must be provided") if object.nil?
|
671
|
+
|
672
|
+
headers = {
|
673
|
+
}
|
674
|
+
sdk_headers = Common.new.get_sdk_headers("watson_vision_combined", "V4", "get_object_metadata")
|
675
|
+
headers.merge!(sdk_headers)
|
676
|
+
|
677
|
+
params = {
|
678
|
+
"version" => @version
|
679
|
+
}
|
680
|
+
|
681
|
+
method_url = "/v4/collections/%s/objects/%s" % [ERB::Util.url_encode(collection_id), ERB::Util.url_encode(object)]
|
682
|
+
|
683
|
+
response = request(
|
684
|
+
method: "GET",
|
685
|
+
url: method_url,
|
686
|
+
headers: headers,
|
687
|
+
params: params,
|
688
|
+
accept_json: true
|
689
|
+
)
|
690
|
+
response
|
691
|
+
end
|
692
|
+
|
693
|
+
##
|
694
|
+
# @!method delete_object(collection_id:, object:)
|
695
|
+
# Delete an object.
|
696
|
+
# Delete one object from a collection. A successful request deletes the training
|
697
|
+
# data from all images that use the object.
|
698
|
+
# @param collection_id [String] The identifier of the collection.
|
699
|
+
# @param object [String] The name of the object.
|
700
|
+
# @return [nil]
|
701
|
+
def delete_object(collection_id:, object:)
|
702
|
+
raise ArgumentError.new("collection_id must be provided") if collection_id.nil?
|
703
|
+
|
704
|
+
raise ArgumentError.new("object must be provided") if object.nil?
|
705
|
+
|
706
|
+
headers = {
|
707
|
+
}
|
708
|
+
sdk_headers = Common.new.get_sdk_headers("watson_vision_combined", "V4", "delete_object")
|
709
|
+
headers.merge!(sdk_headers)
|
710
|
+
|
711
|
+
params = {
|
712
|
+
"version" => @version
|
713
|
+
}
|
714
|
+
|
715
|
+
method_url = "/v4/collections/%s/objects/%s" % [ERB::Util.url_encode(collection_id), ERB::Util.url_encode(object)]
|
716
|
+
|
717
|
+
request(
|
718
|
+
method: "DELETE",
|
719
|
+
url: method_url,
|
720
|
+
headers: headers,
|
721
|
+
params: params,
|
722
|
+
accept_json: true
|
723
|
+
)
|
724
|
+
nil
|
725
|
+
end
|
726
|
+
#########################
|
532
727
|
# Training
|
533
728
|
#########################
|
534
729
|
|
@@ -660,7 +855,7 @@ module IBMWatson
|
|
660
855
|
# You associate a customer ID with data by passing the `X-Watson-Metadata` header
|
661
856
|
# with a request that passes data. For more information about personal data and
|
662
857
|
# customer IDs, see [Information
|
663
|
-
# security](https://cloud.ibm.com/docs/
|
858
|
+
# security](https://cloud.ibm.com/docs/visual-recognition?topic=visual-recognition-information-security).
|
664
859
|
# @param customer_id [String] The customer ID for which all data is to be deleted.
|
665
860
|
# @return [nil]
|
666
861
|
def delete_user_data(customer_id:)
|