ibm_watson 1.1.0 → 1.5.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 +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.
|
@@ -33,6 +33,8 @@ module IBMWatson
|
|
33
33
|
# The Assistant V2 service.
|
34
34
|
class AssistantV2 < IBMCloudSdkCore::BaseService
|
35
35
|
include Concurrent::Async
|
36
|
+
DEFAULT_SERVICE_NAME = "assistant"
|
37
|
+
DEFAULT_SERVICE_URL = "https://gateway.watsonplatform.net/assistant/api"
|
36
38
|
##
|
37
39
|
# @!method initialize(args)
|
38
40
|
# Construct a new client for the Assistant service.
|
@@ -51,19 +53,23 @@ module IBMWatson
|
|
51
53
|
# @option args service_url [String] The base service URL to use when contacting the service.
|
52
54
|
# The base service_url may differ between IBM Cloud regions.
|
53
55
|
# @option args authenticator [Object] The Authenticator instance to be configured for this service.
|
56
|
+
# @option args service_name [String] The name of the service to configure. Will be used as the key to load
|
57
|
+
# any external configuration, if applicable.
|
54
58
|
def initialize(args = {})
|
55
59
|
@__async_initialized__ = false
|
56
60
|
defaults = {}
|
57
61
|
defaults[:version] = nil
|
58
|
-
defaults[:service_url] =
|
62
|
+
defaults[:service_url] = DEFAULT_SERVICE_URL
|
63
|
+
defaults[:service_name] = DEFAULT_SERVICE_NAME
|
59
64
|
defaults[:authenticator] = nil
|
65
|
+
user_service_url = args[:service_url] unless args[:service_url].nil?
|
60
66
|
args = defaults.merge(args)
|
61
67
|
@version = args[:version]
|
62
68
|
raise ArgumentError.new("version must be provided") if @version.nil?
|
63
69
|
|
64
|
-
args[:service_name] = "assistant"
|
65
70
|
args[:authenticator] = IBMCloudSdkCore::ConfigBasedAuthenticatorFactory.new.get_authenticator(service_name: args[:service_name]) if args[:authenticator].nil?
|
66
71
|
super
|
72
|
+
@service_url = user_service_url unless user_service_url.nil?
|
67
73
|
end
|
68
74
|
|
69
75
|
#########################
|
@@ -77,11 +83,11 @@ module IBMWatson
|
|
77
83
|
# responses. It also maintains the state of the conversation. A session persists
|
78
84
|
# until it is deleted, or until it times out because of inactivity. (For more
|
79
85
|
# information, see the
|
80
|
-
# [documentation](https://cloud.ibm.com/docs/
|
86
|
+
# [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-assistant-settings).
|
81
87
|
# @param assistant_id [String] Unique identifier of the assistant. To find the assistant ID in the Watson
|
82
88
|
# Assistant user interface, open the assistant settings and click **API Details**.
|
83
89
|
# For information about creating assistants, see the
|
84
|
-
# [documentation](https://cloud.ibm.com/docs/
|
90
|
+
# [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-assistant-add#assistant-add-task).
|
85
91
|
#
|
86
92
|
# **Note:** Currently, the v2 API does not support creating assistants.
|
87
93
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
@@ -114,11 +120,11 @@ module IBMWatson
|
|
114
120
|
# Delete session.
|
115
121
|
# Deletes a session explicitly before it times out. (For more information about the
|
116
122
|
# session inactivity timeout, see the
|
117
|
-
# [documentation](https://cloud.ibm.com/docs/
|
123
|
+
# [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-assistant-settings)).
|
118
124
|
# @param assistant_id [String] Unique identifier of the assistant. To find the assistant ID in the Watson
|
119
125
|
# Assistant user interface, open the assistant settings and click **API Details**.
|
120
126
|
# For information about creating assistants, see the
|
121
|
-
# [documentation](https://cloud.ibm.com/docs/
|
127
|
+
# [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-assistant-add#assistant-add-task).
|
122
128
|
#
|
123
129
|
# **Note:** Currently, the v2 API does not support creating assistants.
|
124
130
|
# @param session_id [String] Unique identifier of the session.
|
@@ -154,21 +160,26 @@ module IBMWatson
|
|
154
160
|
|
155
161
|
##
|
156
162
|
# @!method message(assistant_id:, session_id:, input: nil, context: nil)
|
157
|
-
# Send user input to assistant.
|
158
|
-
# Send user input to an assistant and receive a response
|
163
|
+
# Send user input to assistant (stateful).
|
164
|
+
# Send user input to an assistant and receive a response, with conversation state
|
165
|
+
# (including context data) stored by Watson Assistant for the duration of the
|
166
|
+
# session.
|
159
167
|
#
|
160
168
|
# There is no rate limit for this operation.
|
161
169
|
# @param assistant_id [String] Unique identifier of the assistant. To find the assistant ID in the Watson
|
162
170
|
# Assistant user interface, open the assistant settings and click **API Details**.
|
163
171
|
# For information about creating assistants, see the
|
164
|
-
# [documentation](https://cloud.ibm.com/docs/
|
172
|
+
# [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-assistant-add#assistant-add-task).
|
165
173
|
#
|
166
174
|
# **Note:** Currently, the v2 API does not support creating assistants.
|
167
175
|
# @param session_id [String] Unique identifier of the session.
|
168
176
|
# @param input [MessageInput] An input object that includes the input text.
|
169
|
-
# @param context [MessageContext]
|
170
|
-
#
|
171
|
-
#
|
177
|
+
# @param context [MessageContext] Context data for the conversation. You can use this property to set or modify
|
178
|
+
# context variables, which can also be accessed by dialog nodes. The context is
|
179
|
+
# stored by the assistant on a per-session basis.
|
180
|
+
#
|
181
|
+
# **Note:** The total size of the context data stored for a stateful session cannot
|
182
|
+
# exceed 100KB.
|
172
183
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
173
184
|
def message(assistant_id:, session_id:, input: nil, context: nil)
|
174
185
|
raise ArgumentError.new("assistant_id must be provided") if assistant_id.nil?
|
@@ -201,5 +212,57 @@ module IBMWatson
|
|
201
212
|
)
|
202
213
|
response
|
203
214
|
end
|
215
|
+
|
216
|
+
##
|
217
|
+
# @!method message_stateless(assistant_id:, input: nil, context: nil)
|
218
|
+
# Send user input to assistant (stateless).
|
219
|
+
# Send user input to an assistant and receive a response, with conversation state
|
220
|
+
# (including context data) managed by your application.
|
221
|
+
#
|
222
|
+
# There is no rate limit for this operation.
|
223
|
+
# @param assistant_id [String] Unique identifier of the assistant. To find the assistant ID in the Watson
|
224
|
+
# Assistant user interface, open the assistant settings and click **API Details**.
|
225
|
+
# For information about creating assistants, see the
|
226
|
+
# [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-assistant-add#assistant-add-task).
|
227
|
+
#
|
228
|
+
# **Note:** Currently, the v2 API does not support creating assistants.
|
229
|
+
# @param input [MessageInputStateless] An input object that includes the input text.
|
230
|
+
# @param context [MessageContextStateless] Context data for the conversation. You can use this property to set or modify
|
231
|
+
# context variables, which can also be accessed by dialog nodes. The context is not
|
232
|
+
# stored by the assistant. To maintain session state, include the context from the
|
233
|
+
# previous response.
|
234
|
+
#
|
235
|
+
# **Note:** The total size of the context data for a stateless session cannot exceed
|
236
|
+
# 250KB.
|
237
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
238
|
+
def message_stateless(assistant_id:, input: nil, context: nil)
|
239
|
+
raise ArgumentError.new("assistant_id must be provided") if assistant_id.nil?
|
240
|
+
|
241
|
+
headers = {
|
242
|
+
}
|
243
|
+
sdk_headers = Common.new.get_sdk_headers("conversation", "V2", "message_stateless")
|
244
|
+
headers.merge!(sdk_headers)
|
245
|
+
|
246
|
+
params = {
|
247
|
+
"version" => @version
|
248
|
+
}
|
249
|
+
|
250
|
+
data = {
|
251
|
+
"input" => input,
|
252
|
+
"context" => context
|
253
|
+
}
|
254
|
+
|
255
|
+
method_url = "/v2/assistants/%s/message" % [ERB::Util.url_encode(assistant_id)]
|
256
|
+
|
257
|
+
response = request(
|
258
|
+
method: "POST",
|
259
|
+
url: method_url,
|
260
|
+
headers: headers,
|
261
|
+
params: params,
|
262
|
+
json: data,
|
263
|
+
accept_json: true
|
264
|
+
)
|
265
|
+
response
|
266
|
+
end
|
204
267
|
end
|
205
268
|
end
|
@@ -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.
|
@@ -29,6 +29,8 @@ module IBMWatson
|
|
29
29
|
# The Compare Comply V1 service.
|
30
30
|
class CompareComplyV1 < IBMCloudSdkCore::BaseService
|
31
31
|
include Concurrent::Async
|
32
|
+
DEFAULT_SERVICE_NAME = "compare_comply"
|
33
|
+
DEFAULT_SERVICE_URL = "https://gateway.watsonplatform.net/compare-comply/api"
|
32
34
|
##
|
33
35
|
# @!method initialize(args)
|
34
36
|
# Construct a new client for the Compare Comply 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] = "compare_comply"
|
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
|
#########################
|
@@ -473,10 +479,10 @@ module IBMWatson
|
|
473
479
|
# Run Compare and Comply methods over a collection of input documents.
|
474
480
|
#
|
475
481
|
# **Important:** Batch processing requires the use of the [IBM Cloud Object Storage
|
476
|
-
# service](https://cloud.ibm.com/docs/
|
482
|
+
# service](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-about#about-ibm-cloud-object-storage).
|
477
483
|
# The use of IBM Cloud Object Storage with Compare and Comply is discussed at [Using
|
478
484
|
# batch
|
479
|
-
# processing](https://cloud.ibm.com/docs/
|
485
|
+
# processing](https://cloud.ibm.com/docs/compare-comply?topic=compare-comply-batching#before-you-batch).
|
480
486
|
# @param function [String] The Compare and Comply method to run across the submitted input documents.
|
481
487
|
# @param input_credentials_file [File] A JSON file containing the input Cloud Object Storage credentials. At a minimum,
|
482
488
|
# the credentials must enable `READ` permissions on the bucket defined by the
|
@@ -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.
|
@@ -32,6 +32,8 @@ module IBMWatson
|
|
32
32
|
# The Discovery V1 service.
|
33
33
|
class DiscoveryV1 < IBMCloudSdkCore::BaseService
|
34
34
|
include Concurrent::Async
|
35
|
+
DEFAULT_SERVICE_NAME = "discovery"
|
36
|
+
DEFAULT_SERVICE_URL = "https://gateway.watsonplatform.net/discovery/api"
|
35
37
|
##
|
36
38
|
# @!method initialize(args)
|
37
39
|
# Construct a new client for the Discovery service.
|
@@ -50,19 +52,23 @@ module IBMWatson
|
|
50
52
|
# @option args service_url [String] The base service URL to use when contacting the service.
|
51
53
|
# The base service_url may differ between IBM Cloud regions.
|
52
54
|
# @option args authenticator [Object] The Authenticator instance to be configured for this service.
|
55
|
+
# @option args service_name [String] The name of the service to configure. Will be used as the key to load
|
56
|
+
# any external configuration, if applicable.
|
53
57
|
def initialize(args = {})
|
54
58
|
@__async_initialized__ = false
|
55
59
|
defaults = {}
|
56
60
|
defaults[:version] = nil
|
57
|
-
defaults[:service_url] =
|
61
|
+
defaults[:service_url] = DEFAULT_SERVICE_URL
|
62
|
+
defaults[:service_name] = DEFAULT_SERVICE_NAME
|
58
63
|
defaults[:authenticator] = nil
|
64
|
+
user_service_url = args[:service_url] unless args[:service_url].nil?
|
59
65
|
args = defaults.merge(args)
|
60
66
|
@version = args[:version]
|
61
67
|
raise ArgumentError.new("version must be provided") if @version.nil?
|
62
68
|
|
63
|
-
args[:service_name] = "discovery"
|
64
69
|
args[:authenticator] = IBMCloudSdkCore::ConfigBasedAuthenticatorFactory.new.get_authenticator(service_name: args[:service_name]) if args[:authenticator].nil?
|
65
70
|
super
|
71
|
+
@service_url = user_service_url unless user_service_url.nil?
|
66
72
|
end
|
67
73
|
|
68
74
|
#########################
|
@@ -631,6 +637,8 @@ module IBMWatson
|
|
631
637
|
|
632
638
|
raise ArgumentError.new("collection_id must be provided") if collection_id.nil?
|
633
639
|
|
640
|
+
raise ArgumentError.new("name must be provided") if name.nil?
|
641
|
+
|
634
642
|
headers = {
|
635
643
|
}
|
636
644
|
sdk_headers = Common.new.get_sdk_headers("discovery", "V1", "update_collection")
|
@@ -1310,7 +1318,7 @@ module IBMWatson
|
|
1310
1318
|
# Query a collection.
|
1311
1319
|
# By using this method, you can construct long queries. For details, see the
|
1312
1320
|
# [Discovery
|
1313
|
-
# documentation](https://cloud.ibm.com/docs/
|
1321
|
+
# documentation](https://cloud.ibm.com/docs/discovery?topic=discovery-query-concepts#query-concepts).
|
1314
1322
|
# @param environment_id [String] The ID of the environment.
|
1315
1323
|
# @param collection_id [String] The ID of the collection.
|
1316
1324
|
# @param filter [String] A cacheable query that excludes documents that don't mention the query content.
|
@@ -1430,7 +1438,7 @@ module IBMWatson
|
|
1430
1438
|
# Queries for notices (errors or warnings) that might have been generated by the
|
1431
1439
|
# system. Notices are generated when ingesting documents and performing relevance
|
1432
1440
|
# training. See the [Discovery
|
1433
|
-
# documentation](https://cloud.ibm.com/docs/
|
1441
|
+
# documentation](https://cloud.ibm.com/docs/discovery?topic=discovery-query-concepts#query-concepts)
|
1434
1442
|
# for more details on the query language.
|
1435
1443
|
# @param environment_id [String] The ID of the environment.
|
1436
1444
|
# @param collection_id [String] The ID of the collection.
|
@@ -1530,7 +1538,7 @@ module IBMWatson
|
|
1530
1538
|
# Query multiple collections.
|
1531
1539
|
# By using this method, you can construct long queries that search multiple
|
1532
1540
|
# collection. For details, see the [Discovery
|
1533
|
-
# documentation](https://cloud.ibm.com/docs/
|
1541
|
+
# documentation](https://cloud.ibm.com/docs/discovery?topic=discovery-query-concepts#query-concepts).
|
1534
1542
|
# @param environment_id [String] The ID of the environment.
|
1535
1543
|
# @param collection_ids [String] A comma-separated list of collection IDs to be queried against.
|
1536
1544
|
# @param filter [String] A cacheable query that excludes documents that don't mention the query content.
|
@@ -1590,6 +1598,8 @@ module IBMWatson
|
|
1590
1598
|
def federated_query(environment_id:, collection_ids:, filter: nil, query: nil, natural_language_query: nil, passages: nil, aggregation: nil, count: nil, _return: nil, offset: nil, sort: nil, highlight: nil, passages_fields: nil, passages_count: nil, passages_characters: nil, deduplicate: nil, deduplicate_field: nil, similar: nil, similar_document_ids: nil, similar_fields: nil, bias: nil, x_watson_logging_opt_out: nil)
|
1591
1599
|
raise ArgumentError.new("environment_id must be provided") if environment_id.nil?
|
1592
1600
|
|
1601
|
+
raise ArgumentError.new("collection_ids must be provided") if collection_ids.nil?
|
1602
|
+
|
1593
1603
|
headers = {
|
1594
1604
|
"X-Watson-Logging-Opt-Out" => x_watson_logging_opt_out
|
1595
1605
|
}
|
@@ -1642,7 +1652,7 @@ module IBMWatson
|
|
1642
1652
|
# Queries for notices (errors or warnings) that might have been generated by the
|
1643
1653
|
# system. Notices are generated when ingesting documents and performing relevance
|
1644
1654
|
# training. See the [Discovery
|
1645
|
-
# documentation](https://cloud.ibm.com/docs/
|
1655
|
+
# documentation](https://cloud.ibm.com/docs/discovery?topic=discovery-query-concepts#query-concepts)
|
1646
1656
|
# for more details on the query language.
|
1647
1657
|
# @param environment_id [String] The ID of the environment.
|
1648
1658
|
# @param collection_ids [Array[String]] A comma-separated list of collection IDs to be queried against.
|
@@ -2180,7 +2190,7 @@ module IBMWatson
|
|
2180
2190
|
# You associate a customer ID with data by passing the **X-Watson-Metadata** header
|
2181
2191
|
# with a request that passes data. For more information about personal data and
|
2182
2192
|
# customer IDs, see [Information
|
2183
|
-
# security](https://cloud.ibm.com/docs/
|
2193
|
+
# security](https://cloud.ibm.com/docs/discovery?topic=discovery-information-security#information-security).
|
2184
2194
|
# @param customer_id [String] The customer ID for which all data is to be deleted.
|
2185
2195
|
# @return [nil]
|
2186
2196
|
def delete_user_data(customer_id:)
|
@@ -2216,7 +2226,7 @@ module IBMWatson
|
|
2216
2226
|
# Create event.
|
2217
2227
|
# The **Events** API can be used to create log entries that are associated with
|
2218
2228
|
# specific queries. For example, you can record which documents in the results set
|
2219
|
-
# were "clicked" by a user and when that click
|
2229
|
+
# were "clicked" by a user and when that click occurred.
|
2220
2230
|
# @param type [String] The event type to be created.
|
2221
2231
|
# @param data [EventData] Query event data object.
|
2222
2232
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
@@ -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.
|
@@ -32,6 +32,8 @@ module IBMWatson
|
|
32
32
|
# The Discovery V2 service.
|
33
33
|
class DiscoveryV2 < IBMCloudSdkCore::BaseService
|
34
34
|
include Concurrent::Async
|
35
|
+
DEFAULT_SERVICE_NAME = "discovery"
|
36
|
+
DEFAULT_SERVICE_URL = nil
|
35
37
|
##
|
36
38
|
# @!method initialize(args)
|
37
39
|
# Construct a new client for the Discovery service.
|
@@ -50,19 +52,23 @@ module IBMWatson
|
|
50
52
|
# @option args service_url [String] The base service URL to use when contacting the service.
|
51
53
|
# The base service_url may differ between IBM Cloud regions.
|
52
54
|
# @option args authenticator [Object] The Authenticator instance to be configured for this service.
|
55
|
+
# @option args service_name [String] The name of the service to configure. Will be used as the key to load
|
56
|
+
# any external configuration, if applicable.
|
53
57
|
def initialize(args = {})
|
54
58
|
@__async_initialized__ = false
|
55
59
|
defaults = {}
|
56
60
|
defaults[:version] = nil
|
57
|
-
defaults[:service_url] =
|
61
|
+
defaults[:service_url] = DEFAULT_SERVICE_URL
|
62
|
+
defaults[:service_name] = DEFAULT_SERVICE_NAME
|
58
63
|
defaults[:authenticator] = nil
|
64
|
+
user_service_url = args[:service_url] unless args[:service_url].nil?
|
59
65
|
args = defaults.merge(args)
|
60
66
|
@version = args[:version]
|
61
67
|
raise ArgumentError.new("version must be provided") if @version.nil?
|
62
68
|
|
63
|
-
args[:service_name] = "discovery"
|
64
69
|
args[:authenticator] = IBMCloudSdkCore::ConfigBasedAuthenticatorFactory.new.get_authenticator(service_name: args[:service_name]) if args[:authenticator].nil?
|
65
70
|
super
|
71
|
+
@service_url = user_service_url unless user_service_url.nil?
|
66
72
|
end
|
67
73
|
|
68
74
|
#########################
|
@@ -107,7 +113,7 @@ module IBMWatson
|
|
107
113
|
# @!method query(project_id:, collection_ids: nil, filter: nil, query: nil, natural_language_query: nil, aggregation: nil, count: nil, _return: nil, offset: nil, sort: nil, highlight: nil, spelling_suggestions: nil, table_results: nil, suggested_refinements: nil, passages: nil)
|
108
114
|
# Query a project.
|
109
115
|
# By using this method, you can construct queries. For details, see the [Discovery
|
110
|
-
# documentation](https://cloud.ibm.com/docs/
|
116
|
+
# documentation](https://cloud.ibm.com/docs/discovery-data?topic=discovery-data-query-concepts).
|
111
117
|
# @param project_id [String] The ID of the project. This information can be found from the deploy page of the
|
112
118
|
# Discovery administrative tooling.
|
113
119
|
# @param collection_ids [Array[String]] A comma-separated list of collection IDs to be queried against.
|
@@ -387,14 +393,14 @@ module IBMWatson
|
|
387
393
|
# **_/v2/projects/{project_id}/collections/{collection_id}/documents** method.
|
388
394
|
#
|
389
395
|
# **Note:** This operation only works on collections created to accept direct file
|
390
|
-
# uploads. It cannot be used to modify a collection that
|
396
|
+
# uploads. It cannot be used to modify a collection that connects to an external
|
391
397
|
# source such as Microsoft SharePoint.
|
392
398
|
# @param project_id [String] The ID of the project. This information can be found from the deploy page of the
|
393
399
|
# Discovery administrative tooling.
|
394
400
|
# @param collection_id [String] The ID of the collection.
|
395
401
|
# @param file [File] The content of the document to ingest. The maximum supported file size when adding
|
396
402
|
# a file to a collection is 50 megabytes, the maximum supported file size when
|
397
|
-
# testing a
|
403
|
+
# testing a configuration is 1 megabyte. Files larger than the supported size are
|
398
404
|
# rejected.
|
399
405
|
# @param filename [String] The filename for file.
|
400
406
|
# @param file_content_type [String] The content type of file.
|
@@ -459,15 +465,18 @@ module IBMWatson
|
|
459
465
|
# any document stored with the same **document_id** if it exists.
|
460
466
|
#
|
461
467
|
# **Note:** This operation only works on collections created to accept direct file
|
462
|
-
# uploads. It cannot be used to modify a collection that
|
468
|
+
# uploads. It cannot be used to modify a collection that connects to an external
|
463
469
|
# source such as Microsoft SharePoint.
|
470
|
+
#
|
471
|
+
# **Note:** If an uploaded document is segmented, all segments will be overwritten,
|
472
|
+
# even if the updated version of the document has fewer segments.
|
464
473
|
# @param project_id [String] The ID of the project. This information can be found from the deploy page of the
|
465
474
|
# Discovery administrative tooling.
|
466
475
|
# @param collection_id [String] The ID of the collection.
|
467
476
|
# @param document_id [String] The ID of the document.
|
468
477
|
# @param file [File] The content of the document to ingest. The maximum supported file size when adding
|
469
478
|
# a file to a collection is 50 megabytes, the maximum supported file size when
|
470
|
-
# testing a
|
479
|
+
# testing a configuration is 1 megabyte. Files larger than the supported size are
|
471
480
|
# rejected.
|
472
481
|
# @param filename [String] The filename for file.
|
473
482
|
# @param file_content_type [String] The content type of file.
|
@@ -529,8 +538,11 @@ module IBMWatson
|
|
529
538
|
# 'deleted'.
|
530
539
|
#
|
531
540
|
# **Note:** This operation only works on collections created to accept direct file
|
532
|
-
# uploads. It cannot be used to modify a collection that
|
541
|
+
# uploads. It cannot be used to modify a collection that connects to an external
|
533
542
|
# source such as Microsoft SharePoint.
|
543
|
+
#
|
544
|
+
# **Note:** Segments of an uploaded document cannot be deleted individually. Delete
|
545
|
+
# all segments by deleting using the `parent_document_id` of a segment result.
|
534
546
|
# @param project_id [String] The ID of the project. This information can be found from the deploy page of the
|
535
547
|
# Discovery administrative tooling.
|
536
548
|
# @param collection_id [String] The ID of the collection.
|
@@ -647,6 +659,10 @@ module IBMWatson
|
|
647
659
|
def create_training_query(project_id:, natural_language_query:, examples:, filter: nil)
|
648
660
|
raise ArgumentError.new("project_id must be provided") if project_id.nil?
|
649
661
|
|
662
|
+
raise ArgumentError.new("natural_language_query must be provided") if natural_language_query.nil?
|
663
|
+
|
664
|
+
raise ArgumentError.new("examples must be provided") if examples.nil?
|
665
|
+
|
650
666
|
headers = {
|
651
667
|
}
|
652
668
|
sdk_headers = Common.new.get_sdk_headers("discovery", "V2", "create_training_query")
|
@@ -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.
|
@@ -32,6 +32,8 @@ module IBMWatson
|
|
32
32
|
# The Language Translator V3 service.
|
33
33
|
class LanguageTranslatorV3 < IBMCloudSdkCore::BaseService
|
34
34
|
include Concurrent::Async
|
35
|
+
DEFAULT_SERVICE_NAME = "language_translator"
|
36
|
+
DEFAULT_SERVICE_URL = "https://gateway.watsonplatform.net/language-translator/api"
|
35
37
|
##
|
36
38
|
# @!method initialize(args)
|
37
39
|
# Construct a new client for the Language Translator service.
|
@@ -50,19 +52,23 @@ module IBMWatson
|
|
50
52
|
# @option args service_url [String] The base service URL to use when contacting the service.
|
51
53
|
# The base service_url may differ between IBM Cloud regions.
|
52
54
|
# @option args authenticator [Object] The Authenticator instance to be configured for this service.
|
55
|
+
# @option args service_name [String] The name of the service to configure. Will be used as the key to load
|
56
|
+
# any external configuration, if applicable.
|
53
57
|
def initialize(args = {})
|
54
58
|
@__async_initialized__ = false
|
55
59
|
defaults = {}
|
56
60
|
defaults[:version] = nil
|
57
|
-
defaults[:service_url] =
|
61
|
+
defaults[:service_url] = DEFAULT_SERVICE_URL
|
62
|
+
defaults[:service_name] = DEFAULT_SERVICE_NAME
|
58
63
|
defaults[:authenticator] = nil
|
64
|
+
user_service_url = args[:service_url] unless args[:service_url].nil?
|
59
65
|
args = defaults.merge(args)
|
60
66
|
@version = args[:version]
|
61
67
|
raise ArgumentError.new("version must be provided") if @version.nil?
|
62
68
|
|
63
|
-
args[:service_name] = "language_translator"
|
64
69
|
args[:authenticator] = IBMCloudSdkCore::ConfigBasedAuthenticatorFactory.new.get_authenticator(service_name: args[:service_name]) if args[:authenticator].nil?
|
65
70
|
super
|
71
|
+
@service_url = user_service_url unless user_service_url.nil?
|
66
72
|
end
|
67
73
|
|
68
74
|
#########################
|
@@ -72,13 +78,18 @@ module IBMWatson
|
|
72
78
|
##
|
73
79
|
# @!method translate(text:, model_id: nil, source: nil, target: nil)
|
74
80
|
# Translate.
|
75
|
-
# Translates the input text from the source language to the target language.
|
81
|
+
# Translates the input text from the source language to the target language. A
|
82
|
+
# target language or translation model ID is required. The service attempts to
|
83
|
+
# detect the language of the source text if it is not specified.
|
76
84
|
# @param text [Array[String]] Input text in UTF-8 encoding. Multiple entries will result in multiple
|
77
85
|
# translations in the response.
|
78
|
-
# @param model_id [String]
|
79
|
-
# translation.
|
80
|
-
#
|
81
|
-
#
|
86
|
+
# @param model_id [String] The model to use for translation. For example, `en-de` selects the IBM provided
|
87
|
+
# base model for English to German translation. A model ID overrides the source and
|
88
|
+
# target parameters and is required if you use a custom model. If no model ID is
|
89
|
+
# specified, you must specify a target language.
|
90
|
+
# @param source [String] Language code that specifies the language of the source document.
|
91
|
+
# @param target [String] Language code that specifies the target language for translation. Required if
|
92
|
+
# model ID is not specified.
|
82
93
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
83
94
|
def translate(text:, model_id: nil, source: nil, target: nil)
|
84
95
|
raise ArgumentError.new("text must be provided") if text.nil?
|
@@ -391,18 +402,21 @@ module IBMWatson
|
|
391
402
|
# Submit a document for translation. You can submit the document contents in the
|
392
403
|
# `file` parameter, or you can reference a previously submitted document by document
|
393
404
|
# ID.
|
394
|
-
# @param file [File] The source file to translate.
|
405
|
+
# @param file [File] The contents of the source file to translate.
|
395
406
|
#
|
396
407
|
# [Supported file
|
397
|
-
# types](https://cloud.ibm.com/docs/
|
408
|
+
# types](https://cloud.ibm.com/docs/language-translator?topic=language-translator-document-translator-tutorial#supported-file-formats)
|
398
409
|
#
|
399
410
|
# Maximum file size: **20 MB**.
|
400
411
|
# @param filename [String] The filename for file.
|
401
412
|
# @param file_content_type [String] The content type of file.
|
402
|
-
# @param model_id [String] The model to use for translation.
|
403
|
-
#
|
413
|
+
# @param model_id [String] The model to use for translation. For example, `en-de` selects the IBM provided
|
414
|
+
# base model for English to German translation. A model ID overrides the source and
|
415
|
+
# target parameters and is required if you use a custom model. If no model ID is
|
416
|
+
# specified, you must specify a target language.
|
404
417
|
# @param source [String] Language code that specifies the language of the source document.
|
405
|
-
# @param target [String] Language code that specifies the target language for translation.
|
418
|
+
# @param target [String] Language code that specifies the target language for translation. Required if
|
419
|
+
# model ID is not specified.
|
406
420
|
# @param document_id [String] To use a previously submitted document as the source for a new translation, enter
|
407
421
|
# the `document_id` of the document.
|
408
422
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|