ibm_watson 0.9.2 → 0.10.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/lib/ibm_watson.rb +1 -0
- data/lib/ibm_watson/assistant_v1.rb +282 -123
- data/lib/ibm_watson/assistant_v2.rb +16 -6
- data/lib/ibm_watson/compare_comply_v1.rb +653 -0
- data/lib/ibm_watson/discovery_v1.rb +322 -138
- data/lib/ibm_watson/language_translator_v3.rb +41 -30
- data/lib/ibm_watson/natural_language_classifier_v1.rb +32 -25
- data/lib/ibm_watson/natural_language_understanding_v1.rb +38 -17
- data/lib/ibm_watson/personality_insights_v3.rb +54 -36
- data/lib/ibm_watson/speech_to_text_v1.rb +247 -161
- data/lib/ibm_watson/text_to_speech_v1.rb +149 -41
- data/lib/ibm_watson/tone_analyzer_v3.rb +15 -9
- data/lib/ibm_watson/version.rb +1 -1
- data/lib/ibm_watson/visual_recognition_v3.rb +113 -90
- data/test/integration/test_compare_comply_v1.rb +112 -0
- data/test/integration/test_personality_insights_v3.rb +3 -0
- data/test/integration/test_visual_recognition_v3.rb +1 -1
- data/test/unit/test_compare_comply_v1.rb +289 -0
- data/test/unit/test_personality_insights_v3.rb +4 -0
- data/test/unit/test_vcap_using_personality_insights.rb +3 -0
- data/test/unit/test_visual_recognition_v3.rb +6 -6
- metadata +5 -2
@@ -104,7 +104,9 @@ module IBMWatson
|
|
104
104
|
def list_voices
|
105
105
|
headers = {
|
106
106
|
}
|
107
|
+
|
107
108
|
method_url = "/v1/voices"
|
109
|
+
|
108
110
|
response = request(
|
109
111
|
method: "GET",
|
110
112
|
url: method_url,
|
@@ -131,14 +133,17 @@ module IBMWatson
|
|
131
133
|
# information about the specified voice with no customization.
|
132
134
|
# @return [DetailedResponse] A `DetailedResponse` object representing the response.
|
133
135
|
def get_voice(voice:, customization_id: nil)
|
134
|
-
raise ArgumentError("voice must be provided") if voice.nil?
|
136
|
+
raise ArgumentError.new("voice must be provided") if voice.nil?
|
135
137
|
|
136
138
|
headers = {
|
137
139
|
}
|
140
|
+
|
138
141
|
params = {
|
139
142
|
"customization_id" => customization_id
|
140
143
|
}
|
144
|
+
|
141
145
|
method_url = "/v1/voices/%s" % [ERB::Util.url_encode(voice)]
|
146
|
+
|
142
147
|
response = request(
|
143
148
|
method: "GET",
|
144
149
|
url: method_url,
|
@@ -155,28 +160,99 @@ module IBMWatson
|
|
155
160
|
##
|
156
161
|
# @!method synthesize(text:, accept: nil, voice: nil, customization_id: nil)
|
157
162
|
# Synthesize audio.
|
158
|
-
# Synthesizes text to spoken
|
159
|
-
#
|
160
|
-
#
|
161
|
-
# response audio. By default, the service uses `audio/ogg;codecs=opus`.
|
163
|
+
# Synthesizes text to audio that is spoken in the specified voice. The service bases
|
164
|
+
# its understanding of the language for the input text on the specified voice. Use a
|
165
|
+
# voice that matches the language of the input text.
|
162
166
|
#
|
163
|
-
#
|
164
|
-
#
|
165
|
-
# includes a descriptive message and a list of invalid argument strings. For
|
166
|
-
# example, a message such as `\"Unknown arguments:\"` or `\"Unknown url query
|
167
|
-
# arguments:\"` followed by a list of the form `\"invalid_arg_1, invalid_arg_2.\"`
|
168
|
-
# The request succeeds despite the warnings.
|
167
|
+
# The service returns the synthesized audio stream as an array of bytes. You can
|
168
|
+
# pass a maximum of 5 KB of text to the service.
|
169
169
|
#
|
170
170
|
# **See also:** [Synthesizing text to
|
171
171
|
# audio](https://console.bluemix.net/docs/services/text-to-speech/http.html#synthesize).
|
172
|
-
#
|
173
|
-
#
|
174
|
-
#
|
175
|
-
#
|
176
|
-
#
|
177
|
-
#
|
178
|
-
#
|
172
|
+
#
|
173
|
+
# ### Audio formats (accept types)
|
174
|
+
#
|
175
|
+
# The service can return audio in the following formats (MIME types).
|
176
|
+
# * Where indicated, you can optionally specify the sampling rate (`rate`) of the
|
177
|
+
# audio. You must specify a sampling rate for the `audio/l16` and `audio/mulaw`
|
178
|
+
# formats. A specified sampling rate must lie in the range of 8 kHz to 192 kHz.
|
179
|
+
# * For the `audio/l16` format, you can optionally specify the endianness
|
180
|
+
# (`endianness`) of the audio: `endianness=big-endian` or
|
181
|
+
# `endianness=little-endian`.
|
182
|
+
#
|
183
|
+
# Use the `Accept` header or the `accept` parameter to specify the requested format
|
184
|
+
# of the response audio. If you omit an audio format altogether, the service returns
|
185
|
+
# the audio in Ogg format with the Opus codec (`audio/ogg;codecs=opus`). The service
|
186
|
+
# always returns single-channel audio.
|
187
|
+
# * `audio/basic`
|
188
|
+
#
|
189
|
+
# The service returns audio with a sampling rate of 8000 Hz.
|
190
|
+
# * `audio/flac`
|
191
|
+
#
|
192
|
+
# You can optionally specify the `rate` of the audio. The default sampling rate is
|
193
|
+
# 22,050 Hz.
|
194
|
+
# * `audio/l16`
|
195
|
+
#
|
196
|
+
# You must specify the `rate` of the audio. You can optionally specify the
|
197
|
+
# `endianness` of the audio. The default endianness is `little-endian`.
|
198
|
+
# * `audio/mp3`
|
199
|
+
#
|
200
|
+
# You can optionally specify the `rate` of the audio. The default sampling rate is
|
201
|
+
# 22,050 Hz.
|
202
|
+
# * `audio/mpeg`
|
203
|
+
#
|
204
|
+
# You can optionally specify the `rate` of the audio. The default sampling rate is
|
205
|
+
# 22,050 Hz.
|
206
|
+
# * `audio/mulaw`
|
207
|
+
#
|
208
|
+
# You must specify the `rate` of the audio.
|
209
|
+
# * `audio/ogg`
|
210
|
+
#
|
211
|
+
# The service returns the audio in the `vorbis` codec. You can optionally specify
|
212
|
+
# the `rate` of the audio. The default sampling rate is 22,050 Hz.
|
213
|
+
# * `audio/ogg;codecs=opus`
|
214
|
+
#
|
215
|
+
# You can optionally specify the `rate` of the audio. The default sampling rate is
|
216
|
+
# 22,050 Hz.
|
217
|
+
# * `audio/ogg;codecs=vorbis`
|
218
|
+
#
|
219
|
+
# You can optionally specify the `rate` of the audio. The default sampling rate is
|
220
|
+
# 22,050 Hz.
|
221
|
+
# * `audio/wav`
|
222
|
+
#
|
223
|
+
# You can optionally specify the `rate` of the audio. The default sampling rate is
|
224
|
+
# 22,050 Hz.
|
225
|
+
# * `audio/webm`
|
226
|
+
#
|
227
|
+
# The service returns the audio in the `opus` codec. The service returns audio
|
228
|
+
# with a sampling rate of 48,000 Hz.
|
229
|
+
# * `audio/webm;codecs=opus`
|
230
|
+
#
|
231
|
+
# The service returns audio with a sampling rate of 48,000 Hz.
|
232
|
+
# * `audio/webm;codecs=vorbis`
|
233
|
+
#
|
234
|
+
# You can optionally specify the `rate` of the audio. The default sampling rate is
|
235
|
+
# 22,050 Hz.
|
236
|
+
#
|
237
|
+
# For more information about specifying an audio format, including additional
|
238
|
+
# details about some of the formats, see [Specifying an audio
|
179
239
|
# format](https://console.bluemix.net/docs/services/text-to-speech/http.html#format).
|
240
|
+
#
|
241
|
+
# ### Warning messages
|
242
|
+
#
|
243
|
+
# If a request includes invalid query parameters, the service returns a `Warnings`
|
244
|
+
# response header that provides messages about the invalid parameters. The warning
|
245
|
+
# includes a descriptive message and a list of invalid argument strings. For
|
246
|
+
# example, a message such as `\"Unknown arguments:\"` or `\"Unknown url query
|
247
|
+
# arguments:\"` followed by a list of the form `\"{invalid_arg_1},
|
248
|
+
# {invalid_arg_2}.\"` The request succeeds despite the warnings.
|
249
|
+
# @param text [String] The text to synthesize.
|
250
|
+
# @param accept [String] The requested format (MIME type) of the audio. You can use the `Accept` header or
|
251
|
+
# the `accept` parameter to specify the audio format. For more information about
|
252
|
+
# specifying an audio format, see **Audio formats (accept types)** in the method
|
253
|
+
# description.
|
254
|
+
#
|
255
|
+
# Default: `audio/ogg;codecs=opus`.
|
180
256
|
# @param voice [String] The voice to use for synthesis.
|
181
257
|
# @param customization_id [String] The customization ID (GUID) of a custom voice model to use for the synthesis. If a
|
182
258
|
# custom voice model is specified, it is guaranteed to work only if it matches the
|
@@ -185,19 +261,23 @@ module IBMWatson
|
|
185
261
|
# Omit the parameter to use the specified voice with no customization.
|
186
262
|
# @return [DetailedResponse] A `DetailedResponse` object representing the response.
|
187
263
|
def synthesize(text:, accept: nil, voice: nil, customization_id: nil)
|
188
|
-
raise ArgumentError("text must be provided") if text.nil?
|
264
|
+
raise ArgumentError.new("text must be provided") if text.nil?
|
189
265
|
|
190
266
|
headers = {
|
191
267
|
"Accept" => accept
|
192
268
|
}
|
269
|
+
|
193
270
|
params = {
|
194
271
|
"voice" => voice,
|
195
272
|
"customization_id" => customization_id
|
196
273
|
}
|
274
|
+
|
197
275
|
data = {
|
198
276
|
"text" => text
|
199
277
|
}
|
278
|
+
|
200
279
|
method_url = "/v1/synthesize"
|
280
|
+
|
201
281
|
response = request(
|
202
282
|
method: "POST",
|
203
283
|
url: method_url,
|
@@ -239,17 +319,20 @@ module IBMWatson
|
|
239
319
|
# the specified voice with no customization.
|
240
320
|
# @return [DetailedResponse] A `DetailedResponse` object representing the response.
|
241
321
|
def get_pronunciation(text:, voice: nil, format: nil, customization_id: nil)
|
242
|
-
raise ArgumentError("text must be provided") if text.nil?
|
322
|
+
raise ArgumentError.new("text must be provided") if text.nil?
|
243
323
|
|
244
324
|
headers = {
|
245
325
|
}
|
326
|
+
|
246
327
|
params = {
|
247
328
|
"text" => text,
|
248
329
|
"voice" => voice,
|
249
330
|
"format" => format,
|
250
331
|
"customization_id" => customization_id
|
251
332
|
}
|
333
|
+
|
252
334
|
method_url = "/v1/pronunciation"
|
335
|
+
|
253
336
|
response = request(
|
254
337
|
method: "GET",
|
255
338
|
url: method_url,
|
@@ -282,16 +365,19 @@ module IBMWatson
|
|
282
365
|
# recommended.
|
283
366
|
# @return [DetailedResponse] A `DetailedResponse` object representing the response.
|
284
367
|
def create_voice_model(name:, language: nil, description: nil)
|
285
|
-
raise ArgumentError("name must be provided") if name.nil?
|
368
|
+
raise ArgumentError.new("name must be provided") if name.nil?
|
286
369
|
|
287
370
|
headers = {
|
288
371
|
}
|
372
|
+
|
289
373
|
data = {
|
290
374
|
"name" => name,
|
291
375
|
"language" => language,
|
292
376
|
"description" => description
|
293
377
|
}
|
378
|
+
|
294
379
|
method_url = "/v1/customizations"
|
380
|
+
|
295
381
|
response = request(
|
296
382
|
method: "POST",
|
297
383
|
url: method_url,
|
@@ -323,10 +409,13 @@ module IBMWatson
|
|
323
409
|
def list_voice_models(language: nil)
|
324
410
|
headers = {
|
325
411
|
}
|
412
|
+
|
326
413
|
params = {
|
327
414
|
"language" => language
|
328
415
|
}
|
416
|
+
|
329
417
|
method_url = "/v1/customizations"
|
418
|
+
|
330
419
|
response = request(
|
331
420
|
method: "GET",
|
332
421
|
url: method_url,
|
@@ -368,8 +457,7 @@ module IBMWatson
|
|
368
457
|
# model](https://console.bluemix.net/docs/services/text-to-speech/custom-models.html#cuModelsUpdate)
|
369
458
|
# * [Adding words to a Japanese custom
|
370
459
|
# model](https://console.bluemix.net/docs/services/text-to-speech/custom-entries.html#cuJapaneseAdd)
|
371
|
-
# * [Understanding
|
372
|
-
# customization](https://console.bluemix.net/docs/services/text-to-speech/custom-intro.html).
|
460
|
+
# * [Understanding customization](https://console.bluemix.net/docs/services/text-to-speech/custom-intro.html).
|
373
461
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
374
462
|
# with service credentials created for the instance of the service that owns the
|
375
463
|
# custom model.
|
@@ -380,16 +468,19 @@ module IBMWatson
|
|
380
468
|
# additions or updates.
|
381
469
|
# @return [nil]
|
382
470
|
def update_voice_model(customization_id:, name: nil, description: nil, words: nil)
|
383
|
-
raise ArgumentError("customization_id must be provided") if customization_id.nil?
|
471
|
+
raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
|
384
472
|
|
385
473
|
headers = {
|
386
474
|
}
|
475
|
+
|
387
476
|
data = {
|
388
477
|
"name" => name,
|
389
478
|
"description" => description,
|
390
479
|
"words" => words
|
391
480
|
}
|
481
|
+
|
392
482
|
method_url = "/v1/customizations/%s" % [ERB::Util.url_encode(customization_id)]
|
483
|
+
|
393
484
|
request(
|
394
485
|
method: "POST",
|
395
486
|
url: method_url,
|
@@ -417,11 +508,13 @@ module IBMWatson
|
|
417
508
|
# custom model.
|
418
509
|
# @return [DetailedResponse] A `DetailedResponse` object representing the response.
|
419
510
|
def get_voice_model(customization_id:)
|
420
|
-
raise ArgumentError("customization_id must be provided") if customization_id.nil?
|
511
|
+
raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
|
421
512
|
|
422
513
|
headers = {
|
423
514
|
}
|
515
|
+
|
424
516
|
method_url = "/v1/customizations/%s" % [ERB::Util.url_encode(customization_id)]
|
517
|
+
|
425
518
|
response = request(
|
426
519
|
method: "GET",
|
427
520
|
url: method_url,
|
@@ -446,11 +539,13 @@ module IBMWatson
|
|
446
539
|
# custom model.
|
447
540
|
# @return [nil]
|
448
541
|
def delete_voice_model(customization_id:)
|
449
|
-
raise ArgumentError("customization_id must be provided") if customization_id.nil?
|
542
|
+
raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
|
450
543
|
|
451
544
|
headers = {
|
452
545
|
}
|
546
|
+
|
453
547
|
method_url = "/v1/customizations/%s" % [ERB::Util.url_encode(customization_id)]
|
548
|
+
|
454
549
|
request(
|
455
550
|
method: "DELETE",
|
456
551
|
url: method_url,
|
@@ -493,8 +588,7 @@ module IBMWatson
|
|
493
588
|
# model](https://console.bluemix.net/docs/services/text-to-speech/custom-entries.html#cuWordsAdd)
|
494
589
|
# * [Adding words to a Japanese custom
|
495
590
|
# model](https://console.bluemix.net/docs/services/text-to-speech/custom-entries.html#cuJapaneseAdd)
|
496
|
-
# * [Understanding
|
497
|
-
# customization](https://console.bluemix.net/docs/services/text-to-speech/custom-intro.html).
|
591
|
+
# * [Understanding customization](https://console.bluemix.net/docs/services/text-to-speech/custom-intro.html).
|
498
592
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
499
593
|
# with service credentials created for the instance of the service that owns the
|
500
594
|
# custom model.
|
@@ -508,16 +602,19 @@ module IBMWatson
|
|
508
602
|
# array is empty if the custom model contains no words.
|
509
603
|
# @return [nil]
|
510
604
|
def add_words(customization_id:, words:)
|
511
|
-
raise ArgumentError("customization_id must be provided") if customization_id.nil?
|
605
|
+
raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
|
512
606
|
|
513
|
-
raise ArgumentError("words must be provided") if words.nil?
|
607
|
+
raise ArgumentError.new("words must be provided") if words.nil?
|
514
608
|
|
515
609
|
headers = {
|
516
610
|
}
|
611
|
+
|
517
612
|
data = {
|
518
613
|
"words" => words
|
519
614
|
}
|
615
|
+
|
520
616
|
method_url = "/v1/customizations/%s/words" % [ERB::Util.url_encode(customization_id)]
|
617
|
+
|
521
618
|
request(
|
522
619
|
method: "POST",
|
523
620
|
url: method_url,
|
@@ -545,11 +642,13 @@ module IBMWatson
|
|
545
642
|
# custom model.
|
546
643
|
# @return [DetailedResponse] A `DetailedResponse` object representing the response.
|
547
644
|
def list_words(customization_id:)
|
548
|
-
raise ArgumentError("customization_id must be provided") if customization_id.nil?
|
645
|
+
raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
|
549
646
|
|
550
647
|
headers = {
|
551
648
|
}
|
649
|
+
|
552
650
|
method_url = "/v1/customizations/%s/words" % [ERB::Util.url_encode(customization_id)]
|
651
|
+
|
553
652
|
response = request(
|
554
653
|
method: "GET",
|
555
654
|
url: method_url,
|
@@ -589,8 +688,7 @@ module IBMWatson
|
|
589
688
|
# model](https://console.bluemix.net/docs/services/text-to-speech/custom-entries.html#cuWordAdd)
|
590
689
|
# * [Adding words to a Japanese custom
|
591
690
|
# model](https://console.bluemix.net/docs/services/text-to-speech/custom-entries.html#cuJapaneseAdd)
|
592
|
-
# * [Understanding
|
593
|
-
# customization](https://console.bluemix.net/docs/services/text-to-speech/custom-intro.html).
|
691
|
+
# * [Understanding customization](https://console.bluemix.net/docs/services/text-to-speech/custom-intro.html).
|
594
692
|
# @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
|
595
693
|
# with service credentials created for the instance of the service that owns the
|
596
694
|
# custom model.
|
@@ -607,19 +705,22 @@ module IBMWatson
|
|
607
705
|
# entries](https://console.bluemix.net/docs/services/text-to-speech/custom-rules.html#jaNotes).
|
608
706
|
# @return [nil]
|
609
707
|
def add_word(customization_id:, word:, translation:, part_of_speech: nil)
|
610
|
-
raise ArgumentError("customization_id must be provided") if customization_id.nil?
|
708
|
+
raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
|
611
709
|
|
612
|
-
raise ArgumentError("word must be provided") if word.nil?
|
710
|
+
raise ArgumentError.new("word must be provided") if word.nil?
|
613
711
|
|
614
|
-
raise ArgumentError("translation must be provided") if translation.nil?
|
712
|
+
raise ArgumentError.new("translation must be provided") if translation.nil?
|
615
713
|
|
616
714
|
headers = {
|
617
715
|
}
|
716
|
+
|
618
717
|
data = {
|
619
718
|
"translation" => translation,
|
620
719
|
"part_of_speech" => part_of_speech
|
621
720
|
}
|
721
|
+
|
622
722
|
method_url = "/v1/customizations/%s/words/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(word)]
|
723
|
+
|
623
724
|
request(
|
624
725
|
method: "PUT",
|
625
726
|
url: method_url,
|
@@ -647,13 +748,15 @@ module IBMWatson
|
|
647
748
|
# @param word [String] The word that is to be queried from the custom voice model.
|
648
749
|
# @return [DetailedResponse] A `DetailedResponse` object representing the response.
|
649
750
|
def get_word(customization_id:, word:)
|
650
|
-
raise ArgumentError("customization_id must be provided") if customization_id.nil?
|
751
|
+
raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
|
651
752
|
|
652
|
-
raise ArgumentError("word must be provided") if word.nil?
|
753
|
+
raise ArgumentError.new("word must be provided") if word.nil?
|
653
754
|
|
654
755
|
headers = {
|
655
756
|
}
|
757
|
+
|
656
758
|
method_url = "/v1/customizations/%s/words/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(word)]
|
759
|
+
|
657
760
|
response = request(
|
658
761
|
method: "GET",
|
659
762
|
url: method_url,
|
@@ -680,13 +783,15 @@ module IBMWatson
|
|
680
783
|
# @param word [String] The word that is to be deleted from the custom voice model.
|
681
784
|
# @return [nil]
|
682
785
|
def delete_word(customization_id:, word:)
|
683
|
-
raise ArgumentError("customization_id must be provided") if customization_id.nil?
|
786
|
+
raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
|
684
787
|
|
685
|
-
raise ArgumentError("word must be provided") if word.nil?
|
788
|
+
raise ArgumentError.new("word must be provided") if word.nil?
|
686
789
|
|
687
790
|
headers = {
|
688
791
|
}
|
792
|
+
|
689
793
|
method_url = "/v1/customizations/%s/words/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(word)]
|
794
|
+
|
690
795
|
request(
|
691
796
|
method: "DELETE",
|
692
797
|
url: method_url,
|
@@ -716,14 +821,17 @@ module IBMWatson
|
|
716
821
|
# @param customer_id [String] The customer ID for which all data is to be deleted.
|
717
822
|
# @return [nil]
|
718
823
|
def delete_user_data(customer_id:)
|
719
|
-
raise ArgumentError("customer_id must be provided") if customer_id.nil?
|
824
|
+
raise ArgumentError.new("customer_id must be provided") if customer_id.nil?
|
720
825
|
|
721
826
|
headers = {
|
722
827
|
}
|
828
|
+
|
723
829
|
params = {
|
724
830
|
"customer_id" => customer_id
|
725
831
|
}
|
832
|
+
|
726
833
|
method_url = "/v1/user_data"
|
834
|
+
|
727
835
|
request(
|
728
836
|
method: "DELETE",
|
729
837
|
url: method_url,
|
@@ -22,9 +22,9 @@
|
|
22
22
|
# to respond to each customer appropriately, or to understand and improve their customer
|
23
23
|
# conversations.
|
24
24
|
#
|
25
|
-
# **Note:** Request logging is disabled for the Tone Analyzer service.
|
26
|
-
#
|
27
|
-
#
|
25
|
+
# **Note:** Request logging is disabled for the Tone Analyzer service. Regardless of
|
26
|
+
# whether you set the `X-Watson-Learning-Opt-Out` request header, the service does not log
|
27
|
+
# or retain data from requests and responses.
|
28
28
|
|
29
29
|
require "concurrent"
|
30
30
|
require "erb"
|
@@ -97,7 +97,7 @@ module IBMWatson
|
|
97
97
|
#########################
|
98
98
|
|
99
99
|
##
|
100
|
-
# @!method tone(tone_input:, content_type
|
100
|
+
# @!method tone(tone_input:, content_type: nil, sentences: nil, tones: nil, content_language: nil, accept_language: nil)
|
101
101
|
# Analyze general tone.
|
102
102
|
# Use the general purpose endpoint to analyze the tone of your input content. The
|
103
103
|
# service analyzes the content for emotional and language tones. The method always
|
@@ -145,27 +145,29 @@ module IBMWatson
|
|
145
145
|
# as `en`. You can use different languages for **Content-Language** and
|
146
146
|
# **Accept-Language**.
|
147
147
|
# @return [DetailedResponse] A `DetailedResponse` object representing the response.
|
148
|
-
def tone(tone_input:, content_type
|
149
|
-
raise ArgumentError("tone_input must be provided") if tone_input.nil?
|
150
|
-
|
151
|
-
raise ArgumentError("content_type must be provided") if content_type.nil?
|
148
|
+
def tone(tone_input:, content_type: nil, sentences: nil, tones: nil, content_language: nil, accept_language: nil)
|
149
|
+
raise ArgumentError.new("tone_input must be provided") if tone_input.nil?
|
152
150
|
|
153
151
|
headers = {
|
154
152
|
"Content-Type" => content_type,
|
155
153
|
"Content-Language" => content_language,
|
156
154
|
"Accept-Language" => accept_language
|
157
155
|
}
|
156
|
+
|
158
157
|
params = {
|
159
158
|
"version" => @version,
|
160
159
|
"sentences" => sentences,
|
161
160
|
"tones" => tones.to_a
|
162
161
|
}
|
162
|
+
|
163
163
|
if content_type.start_with?("application/json") && tone_input.instance_of?(Hash)
|
164
164
|
data = tone_input.to_json
|
165
165
|
else
|
166
166
|
data = tone_input
|
167
167
|
end
|
168
|
+
|
168
169
|
method_url = "/v3/tone"
|
170
|
+
|
169
171
|
response = request(
|
170
172
|
method: "POST",
|
171
173
|
url: method_url,
|
@@ -209,19 +211,23 @@ module IBMWatson
|
|
209
211
|
# **Accept-Language**.
|
210
212
|
# @return [DetailedResponse] A `DetailedResponse` object representing the response.
|
211
213
|
def tone_chat(utterances:, content_language: nil, accept_language: nil)
|
212
|
-
raise ArgumentError("utterances must be provided") if utterances.nil?
|
214
|
+
raise ArgumentError.new("utterances must be provided") if utterances.nil?
|
213
215
|
|
214
216
|
headers = {
|
215
217
|
"Content-Language" => content_language,
|
216
218
|
"Accept-Language" => accept_language
|
217
219
|
}
|
220
|
+
|
218
221
|
params = {
|
219
222
|
"version" => @version
|
220
223
|
}
|
224
|
+
|
221
225
|
data = {
|
222
226
|
"utterances" => utterances
|
223
227
|
}
|
228
|
+
|
224
229
|
method_url = "/v3/tone_chat"
|
230
|
+
|
225
231
|
response = request(
|
226
232
|
method: "POST",
|
227
233
|
url: method_url,
|