ibm_watson 1.1.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +33 -5
- data/lib/ibm_watson/assistant_v1.rb +156 -65
- data/lib/ibm_watson/assistant_v2.rb +76 -13
- data/lib/ibm_watson/compare_comply_v1.rb +11 -5
- data/lib/ibm_watson/discovery_v1.rb +19 -9
- data/lib/ibm_watson/discovery_v2.rb +25 -9
- data/lib/ibm_watson/language_translator_v3.rb +27 -13
- data/lib/ibm_watson/natural_language_classifier_v1.rb +10 -4
- data/lib/ibm_watson/natural_language_understanding_v1.rb +20 -10
- data/lib/ibm_watson/personality_insights_v3.rb +17 -11
- data/lib/ibm_watson/speech_to_text_v1.rb +394 -168
- data/lib/ibm_watson/text_to_speech_v1.rb +57 -46
- data/lib/ibm_watson/tone_analyzer_v3.rb +11 -5
- data/lib/ibm_watson/version.rb +1 -1
- data/lib/ibm_watson/visual_recognition_v3.rb +15 -7
- data/lib/ibm_watson/visual_recognition_v4.rb +199 -4
- data/test/integration/test_assistant_v2.rb +7 -0
- data/test/integration/test_compare_comply_v1.rb +1 -12
- data/test/integration/test_speech_to_text_v1.rb +7 -2
- data/test/integration/test_visual_recognition_v4.rb +9 -0
- data/test/unit/test_assistant_v2.rb +66 -0
- data/test/unit/test_personality_insights_v3.rb +4 -0
- data/test/unit/test_visual_recognition_v4.rb +87 -0
- metadata +5 -6
- data/test/unit/test_vcap_using_personality_insights.rb +0 -161
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# (C) Copyright IBM Corp.
|
3
|
+
# (C) Copyright IBM Corp. 2018, 2020.
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
6
|
# you may not use this file except in compliance with the License.
|
@@ -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.
|