ibm_watson 1.2.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +33 -5
- data/lib/ibm_watson/assistant_v1.rb +153 -209
- data/lib/ibm_watson/assistant_v2.rb +168 -15
- data/lib/ibm_watson/compare_comply_v1.rb +11 -5
- data/lib/ibm_watson/discovery_v1.rb +14 -8
- data/lib/ibm_watson/discovery_v2.rb +605 -12
- data/lib/ibm_watson/language_translator_v3.rb +166 -47
- data/lib/ibm_watson/natural_language_classifier_v1.rb +10 -4
- data/lib/ibm_watson/natural_language_understanding_v1.rb +19 -15
- data/lib/ibm_watson/personality_insights_v3.rb +17 -11
- data/lib/ibm_watson/speech_to_text_v1.rb +323 -195
- data/lib/ibm_watson/text_to_speech_v1.rb +75 -59
- 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 +11 -5
- data/lib/ibm_watson/visual_recognition_v4.rb +199 -4
- data/test/integration/test_assistant_v2.rb +25 -0
- data/test/integration/test_compare_comply_v1.rb +1 -12
- data/test/integration/test_discovery_v2.rb +118 -6
- data/test/integration/test_language_translator_v3.rb +5 -0
- data/test/integration/test_speech_to_text_v1.rb +2 -0
- data/test/integration/test_visual_recognition_v4.rb +9 -0
- data/test/unit/test_assistant_v1.rb +98 -98
- data/test/unit/test_assistant_v2.rb +102 -8
- data/test/unit/test_compare_comply_v1.rb +20 -20
- data/test/unit/test_discovery_v1.rb +125 -125
- data/test/unit/test_discovery_v2.rb +262 -29
- data/test/unit/test_language_translator_v3.rb +85 -24
- data/test/unit/test_natural_language_classifier_v1.rb +17 -17
- data/test/unit/test_natural_language_understanding_v1.rb +10 -10
- data/test/unit/test_personality_insights_v3.rb +14 -10
- data/test/unit/test_speech_to_text_v1.rb +97 -97
- data/test/unit/test_text_to_speech_v1.rb +41 -41
- data/test/unit/test_tone_analyzer_v3.rb +12 -12
- data/test/unit/test_visual_recognition_v3.rb +16 -16
- data/test/unit/test_visual_recognition_v4.rb +117 -30
- 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. 2020.
|
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.
|
@@ -14,23 +14,25 @@
|
|
14
14
|
# See the License for the specific language governing permissions and
|
15
15
|
# limitations under the License.
|
16
16
|
|
17
|
-
# The IBM&
|
18
|
-
# capabilities to synthesize text into natural-sounding speech in a
|
19
|
-
# dialects, and voices. The service supports at least one male or
|
20
|
-
# both, for each language. The audio is streamed back to the
|
17
|
+
# The IBM Watson™ Text to Speech service provides APIs that use IBM's
|
18
|
+
# speech-synthesis capabilities to synthesize text into natural-sounding speech in a
|
19
|
+
# variety of languages, dialects, and voices. The service supports at least one male or
|
20
|
+
# female voice, sometimes both, for each language. The audio is streamed back to the
|
21
|
+
# client with minimal delay.
|
21
22
|
#
|
22
23
|
# For speech synthesis, the service supports a synchronous HTTP Representational State
|
23
|
-
# Transfer (REST) interface
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
24
|
+
# Transfer (REST) interface and a WebSocket interface. Both interfaces support plain text
|
25
|
+
# and SSML input. SSML is an XML-based markup language that provides text annotation for
|
26
|
+
# speech-synthesis applications. The WebSocket interface also supports the SSML
|
27
|
+
# <code><mark></code> element and word timings.
|
27
28
|
#
|
28
|
-
# The service
|
29
|
-
#
|
30
|
-
#
|
31
|
-
#
|
32
|
-
#
|
33
|
-
#
|
29
|
+
# The service offers a customization interface that you can use to define sounds-like or
|
30
|
+
# phonetic translations for words. A sounds-like translation consists of one or more words
|
31
|
+
# that, when combined, sound like the word. A phonetic translation is based on the SSML
|
32
|
+
# phoneme format for representing a word. You can specify a phonetic translation in
|
33
|
+
# standard International Phonetic Alphabet (IPA) representation or in the proprietary IBM
|
34
|
+
# Symbolic Phonetic Representation (SPR). The Arabic, Chinese, Dutch, and Korean languages
|
35
|
+
# support only IPA.
|
34
36
|
|
35
37
|
require "concurrent"
|
36
38
|
require "erb"
|
@@ -44,6 +46,8 @@ module IBMWatson
|
|
44
46
|
# The Text to Speech V1 service.
|
45
47
|
class TextToSpeechV1 < IBMCloudSdkCore::BaseService
|
46
48
|
include Concurrent::Async
|
49
|
+
DEFAULT_SERVICE_NAME = "text_to_speech"
|
50
|
+
DEFAULT_SERVICE_URL = "https://api.us-south.text-to-speech.watson.cloud.ibm.com"
|
47
51
|
##
|
48
52
|
# @!method initialize(args)
|
49
53
|
# Construct a new client for the Text to Speech service.
|
@@ -52,15 +56,19 @@ module IBMWatson
|
|
52
56
|
# @option args service_url [String] The base service URL to use when contacting the service.
|
53
57
|
# The base service_url may differ between IBM Cloud regions.
|
54
58
|
# @option args authenticator [Object] The Authenticator instance to be configured for this service.
|
59
|
+
# @option args service_name [String] The name of the service to configure. Will be used as the key to load
|
60
|
+
# any external configuration, if applicable.
|
55
61
|
def initialize(args = {})
|
56
62
|
@__async_initialized__ = false
|
57
63
|
defaults = {}
|
58
|
-
defaults[:service_url] =
|
64
|
+
defaults[:service_url] = DEFAULT_SERVICE_URL
|
65
|
+
defaults[:service_name] = DEFAULT_SERVICE_NAME
|
59
66
|
defaults[:authenticator] = nil
|
67
|
+
user_service_url = args[:service_url] unless args[:service_url].nil?
|
60
68
|
args = defaults.merge(args)
|
61
|
-
args[:service_name] = "text_to_speech"
|
62
69
|
args[:authenticator] = IBMCloudSdkCore::ConfigBasedAuthenticatorFactory.new.get_authenticator(service_name: args[:service_name]) if args[:authenticator].nil?
|
63
70
|
super
|
71
|
+
@service_url = user_service_url unless user_service_url.nil?
|
64
72
|
end
|
65
73
|
|
66
74
|
#########################
|
@@ -71,11 +79,13 @@ module IBMWatson
|
|
71
79
|
# @!method list_voices
|
72
80
|
# List voices.
|
73
81
|
# Lists all voices available for use with the service. The information includes the
|
74
|
-
# name, language, gender, and other details about the voice.
|
75
|
-
#
|
82
|
+
# name, language, gender, and other details about the voice. The ordering of the
|
83
|
+
# list of voices can change from call to call; do not rely on an alphabetized or
|
84
|
+
# static list of voices. To see information about a specific voice, use the **Get a
|
85
|
+
# voice** method.
|
76
86
|
#
|
77
87
|
# **See also:** [Listing all available
|
78
|
-
# voices](https://cloud.ibm.com/docs/
|
88
|
+
# voices](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices#listVoices).
|
79
89
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
80
90
|
def list_voices
|
81
91
|
headers = {
|
@@ -104,7 +114,7 @@ module IBMWatson
|
|
104
114
|
# **List voices** method.
|
105
115
|
#
|
106
116
|
# **See also:** [Listing a specific
|
107
|
-
# voice](https://cloud.ibm.com/docs/
|
117
|
+
# voice](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices#listVoice).
|
108
118
|
# @param voice [String] The voice for which information is to be returned.
|
109
119
|
# @param customization_id [String] The customization ID (GUID) of a custom voice model for which information is to be
|
110
120
|
# returned. You must make the request with credentials for the instance of the
|
@@ -150,7 +160,7 @@ module IBMWatson
|
|
150
160
|
# specify. The service returns the synthesized audio stream as an array of bytes.
|
151
161
|
#
|
152
162
|
# **See also:** [The HTTP
|
153
|
-
# interface](https://cloud.ibm.com/docs/
|
163
|
+
# interface](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingHTTP#usingHTTP).
|
154
164
|
#
|
155
165
|
#
|
156
166
|
# ### Audio formats (accept types)
|
@@ -198,7 +208,7 @@ module IBMWatson
|
|
198
208
|
#
|
199
209
|
# For more information about specifying an audio format, including additional
|
200
210
|
# details about some of the formats, see [Audio
|
201
|
-
# formats](https://cloud.ibm.com/docs/
|
211
|
+
# formats](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-audioFormats#audioFormats).
|
202
212
|
#
|
203
213
|
#
|
204
214
|
# ### Warning messages
|
@@ -216,10 +226,10 @@ module IBMWatson
|
|
216
226
|
# description.
|
217
227
|
# @param voice [String] The voice to use for synthesis.
|
218
228
|
# @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
|
-
#
|
229
|
+
# custom voice model is specified, it works only if it matches the language of the
|
230
|
+
# indicated voice. You must make the request with credentials for the instance of
|
231
|
+
# the service that owns the custom model. Omit the parameter to use the specified
|
232
|
+
# voice with no customization.
|
223
233
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
224
234
|
def synthesize(text:, accept: nil, voice: nil, customization_id: nil)
|
225
235
|
raise ArgumentError.new("text must be provided") if text.nil?
|
@@ -263,17 +273,17 @@ module IBMWatson
|
|
263
273
|
# specific voice to see the default translation for the language of that voice or
|
264
274
|
# for a specific custom voice model to see the translation for that voice model.
|
265
275
|
#
|
266
|
-
# **Note:** This method is currently a beta release.
|
267
|
-
# Arabic, Chinese, and Dutch languages.
|
276
|
+
# **Note:** This method is currently a beta release.
|
268
277
|
#
|
269
278
|
# **See also:** [Querying a word from a
|
270
|
-
# language](https://cloud.ibm.com/docs/
|
279
|
+
# language](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordsQueryLanguage).
|
271
280
|
# @param text [String] The word for which the pronunciation is requested.
|
272
281
|
# @param voice [String] A voice that specifies the language in which the pronunciation is to be returned.
|
273
282
|
# All voices for the same language (for example, `en-US`) return the same
|
274
283
|
# translation.
|
275
|
-
# @param format [String] The phoneme format in which to return the pronunciation.
|
276
|
-
#
|
284
|
+
# @param format [String] The phoneme format in which to return the pronunciation. The Arabic, Chinese,
|
285
|
+
# Dutch, and Korean languages support only IPA. Omit the parameter to obtain the
|
286
|
+
# pronunciation in the default format.
|
277
287
|
# @param customization_id [String] The customization ID (GUID) of a custom voice model for which the pronunciation is
|
278
288
|
# to be returned. The language of a specified custom model must match the language
|
279
289
|
# of the specified voice. If the word is not defined in the specified custom model,
|
@@ -320,14 +330,15 @@ module IBMWatson
|
|
320
330
|
# model. The model is owned by the instance of the service whose credentials are
|
321
331
|
# used to create it.
|
322
332
|
#
|
323
|
-
# **Note:** This method is currently a beta release.
|
324
|
-
# voice model customization for the Arabic, Chinese, and Dutch languages.
|
333
|
+
# **Note:** This method is currently a beta release.
|
325
334
|
#
|
326
335
|
# **See also:** [Creating a custom
|
327
|
-
# model](https://cloud.ibm.com/docs/
|
336
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModels#cuModelsCreate).
|
328
337
|
# @param name [String] The name of the new custom voice model.
|
329
|
-
# @param language [String] The language of the new custom voice model.
|
330
|
-
#
|
338
|
+
# @param language [String] The language of the new custom voice model. You create a custom voice model for a
|
339
|
+
# specific language, not for a specific voice. A custom model can be used with any
|
340
|
+
# voice, standard or neural, for its specified language. Omit the parameter to use
|
341
|
+
# the the default language, `en-US`.
|
331
342
|
# @param description [String] A description of the new custom voice model. Specifying a description is
|
332
343
|
# recommended.
|
333
344
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
@@ -370,7 +381,7 @@ module IBMWatson
|
|
370
381
|
# **Note:** This method is currently a beta release.
|
371
382
|
#
|
372
383
|
# **See also:** [Querying all custom
|
373
|
-
# models](https://cloud.ibm.com/docs/
|
384
|
+
# models](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModels#cuModelsQueryAll).
|
374
385
|
# @param language [String] The language for which custom voice models that are owned by the requesting
|
375
386
|
# credentials are to be returned. Omit the parameter to see all custom voice models
|
376
387
|
# that are owned by the requester.
|
@@ -425,11 +436,11 @@ module IBMWatson
|
|
425
436
|
#
|
426
437
|
# **See also:**
|
427
438
|
# * [Updating a custom
|
428
|
-
# model](https://cloud.ibm.com/docs/
|
439
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModels#cuModelsUpdate)
|
429
440
|
# * [Adding words to a Japanese custom
|
430
|
-
# model](https://cloud.ibm.com/docs/
|
441
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuJapaneseAdd)
|
431
442
|
# * [Understanding
|
432
|
-
# customization](https://cloud.ibm.com/docs/
|
443
|
+
# customization](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customIntro#customIntro).
|
433
444
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
434
445
|
# with credentials for the instance of the service that owns the custom model.
|
435
446
|
# @param name [String] A new name for the custom voice model.
|
@@ -475,7 +486,7 @@ module IBMWatson
|
|
475
486
|
# **Note:** This method is currently a beta release.
|
476
487
|
#
|
477
488
|
# **See also:** [Querying a custom
|
478
|
-
# model](https://cloud.ibm.com/docs/
|
489
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModels#cuModelsQuery).
|
479
490
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
480
491
|
# with credentials for the instance of the service that owns the custom model.
|
481
492
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
@@ -507,7 +518,7 @@ module IBMWatson
|
|
507
518
|
# **Note:** This method is currently a beta release.
|
508
519
|
#
|
509
520
|
# **See also:** [Deleting a custom
|
510
|
-
# model](https://cloud.ibm.com/docs/
|
521
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModels#cuModelsDelete).
|
511
522
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
512
523
|
# with credentials for the instance of the service that owns the custom model.
|
513
524
|
# @return [nil]
|
@@ -560,11 +571,11 @@ module IBMWatson
|
|
560
571
|
#
|
561
572
|
# **See also:**
|
562
573
|
# * [Adding multiple words to a custom
|
563
|
-
# model](https://cloud.ibm.com/docs/
|
574
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordsAdd)
|
564
575
|
# * [Adding words to a Japanese custom
|
565
|
-
# model](https://cloud.ibm.com/docs/
|
576
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuJapaneseAdd)
|
566
577
|
# * [Understanding
|
567
|
-
# customization](https://cloud.ibm.com/docs/
|
578
|
+
# customization](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customIntro#customIntro).
|
568
579
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
569
580
|
# with credentials for the instance of the service that owns the custom model.
|
570
581
|
# @param words [Array[Word]] The **Add custom words** method accepts an array of `Word` objects. Each object
|
@@ -613,7 +624,7 @@ module IBMWatson
|
|
613
624
|
# **Note:** This method is currently a beta release.
|
614
625
|
#
|
615
626
|
# **See also:** [Querying all words from a custom
|
616
|
-
# model](https://cloud.ibm.com/docs/
|
627
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordsQueryModel).
|
617
628
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
618
629
|
# with credentials for the instance of the service that owns the custom model.
|
619
630
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
@@ -663,24 +674,25 @@ module IBMWatson
|
|
663
674
|
#
|
664
675
|
# **See also:**
|
665
676
|
# * [Adding a single word to a custom
|
666
|
-
# model](https://cloud.ibm.com/docs/
|
677
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordAdd)
|
667
678
|
# * [Adding words to a Japanese custom
|
668
|
-
# model](https://cloud.ibm.com/docs/
|
679
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuJapaneseAdd)
|
669
680
|
# * [Understanding
|
670
|
-
# customization](https://cloud.ibm.com/docs/
|
681
|
+
# customization](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customIntro#customIntro).
|
671
682
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
672
683
|
# with credentials for the instance of the service that owns the custom model.
|
673
684
|
# @param word [String] The word that is to be added or updated for the custom voice model.
|
674
685
|
# @param translation [String] The phonetic or sounds-like translation for the word. A phonetic translation is
|
675
686
|
# based on the SSML format for representing the phonetic string of a word either as
|
676
|
-
# an IPA translation or as an IBM SPR translation.
|
677
|
-
#
|
687
|
+
# an IPA translation or as an IBM SPR translation. The Arabic, Chinese, Dutch, and
|
688
|
+
# Korean languages support only IPA. A sounds-like is one or more words that, when
|
689
|
+
# combined, sound like the word.
|
678
690
|
# @param part_of_speech [String] **Japanese only.** The part of speech for the word. The service uses the value to
|
679
691
|
# produce the correct intonation for the word. You can create only a single entry,
|
680
692
|
# with or without a single part of speech, for any word; you cannot create multiple
|
681
693
|
# entries with different parts of speech for the same word. For more information,
|
682
694
|
# see [Working with Japanese
|
683
|
-
# entries](https://cloud.ibm.com/docs/
|
695
|
+
# entries](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-rules#jaNotes).
|
684
696
|
# @return [nil]
|
685
697
|
def add_word(customization_id:, word:, translation:, part_of_speech: nil)
|
686
698
|
raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
|
@@ -721,7 +733,7 @@ module IBMWatson
|
|
721
733
|
# **Note:** This method is currently a beta release.
|
722
734
|
#
|
723
735
|
# **See also:** [Querying a single word from a custom
|
724
|
-
# model](https://cloud.ibm.com/docs/
|
736
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordQueryModel).
|
725
737
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
726
738
|
# with credentials for the instance of the service that owns the custom model.
|
727
739
|
# @param word [String] The word that is to be queried from the custom voice model.
|
@@ -757,7 +769,7 @@ module IBMWatson
|
|
757
769
|
# **Note:** This method is currently a beta release.
|
758
770
|
#
|
759
771
|
# **See also:** [Deleting a word from a custom
|
760
|
-
# model](https://cloud.ibm.com/docs/
|
772
|
+
# model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWords#cuWordDelete).
|
761
773
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
762
774
|
# with credentials for the instance of the service that owns the custom model.
|
763
775
|
# @param word [String] The word that is to be deleted from the custom voice model.
|
@@ -793,13 +805,17 @@ module IBMWatson
|
|
793
805
|
# deletes all data for the customer ID, regardless of the method by which the
|
794
806
|
# information was added. The method has no effect if no data is associated with the
|
795
807
|
# customer ID. You must issue the request with credentials for the same instance of
|
796
|
-
# the service that was used to associate the customer ID with the data.
|
808
|
+
# the service that was used to associate the customer ID with the data. You
|
809
|
+
# associate a customer ID with data by passing the `X-Watson-Metadata` header with a
|
810
|
+
# request that passes the data.
|
797
811
|
#
|
798
|
-
#
|
799
|
-
#
|
812
|
+
# **Note:** If you delete an instance of the service from the service console, all
|
813
|
+
# data associated with that service instance is automatically deleted. This includes
|
814
|
+
# all custom voice models and word/translation pairs, and all data related to speech
|
815
|
+
# synthesis requests.
|
800
816
|
#
|
801
817
|
# **See also:** [Information
|
802
|
-
# security](https://cloud.ibm.com/docs/
|
818
|
+
# security](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-information-security#information-security).
|
803
819
|
# @param customer_id [String] The customer ID for which all data is to be deleted.
|
804
820
|
# @return [nil]
|
805
821
|
def delete_user_data(customer_id:)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# (C) Copyright IBM Corp. 2020.
|
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://api.us-south.tone-analyzer.watson.cloud.ibm.com"
|
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. 2020.
|
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://api.us-south.visual-recognition.watson.cloud.ibm.com"
|
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
|
#########################
|
@@ -305,7 +311,7 @@ module IBMWatson
|
|
305
311
|
# Update a custom classifier by adding new positive or negative classes or by adding
|
306
312
|
# new images to existing classes. You must supply at least one set of positive or
|
307
313
|
# negative examples. For details, see [Updating custom
|
308
|
-
# classifiers](https://cloud.ibm.com/docs/
|
314
|
+
# classifiers](https://cloud.ibm.com/docs/visual-recognition?topic=visual-recognition-customizing#updating-custom-classifiers).
|
309
315
|
#
|
310
316
|
# Encode all names in UTF-8 if they contain non-ASCII characters (.zip and image
|
311
317
|
# file names, and classifier and class names). The service assumes UTF-8 encoding if
|
@@ -464,7 +470,7 @@ module IBMWatson
|
|
464
470
|
# You associate a customer ID with data by passing the `X-Watson-Metadata` header
|
465
471
|
# with a request that passes data. For more information about personal data and
|
466
472
|
# customer IDs, see [Information
|
467
|
-
# security](https://cloud.ibm.com/docs/
|
473
|
+
# security](https://cloud.ibm.com/docs/visual-recognition?topic=visual-recognition-information-security).
|
468
474
|
# @param customer_id [String] The customer ID for which all data is to be deleted.
|
469
475
|
# @return [nil]
|
470
476
|
def delete_user_data(customer_id:)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# (C) Copyright IBM Corp. 2020.
|
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://api.us-south.visual-recognition.watson.cloud.ibm.com"
|
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:)
|