aws-sdk-lex 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/aws-sdk-lex.rb +1 -1
- data/lib/aws-sdk-lex/client.rb +109 -125
- data/lib/aws-sdk-lex/client_api.rb +4 -1
- data/lib/aws-sdk-lex/types.rb +143 -136
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50a0e82cab65f174d50dd6000044fb18d8038643
|
4
|
+
data.tar.gz: a45f8a25725cbd77238e3bdfacfc66b413ca1d14
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29eda2c423a1e7bc1cfdc0e4dd9a426e25b746cc3740d3830f33d38e1755a2dcef9e9ea176defc50c4529276ec99bb3ca72270660ae5db1a25bcb9b4bb06f47e
|
7
|
+
data.tar.gz: c39d891496368bd7a2f89e140a2e42b990644e004329ea353faf08c83e5611694a818a3d4a9d119abb8f0f9709859781fac09f206ba263ad5a1b4578cd476137
|
data/lib/aws-sdk-lex.rb
CHANGED
data/lib/aws-sdk-lex/client.rb
CHANGED
@@ -146,8 +146,13 @@ module Aws::Lex
|
|
146
146
|
# @!group API Operations
|
147
147
|
|
148
148
|
# Sends user input (text or speech) to Amazon Lex. Clients use this API
|
149
|
-
# to send requests to Amazon Lex at runtime. Amazon Lex
|
150
|
-
# user input using the machine learning model that it
|
149
|
+
# to send text and audio requests to Amazon Lex at runtime. Amazon Lex
|
150
|
+
# interprets the user input using the machine learning model that it
|
151
|
+
# built for the bot.
|
152
|
+
#
|
153
|
+
# The `PostContent` operation supports audio input at 8kHz and 16kHz.
|
154
|
+
# You can use 8kHz audio to achieve higher speech recognition accuracy
|
155
|
+
# in telephone audio applications.
|
151
156
|
#
|
152
157
|
# In response, Amazon Lex returns the next message to convey to the
|
153
158
|
# user. Consider the following example messages:
|
@@ -210,73 +215,63 @@ module Aws::Lex
|
|
210
215
|
# Alias of the Amazon Lex bot.
|
211
216
|
#
|
212
217
|
# @option params [required, String] :user_id
|
213
|
-
# ID of the client application user.
|
214
|
-
#
|
215
|
-
#
|
216
|
-
#
|
218
|
+
# The ID of the client application user. Amazon Lex uses this to
|
219
|
+
# identify a user's conversation with your bot. At runtime, each
|
220
|
+
# request must contain the `userID` field.
|
221
|
+
#
|
222
|
+
# To decide the user ID to use for your application, consider the
|
223
|
+
# following factors.
|
224
|
+
#
|
225
|
+
# * The `userID` field must not contain any personally identifiable
|
226
|
+
# information of the user, for example, name, personal identification
|
227
|
+
# numbers, or other end user personal information.
|
217
228
|
#
|
218
|
-
# * If you want a user to start conversation on one device and
|
219
|
-
#
|
220
|
-
# identifier, such as the user's login, or Amazon Cognito user ID
|
221
|
-
# (assuming your application is using Amazon Cognito).
|
229
|
+
# * If you want a user to start a conversation on one device and
|
230
|
+
# continue on another device, use a user-specific identifier.
|
222
231
|
#
|
223
232
|
# * If you want the same user to be able to have two independent
|
224
|
-
# conversations on two different devices,
|
225
|
-
#
|
226
|
-
#
|
233
|
+
# conversations on two different devices, choose a device-specific
|
234
|
+
# identifier.
|
235
|
+
#
|
236
|
+
# * A user can't have two independent conversations with two different
|
237
|
+
# versions of the same bot. For example, a user can't have a
|
238
|
+
# conversation with the PROD and BETA versions of the same bot. If you
|
239
|
+
# anticipate that a user will need to have conversation with two
|
240
|
+
# different versions, for example, while testing, include the bot
|
241
|
+
# alias in the user ID to separate the two conversations.
|
227
242
|
#
|
228
243
|
# @option params [String] :session_attributes
|
229
|
-
# You pass this value
|
230
|
-
#
|
231
|
-
#
|
232
|
-
#
|
233
|
-
#
|
234
|
-
#
|
235
|
-
#
|
236
|
-
#
|
237
|
-
#
|
238
|
-
#
|
239
|
-
#
|
240
|
-
#
|
241
|
-
#
|
242
|
-
#
|
243
|
-
#
|
244
|
-
#
|
245
|
-
#
|
246
|
-
#
|
247
|
-
#
|
248
|
-
#
|
249
|
-
#
|
250
|
-
#
|
251
|
-
#
|
252
|
-
#
|
253
|
-
#
|
254
|
-
#
|
255
|
-
#
|
256
|
-
#
|
257
|
-
#
|
258
|
-
#
|
259
|
-
#
|
260
|
-
# value as well).
|
261
|
-
#
|
262
|
-
# Personalized prompts - For example, you can configure prompts to
|
263
|
-
# refer to the user by name (for example, "Hey \[firstName\], what
|
264
|
-
# toppings would you like?"). You can pass the user's name as a
|
265
|
-
# session attribute ("firstName": "Joe") so that Amazon Lex can
|
266
|
-
# substitute the placeholder to provide a personalized prompt to the
|
267
|
-
# user ("Hey Joe, what toppings would you like?").
|
268
|
-
#
|
269
|
-
# <note markdown="1"> Amazon Lex does not persist session attributes.
|
270
|
-
#
|
271
|
-
# If you configured a code hook for the intent, Amazon Lex passes the
|
272
|
-
# incoming session attributes to the Lambda function. The Lambda
|
273
|
-
# function must return these session attributes if you want Amazon Lex
|
274
|
-
# to return them to the client.
|
275
|
-
#
|
276
|
-
# If there is no code hook configured for the intent Amazon Lex simply
|
277
|
-
# returns the session attributes to the client application.
|
278
|
-
#
|
279
|
-
# </note>
|
244
|
+
# You pass this value as the `x-amz-lex-session-attributes` HTTP header.
|
245
|
+
#
|
246
|
+
# Application-specific information passed between Amazon Lex and a
|
247
|
+
# client application. The value must be a JSON serialized and base64
|
248
|
+
# encoded map with string keys and values. The total size of the
|
249
|
+
# `sessionAttributes` and `requestAttributes` headers is limited to 12
|
250
|
+
# KB.
|
251
|
+
#
|
252
|
+
# For more information, see [Setting Session Attributes][1].
|
253
|
+
#
|
254
|
+
# **SDK automatically handles json encoding and base64 encoding for you
|
255
|
+
# when the required value (Hash, Array, etc.) is provided according to
|
256
|
+
# the description.**
|
257
|
+
#
|
258
|
+
#
|
259
|
+
#
|
260
|
+
# [1]: http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs
|
261
|
+
#
|
262
|
+
# @option params [String] :request_attributes
|
263
|
+
# You pass this value as the `x-amz-lex-request-attributes` HTTP header.
|
264
|
+
#
|
265
|
+
# Request-specific information passed between Amazon Lex and a client
|
266
|
+
# application. The value must be a JSON serialized and base64 encoded
|
267
|
+
# map with string keys and values. The total size of the
|
268
|
+
# `requestAttributes` and `sessionAttributes` headers is limited to 12
|
269
|
+
# KB.
|
270
|
+
#
|
271
|
+
# The namespace `x-amz-lex:` is reserved for special attributes. Don't
|
272
|
+
# create any request attributes with the prefix `x-amz-lex:`.
|
273
|
+
#
|
274
|
+
# For more information, see [Setting Request Attributes][1].
|
280
275
|
#
|
281
276
|
# **SDK automatically handles json encoding and base64 encoding for you
|
282
277
|
# when the required value (Hash, Array, etc.) is provided according to
|
@@ -284,25 +279,27 @@ module Aws::Lex
|
|
284
279
|
#
|
285
280
|
#
|
286
281
|
#
|
287
|
-
# [1]: http://docs.aws.amazon.com/lex/latest/dg/
|
288
|
-
# [2]: http://docs.aws.amazon.com/lex/latest/dg/book-trip-detail-flow.html
|
282
|
+
# [1]: http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs
|
289
283
|
#
|
290
284
|
# @option params [required, String] :content_type
|
291
|
-
# You pass this
|
285
|
+
# You pass this value as the `Content-Type` HTTP header.
|
292
286
|
#
|
293
287
|
# Indicates the audio format or text. The header value must start with
|
294
288
|
# one of the following prefixes:
|
295
289
|
#
|
296
|
-
# * PCM format
|
290
|
+
# * PCM format, audio data must be in little-endian byte order.
|
297
291
|
#
|
298
292
|
# * audio/l16; rate=16000; channels=1
|
299
293
|
#
|
300
294
|
# * audio/x-l16; sample-rate=16000; channel-count=1
|
301
295
|
#
|
296
|
+
# * audio/lpcm; sample-rate=8000; sample-size-bits=16;
|
297
|
+
# channel-count=1; is-big-endian=false
|
298
|
+
#
|
302
299
|
# * Opus format
|
303
300
|
#
|
304
|
-
# * audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=
|
305
|
-
# frame-size-milliseconds=
|
301
|
+
# * audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000;
|
302
|
+
# frame-size-milliseconds=4
|
306
303
|
#
|
307
304
|
# ^
|
308
305
|
#
|
@@ -343,6 +340,11 @@ module Aws::Lex
|
|
343
340
|
# User input in PCM or Opus audio format or text format as described in
|
344
341
|
# the `Content-Type` HTTP header.
|
345
342
|
#
|
343
|
+
# You can stream audio data to Amazon Lex or you can create a local
|
344
|
+
# buffer that captures all of the audio data before sending. In general,
|
345
|
+
# you get better performance if you stream audio data rather than
|
346
|
+
# buffering the data locally.
|
347
|
+
#
|
346
348
|
# @return [Types::PostContentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
347
349
|
#
|
348
350
|
# * {Types::PostContentResponse#content_type #content_type} => String
|
@@ -361,7 +363,8 @@ module Aws::Lex
|
|
361
363
|
# bot_name: "BotName", # required
|
362
364
|
# bot_alias: "BotAlias", # required
|
363
365
|
# user_id: "UserId", # required
|
364
|
-
# session_attributes: "
|
366
|
+
# session_attributes: "AttributesString",
|
367
|
+
# request_attributes: "AttributesString",
|
365
368
|
# content_type: "HttpContentType", # required
|
366
369
|
# accept: "Accept",
|
367
370
|
# input_stream: "data", # required
|
@@ -453,75 +456,53 @@ module Aws::Lex
|
|
453
456
|
# The alias of the Amazon Lex bot.
|
454
457
|
#
|
455
458
|
# @option params [required, String] :user_id
|
456
|
-
# The ID of the client application user.
|
457
|
-
#
|
458
|
-
#
|
459
|
-
# Note the following considerations:
|
459
|
+
# The ID of the client application user. Amazon Lex uses this to
|
460
|
+
# identify a user's conversation with your bot. At runtime, each
|
461
|
+
# request must contain the `userID` field.
|
460
462
|
#
|
461
|
-
#
|
462
|
-
#
|
463
|
-
# user-specific identifier, such as a login or Amazon Cognito user ID
|
464
|
-
# (assuming your application is using Amazon Cognito).
|
463
|
+
# To decide the user ID to use for your application, consider the
|
464
|
+
# following factors.
|
465
465
|
#
|
466
|
-
# *
|
467
|
-
#
|
468
|
-
#
|
469
|
-
# unique identifier.
|
466
|
+
# * The `userID` field must not contain any personally identifiable
|
467
|
+
# information of the user, for example, name, personal identification
|
468
|
+
# numbers, or other end user personal information.
|
470
469
|
#
|
471
|
-
#
|
472
|
-
#
|
473
|
-
# information in the request to Amazon Lex For example,
|
474
|
-
#
|
475
|
-
# * In Getting Started Exercise 1, the example bot uses the `price`
|
476
|
-
# session attribute to maintain the price of the flowers ordered (for
|
477
|
-
# example, "Price":25). The code hook (the Lambda function) sets
|
478
|
-
# this attribute based on the type of flowers ordered. For more
|
479
|
-
# information, see [Review the Details of Information Flow][1].
|
470
|
+
# * If you want a user to start a conversation on one device and
|
471
|
+
# continue on another device, use a user-specific identifier.
|
480
472
|
#
|
481
|
-
# *
|
482
|
-
#
|
483
|
-
#
|
484
|
-
# see [Details of Information Flow][2].
|
473
|
+
# * If you want the same user to be able to have two independent
|
474
|
+
# conversations on two different devices, choose a device-specific
|
475
|
+
# identifier.
|
485
476
|
#
|
486
|
-
# *
|
487
|
-
#
|
477
|
+
# * A user can't have two independent conversations with two different
|
478
|
+
# versions of the same bot. For example, a user can't have a
|
479
|
+
# conversation with the PROD and BETA versions of the same bot. If you
|
480
|
+
# anticipate that a user will need to have conversation with two
|
481
|
+
# different versions, for example, while testing, include the bot
|
482
|
+
# alias in the user ID to separate the two conversations.
|
488
483
|
#
|
489
|
-
#
|
490
|
-
#
|
484
|
+
# @option params [Hash<String,String>] :session_attributes
|
485
|
+
# Application-specific information passed between Amazon Lex and a
|
486
|
+
# client application.
|
491
487
|
#
|
492
|
-
#
|
493
|
-
# initialization and customization (prompts and response cards). Some
|
494
|
-
# examples are:
|
488
|
+
# For more information, see [Setting Session Attributes][1].
|
495
489
|
#
|
496
|
-
# * Initialization - In a pizza ordering bot, if you can pass the user
|
497
|
-
# location as a session attribute (for example, `"Location" : "111
|
498
|
-
# Maple street"`), then your Lambda function might use this
|
499
|
-
# information to determine the closest pizzeria to place the order
|
500
|
-
# (perhaps to set the storeAddress slot value).
|
501
490
|
#
|
502
|
-
# * Personalize prompts - For example, you can configure prompts to
|
503
|
-
# refer to the user name. (For example, "Hey \[FirstName\], what
|
504
|
-
# toppings would you like?"). You can pass the user name as a session
|
505
|
-
# attribute (`"FirstName" : "Joe"`) so that Amazon Lex can substitute
|
506
|
-
# the placeholder to provide a personalize prompt to the user ("Hey
|
507
|
-
# Joe, what toppings would you like?").
|
508
491
|
#
|
509
|
-
#
|
492
|
+
# [1]: http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs
|
510
493
|
#
|
511
|
-
#
|
512
|
-
#
|
513
|
-
#
|
514
|
-
# function must return them.
|
494
|
+
# @option params [Hash<String,String>] :request_attributes
|
495
|
+
# Request-specific information passed between Amazon Lex and a client
|
496
|
+
# application.
|
515
497
|
#
|
516
|
-
#
|
517
|
-
#
|
498
|
+
# The namespace `x-amz-lex:` is reserved for special attributes. Don't
|
499
|
+
# create any request attributes with the prefix `x-amz-lex:`.
|
518
500
|
#
|
519
|
-
#
|
501
|
+
# For more information, see [Setting Request Attributes][1].
|
520
502
|
#
|
521
503
|
#
|
522
504
|
#
|
523
|
-
# [1]: http://docs.aws.amazon.com/lex/latest/dg/
|
524
|
-
# [2]: http://docs.aws.amazon.com/lex/latest/dg/book-trip-detail-flow.html
|
505
|
+
# [1]: http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs
|
525
506
|
#
|
526
507
|
# @option params [required, String] :input_text
|
527
508
|
# The text that the user entered (Amazon Lex interprets this text).
|
@@ -545,6 +526,9 @@ module Aws::Lex
|
|
545
526
|
# session_attributes: {
|
546
527
|
# "String" => "String",
|
547
528
|
# },
|
529
|
+
# request_attributes: {
|
530
|
+
# "String" => "String",
|
531
|
+
# },
|
548
532
|
# input_text: "Text", # required
|
549
533
|
# })
|
550
534
|
#
|
@@ -591,7 +575,7 @@ module Aws::Lex
|
|
591
575
|
params: params,
|
592
576
|
config: config)
|
593
577
|
context[:gem_name] = 'aws-sdk-lex'
|
594
|
-
context[:gem_version] = '1.
|
578
|
+
context[:gem_version] = '1.2.0'
|
595
579
|
Seahorse::Client::Request.new(handlers, context)
|
596
580
|
end
|
597
581
|
|
@@ -12,6 +12,7 @@ module Aws::Lex
|
|
12
12
|
include Seahorse::Model
|
13
13
|
|
14
14
|
Accept = Shapes::StringShape.new(name: 'Accept')
|
15
|
+
AttributesString = Shapes::StringShape.new(name: 'AttributesString')
|
15
16
|
BadGatewayException = Shapes::StructureShape.new(name: 'BadGatewayException')
|
16
17
|
BadRequestException = Shapes::StructureShape.new(name: 'BadRequestException')
|
17
18
|
BlobStream = Shapes::BlobShape.new(name: 'BlobStream')
|
@@ -63,7 +64,8 @@ module Aws::Lex
|
|
63
64
|
PostContentRequest.add_member(:bot_name, Shapes::ShapeRef.new(shape: BotName, required: true, location: "uri", location_name: "botName"))
|
64
65
|
PostContentRequest.add_member(:bot_alias, Shapes::ShapeRef.new(shape: BotAlias, required: true, location: "uri", location_name: "botAlias"))
|
65
66
|
PostContentRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, required: true, location: "uri", location_name: "userId"))
|
66
|
-
PostContentRequest.add_member(:session_attributes, Shapes::ShapeRef.new(shape:
|
67
|
+
PostContentRequest.add_member(:session_attributes, Shapes::ShapeRef.new(shape: AttributesString, location: "header", location_name: "x-amz-lex-session-attributes", metadata: {"jsonvalue"=>true}))
|
68
|
+
PostContentRequest.add_member(:request_attributes, Shapes::ShapeRef.new(shape: AttributesString, location: "header", location_name: "x-amz-lex-request-attributes", metadata: {"jsonvalue"=>true}))
|
67
69
|
PostContentRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: HttpContentType, required: true, location: "header", location_name: "Content-Type"))
|
68
70
|
PostContentRequest.add_member(:accept, Shapes::ShapeRef.new(shape: Accept, location: "header", location_name: "Accept"))
|
69
71
|
PostContentRequest.add_member(:input_stream, Shapes::ShapeRef.new(shape: BlobStream, required: true, location_name: "inputStream"))
|
@@ -88,6 +90,7 @@ module Aws::Lex
|
|
88
90
|
PostTextRequest.add_member(:bot_alias, Shapes::ShapeRef.new(shape: BotAlias, required: true, location: "uri", location_name: "botAlias"))
|
89
91
|
PostTextRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, required: true, location: "uri", location_name: "userId"))
|
90
92
|
PostTextRequest.add_member(:session_attributes, Shapes::ShapeRef.new(shape: StringMap, location_name: "sessionAttributes"))
|
93
|
+
PostTextRequest.add_member(:request_attributes, Shapes::ShapeRef.new(shape: StringMap, location_name: "requestAttributes"))
|
91
94
|
PostTextRequest.add_member(:input_text, Shapes::ShapeRef.new(shape: Text, required: true, location_name: "inputText"))
|
92
95
|
PostTextRequest.struct_class = Types::PostTextRequest
|
93
96
|
|
data/lib/aws-sdk-lex/types.rb
CHANGED
@@ -70,7 +70,8 @@ module Aws::Lex
|
|
70
70
|
# bot_name: "BotName", # required
|
71
71
|
# bot_alias: "BotAlias", # required
|
72
72
|
# user_id: "UserId", # required
|
73
|
-
# session_attributes: "
|
73
|
+
# session_attributes: "AttributesString",
|
74
|
+
# request_attributes: "AttributesString",
|
74
75
|
# content_type: "HttpContentType", # required
|
75
76
|
# accept: "Accept",
|
76
77
|
# input_stream: "data", # required
|
@@ -85,98 +86,88 @@ module Aws::Lex
|
|
85
86
|
# @return [String]
|
86
87
|
#
|
87
88
|
# @!attribute [rw] user_id
|
88
|
-
# ID of the client application user.
|
89
|
-
#
|
90
|
-
#
|
91
|
-
# ID. Note the following considerations:
|
89
|
+
# The ID of the client application user. Amazon Lex uses this to
|
90
|
+
# identify a user's conversation with your bot. At runtime, each
|
91
|
+
# request must contain the `userID` field.
|
92
92
|
#
|
93
|
-
#
|
94
|
-
#
|
95
|
-
#
|
96
|
-
#
|
97
|
-
#
|
93
|
+
# To decide the user ID to use for your application, consider the
|
94
|
+
# following factors.
|
95
|
+
#
|
96
|
+
# * The `userID` field must not contain any personally identifiable
|
97
|
+
# information of the user, for example, name, personal
|
98
|
+
# identification numbers, or other end user personal information.
|
99
|
+
#
|
100
|
+
# * If you want a user to start a conversation on one device and
|
101
|
+
# continue on another device, use a user-specific identifier.
|
98
102
|
#
|
99
103
|
# * If you want the same user to be able to have two independent
|
100
|
-
# conversations on two different devices,
|
101
|
-
#
|
102
|
-
#
|
104
|
+
# conversations on two different devices, choose a device-specific
|
105
|
+
# identifier.
|
106
|
+
#
|
107
|
+
# * A user can't have two independent conversations with two
|
108
|
+
# different versions of the same bot. For example, a user can't
|
109
|
+
# have a conversation with the PROD and BETA versions of the same
|
110
|
+
# bot. If you anticipate that a user will need to have conversation
|
111
|
+
# with two different versions, for example, while testing, include
|
112
|
+
# the bot alias in the user ID to separate the two conversations.
|
103
113
|
# @return [String]
|
104
114
|
#
|
105
115
|
# @!attribute [rw] session_attributes
|
106
|
-
# You pass this value
|
107
|
-
# header.
|
108
|
-
# is JSON serialized and then base64 encoded.
|
116
|
+
# You pass this value as the `x-amz-lex-session-attributes` HTTP
|
117
|
+
# header.
|
109
118
|
#
|
110
|
-
#
|
111
|
-
#
|
112
|
-
#
|
119
|
+
# Application-specific information passed between Amazon Lex and a
|
120
|
+
# client application. The value must be a JSON serialized and base64
|
121
|
+
# encoded map with string keys and values. The total size of the
|
122
|
+
# `sessionAttributes` and `requestAttributes` headers is limited to 12
|
123
|
+
# KB.
|
113
124
|
#
|
114
|
-
#
|
115
|
-
# requests.
|
125
|
+
# For more information, see [Setting Session Attributes][1].
|
116
126
|
#
|
117
|
-
# * In Getting Started Exercise 1, the example bot uses the price
|
118
|
-
# session attribute to maintain the price of flowers ordered (for
|
119
|
-
# example, "price":25). The code hook (Lambda function) sets this
|
120
|
-
# attribute based on the type of flowers ordered. For more
|
121
|
-
# information, see [Review the Details of Information Flow][1].
|
122
127
|
#
|
123
|
-
# * In the BookTrip bot exercise, the bot uses the
|
124
|
-
# `currentReservation` session attribute to maintains the slot data
|
125
|
-
# during the in-progress conversation to book a hotel or book a car.
|
126
|
-
# For more information, see [Details of Information Flow][2].
|
127
128
|
#
|
128
|
-
#
|
129
|
-
#
|
130
|
-
# the session attributes for initialization and customization
|
131
|
-
# (prompts). Some examples are:
|
132
|
-
#
|
133
|
-
# * Initialization - In a pizza ordering bot, if you pass user
|
134
|
-
# location (for example, `"Location : 111 Maple Street"`), then your
|
135
|
-
# Lambda function might use this information to determine the
|
136
|
-
# closest pizzeria to place the order (and perhaps set the
|
137
|
-
# storeAddress slot value as well).
|
138
|
-
#
|
139
|
-
# Personalized prompts - For example, you can configure prompts to
|
140
|
-
# refer to the user by name (for example, "Hey \[firstName\], what
|
141
|
-
# toppings would you like?"). You can pass the user's name as a
|
142
|
-
# session attribute ("firstName": "Joe") so that Amazon Lex can
|
143
|
-
# substitute the placeholder to provide a personalized prompt to the
|
144
|
-
# user ("Hey Joe, what toppings would you like?").
|
129
|
+
# [1]: http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs
|
130
|
+
# @return [String]
|
145
131
|
#
|
146
|
-
#
|
132
|
+
# @!attribute [rw] request_attributes
|
133
|
+
# You pass this value as the `x-amz-lex-request-attributes` HTTP
|
134
|
+
# header.
|
147
135
|
#
|
148
|
-
#
|
149
|
-
#
|
150
|
-
#
|
151
|
-
#
|
136
|
+
# Request-specific information passed between Amazon Lex and a client
|
137
|
+
# application. The value must be a JSON serialized and base64 encoded
|
138
|
+
# map with string keys and values. The total size of the
|
139
|
+
# `requestAttributes` and `sessionAttributes` headers is limited to 12
|
140
|
+
# KB.
|
152
141
|
#
|
153
|
-
#
|
154
|
-
#
|
142
|
+
# The namespace `x-amz-lex:` is reserved for special attributes.
|
143
|
+
# Don't create any request attributes with the prefix `x-amz-lex:`.
|
155
144
|
#
|
156
|
-
#
|
145
|
+
# For more information, see [Setting Request Attributes][1].
|
157
146
|
#
|
158
147
|
#
|
159
148
|
#
|
160
|
-
# [1]: http://docs.aws.amazon.com/lex/latest/dg/
|
161
|
-
# [2]: http://docs.aws.amazon.com/lex/latest/dg/book-trip-detail-flow.html
|
149
|
+
# [1]: http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs
|
162
150
|
# @return [String]
|
163
151
|
#
|
164
152
|
# @!attribute [rw] content_type
|
165
|
-
# You pass this
|
153
|
+
# You pass this value as the `Content-Type` HTTP header.
|
166
154
|
#
|
167
155
|
# Indicates the audio format or text. The header value must start with
|
168
156
|
# one of the following prefixes:
|
169
157
|
#
|
170
|
-
# * PCM format
|
158
|
+
# * PCM format, audio data must be in little-endian byte order.
|
171
159
|
#
|
172
160
|
# * audio/l16; rate=16000; channels=1
|
173
161
|
#
|
174
162
|
# * audio/x-l16; sample-rate=16000; channel-count=1
|
175
163
|
#
|
164
|
+
# * audio/lpcm; sample-rate=8000; sample-size-bits=16;
|
165
|
+
# channel-count=1; is-big-endian=false
|
166
|
+
#
|
176
167
|
# * Opus format
|
177
168
|
#
|
178
|
-
# * audio/x-cbr-opus-with-preamble; preamble-size=0;
|
179
|
-
# frame-size-milliseconds=
|
169
|
+
# * audio/x-cbr-opus-with-preamble; preamble-size=0;
|
170
|
+
# bit-rate=256000; frame-size-milliseconds=4
|
180
171
|
#
|
181
172
|
# ^
|
182
173
|
#
|
@@ -218,6 +209,11 @@ module Aws::Lex
|
|
218
209
|
# @!attribute [rw] input_stream
|
219
210
|
# User input in PCM or Opus audio format or text format as described
|
220
211
|
# in the `Content-Type` HTTP header.
|
212
|
+
#
|
213
|
+
# You can stream audio data to Amazon Lex or you can create a local
|
214
|
+
# buffer that captures all of the audio data before sending. In
|
215
|
+
# general, you get better performance if you stream audio data rather
|
216
|
+
# than buffering the data locally.
|
221
217
|
# @return [IO]
|
222
218
|
#
|
223
219
|
# @see http://docs.aws.amazon.com/goto/WebAPI/runtime.lex-2016-11-28/PostContentRequest AWS API Documentation
|
@@ -227,6 +223,7 @@ module Aws::Lex
|
|
227
223
|
:bot_alias,
|
228
224
|
:user_id,
|
229
225
|
:session_attributes,
|
226
|
+
:request_attributes,
|
230
227
|
:content_type,
|
231
228
|
:accept,
|
232
229
|
:input_stream)
|
@@ -245,6 +242,17 @@ module Aws::Lex
|
|
245
242
|
# @!attribute [rw] slots
|
246
243
|
# Map of zero or more intent slots (name/value pairs) Amazon Lex
|
247
244
|
# detected from the user input during the conversation.
|
245
|
+
#
|
246
|
+
# Amazon Lex creates a resolution list containing likely values for a
|
247
|
+
# slot. The value that it returns is determined by the
|
248
|
+
# `valueSelectionStrategy` selected when the slot type was created or
|
249
|
+
# updated. If `valueSelectionStrategy` is set to `ORIGINAL_VALUE`, the
|
250
|
+
# value provided by the user is returned, if the user value is similar
|
251
|
+
# to the slot values. If `valueSelectionStrategy` is set to
|
252
|
+
# `TOP_RESOLUTION` Amazon Lex returns the first value in the
|
253
|
+
# resolution list or, if there is no resolution list, null. If you
|
254
|
+
# don't specify a `valueSelectionStrategy`, the default is
|
255
|
+
# `ORIGINAL_VALUE`.
|
248
256
|
# @return [String]
|
249
257
|
#
|
250
258
|
# @!attribute [rw] session_attributes
|
@@ -273,14 +281,14 @@ module Aws::Lex
|
|
273
281
|
# returns one of the following values as `dialogState`. The client can
|
274
282
|
# optionally use this information to customize the user interface.
|
275
283
|
#
|
276
|
-
# * `ElicitIntent`
|
284
|
+
# * `ElicitIntent` - Amazon Lex wants to elicit the user's intent.
|
277
285
|
# Consider the following examples:
|
278
286
|
#
|
279
287
|
# For example, a user might utter an intent ("I want to order a
|
280
288
|
# pizza"). If Amazon Lex cannot infer the user intent from this
|
281
289
|
# utterance, it will return this dialog state.
|
282
290
|
#
|
283
|
-
# * `ConfirmIntent`
|
291
|
+
# * `ConfirmIntent` - Amazon Lex is expecting a "yes" or "no"
|
284
292
|
# response.
|
285
293
|
#
|
286
294
|
# For example, Amazon Lex wants user confirmation before fulfilling
|
@@ -291,7 +299,7 @@ module Aws::Lex
|
|
291
299
|
# examples, update the crust type slot or change the intent from
|
292
300
|
# OrderPizza to OrderDrink).
|
293
301
|
#
|
294
|
-
# * `ElicitSlot`
|
302
|
+
# * `ElicitSlot` - Amazon Lex is expecting the value of a slot for the
|
295
303
|
# current intent.
|
296
304
|
#
|
297
305
|
# For example, suppose that in the response Amazon Lex sends this
|
@@ -301,13 +309,13 @@ module Aws::Lex
|
|
301
309
|
# thick crust pizza"). Amazon Lex can process such additional
|
302
310
|
# information appropriately.
|
303
311
|
#
|
304
|
-
# * `Fulfilled`
|
312
|
+
# * `Fulfilled` - Conveys that the Lambda function has successfully
|
305
313
|
# fulfilled the intent.
|
306
314
|
#
|
307
|
-
# * `ReadyForFulfillment`
|
308
|
-
#
|
315
|
+
# * `ReadyForFulfillment` - Conveys that the client has to fulfill the
|
316
|
+
# request.
|
309
317
|
#
|
310
|
-
# * `Failed`
|
318
|
+
# * `Failed` - Conveys that the conversation with the user failed.
|
311
319
|
#
|
312
320
|
# This can happen for various reasons, including that the user does
|
313
321
|
# not provide an appropriate response to prompts from the service
|
@@ -322,7 +330,13 @@ module Aws::Lex
|
|
322
330
|
# @return [String]
|
323
331
|
#
|
324
332
|
# @!attribute [rw] input_transcript
|
325
|
-
#
|
333
|
+
# The text used to process the request.
|
334
|
+
#
|
335
|
+
# If the input was an audio stream, the `inputTranscript` field
|
336
|
+
# contains the text extracted from the audio stream. This is the text
|
337
|
+
# that is actually processed to recognize intents and slot values. You
|
338
|
+
# can use this information to determine if Amazon Lex is correctly
|
339
|
+
# processing the audio that you send.
|
326
340
|
# @return [String]
|
327
341
|
#
|
328
342
|
# @!attribute [rw] audio_stream
|
@@ -361,6 +375,9 @@ module Aws::Lex
|
|
361
375
|
# session_attributes: {
|
362
376
|
# "String" => "String",
|
363
377
|
# },
|
378
|
+
# request_attributes: {
|
379
|
+
# "String" => "String",
|
380
|
+
# },
|
364
381
|
# input_text: "Text", # required
|
365
382
|
# }
|
366
383
|
#
|
@@ -373,77 +390,55 @@ module Aws::Lex
|
|
373
390
|
# @return [String]
|
374
391
|
#
|
375
392
|
# @!attribute [rw] user_id
|
376
|
-
# The ID of the client application user.
|
377
|
-
#
|
378
|
-
#
|
379
|
-
#
|
393
|
+
# The ID of the client application user. Amazon Lex uses this to
|
394
|
+
# identify a user's conversation with your bot. At runtime, each
|
395
|
+
# request must contain the `userID` field.
|
396
|
+
#
|
397
|
+
# To decide the user ID to use for your application, consider the
|
398
|
+
# following factors.
|
399
|
+
#
|
400
|
+
# * The `userID` field must not contain any personally identifiable
|
401
|
+
# information of the user, for example, name, personal
|
402
|
+
# identification numbers, or other end user personal information.
|
380
403
|
#
|
381
404
|
# * If you want a user to start a conversation on one device and
|
382
|
-
# continue
|
383
|
-
# user-specific identifier, such as a login or Amazon Cognito user
|
384
|
-
# ID (assuming your application is using Amazon Cognito).
|
405
|
+
# continue on another device, use a user-specific identifier.
|
385
406
|
#
|
386
407
|
# * If you want the same user to be able to have two independent
|
387
|
-
# conversations on two different devices,
|
388
|
-
#
|
389
|
-
#
|
408
|
+
# conversations on two different devices, choose a device-specific
|
409
|
+
# identifier.
|
410
|
+
#
|
411
|
+
# * A user can't have two independent conversations with two
|
412
|
+
# different versions of the same bot. For example, a user can't
|
413
|
+
# have a conversation with the PROD and BETA versions of the same
|
414
|
+
# bot. If you anticipate that a user will need to have conversation
|
415
|
+
# with two different versions, for example, while testing, include
|
416
|
+
# the bot alias in the user ID to separate the two conversations.
|
390
417
|
# @return [String]
|
391
418
|
#
|
392
419
|
# @!attribute [rw] session_attributes
|
393
|
-
#
|
394
|
-
#
|
395
|
-
#
|
396
|
-
#
|
397
|
-
#
|
398
|
-
#
|
399
|
-
#
|
400
|
-
#
|
401
|
-
#
|
402
|
-
#
|
403
|
-
#
|
404
|
-
#
|
405
|
-
# For more information, see [Details of Information Flow][2].
|
406
|
-
#
|
407
|
-
# * You might use the session attributes (key, value pairs) to track
|
408
|
-
# the requestID of user requests.
|
409
|
-
#
|
410
|
-
# Amazon Lex simply passes these session attributes to the Lambda
|
411
|
-
# functions configured for the intent.
|
412
|
-
#
|
413
|
-
# In your Lambda function, you can also use the session attributes for
|
414
|
-
# initialization and customization (prompts and response cards). Some
|
415
|
-
# examples are:
|
416
|
-
#
|
417
|
-
# * Initialization - In a pizza ordering bot, if you can pass the user
|
418
|
-
# location as a session attribute (for example, `"Location" : "111
|
419
|
-
# Maple street"`), then your Lambda function might use this
|
420
|
-
# information to determine the closest pizzeria to place the order
|
421
|
-
# (perhaps to set the storeAddress slot value).
|
422
|
-
#
|
423
|
-
# * Personalize prompts - For example, you can configure prompts to
|
424
|
-
# refer to the user name. (For example, "Hey \[FirstName\], what
|
425
|
-
# toppings would you like?"). You can pass the user name as a
|
426
|
-
# session attribute (`"FirstName" : "Joe"`) so that Amazon Lex can
|
427
|
-
# substitute the placeholder to provide a personalize prompt to the
|
428
|
-
# user ("Hey Joe, what toppings would you like?").
|
429
|
-
#
|
430
|
-
# <note markdown="1"> Amazon Lex does not persist session attributes.
|
431
|
-
#
|
432
|
-
# If you configure a code hook for the intent, Amazon Lex passes the
|
433
|
-
# incoming session attributes to the Lambda function. If you want
|
434
|
-
# Amazon Lex to return these session attributes back to the client,
|
435
|
-
# the Lambda function must return them.
|
436
|
-
#
|
437
|
-
# If there is no code hook configured for the intent, Amazon Lex
|
438
|
-
# simply returns the session attributes back to the client
|
420
|
+
# Application-specific information passed between Amazon Lex and a
|
421
|
+
# client application.
|
422
|
+
#
|
423
|
+
# For more information, see [Setting Session Attributes][1].
|
424
|
+
#
|
425
|
+
#
|
426
|
+
#
|
427
|
+
# [1]: http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs
|
428
|
+
# @return [Hash<String,String>]
|
429
|
+
#
|
430
|
+
# @!attribute [rw] request_attributes
|
431
|
+
# Request-specific information passed between Amazon Lex and a client
|
439
432
|
# application.
|
440
433
|
#
|
441
|
-
#
|
434
|
+
# The namespace `x-amz-lex:` is reserved for special attributes.
|
435
|
+
# Don't create any request attributes with the prefix `x-amz-lex:`.
|
436
|
+
#
|
437
|
+
# For more information, see [Setting Request Attributes][1].
|
442
438
|
#
|
443
439
|
#
|
444
440
|
#
|
445
|
-
# [1]: http://docs.aws.amazon.com/lex/latest/dg/
|
446
|
-
# [2]: http://docs.aws.amazon.com/lex/latest/dg/book-trip-detail-flow.html
|
441
|
+
# [1]: http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs
|
447
442
|
# @return [Hash<String,String>]
|
448
443
|
#
|
449
444
|
# @!attribute [rw] input_text
|
@@ -457,6 +452,7 @@ module Aws::Lex
|
|
457
452
|
:bot_alias,
|
458
453
|
:user_id,
|
459
454
|
:session_attributes,
|
455
|
+
:request_attributes,
|
460
456
|
:input_text)
|
461
457
|
include Aws::Structure
|
462
458
|
end
|
@@ -466,8 +462,19 @@ module Aws::Lex
|
|
466
462
|
# @return [String]
|
467
463
|
#
|
468
464
|
# @!attribute [rw] slots
|
469
|
-
# The intent slots
|
470
|
-
#
|
465
|
+
# The intent slots that Amazon Lex detected from the user input in the
|
466
|
+
# conversation.
|
467
|
+
#
|
468
|
+
# Amazon Lex creates a resolution list containing likely values for a
|
469
|
+
# slot. The value that it returns is determined by the
|
470
|
+
# `valueSelectionStrategy` selected when the slot type was created or
|
471
|
+
# updated. If `valueSelectionStrategy` is set to `ORIGINAL_VALUE`, the
|
472
|
+
# value provided by the user is returned, if the user value is similar
|
473
|
+
# to the slot values. If `valueSelectionStrategy` is set to
|
474
|
+
# `TOP_RESOLUTION` Amazon Lex returns the first value in the
|
475
|
+
# resolution list or, if there is no resolution list, null. If you
|
476
|
+
# don't specify a `valueSelectionStrategy`, the default is
|
477
|
+
# `ORIGINAL_VALUE`.
|
471
478
|
# @return [Hash<String,String>]
|
472
479
|
#
|
473
480
|
# @!attribute [rw] session_attributes
|
@@ -496,13 +503,13 @@ module Aws::Lex
|
|
496
503
|
# returns one of the following values as `dialogState`. The client can
|
497
504
|
# optionally use this information to customize the user interface.
|
498
505
|
#
|
499
|
-
# * `ElicitIntent`
|
506
|
+
# * `ElicitIntent` - Amazon Lex wants to elicit user intent.
|
500
507
|
#
|
501
508
|
# For example, a user might utter an intent ("I want to order a
|
502
509
|
# pizza"). If Amazon Lex cannot infer the user intent from this
|
503
510
|
# utterance, it will return this dialogState.
|
504
511
|
#
|
505
|
-
# * `ConfirmIntent`
|
512
|
+
# * `ConfirmIntent` - Amazon Lex is expecting a "yes" or "no"
|
506
513
|
# response.
|
507
514
|
#
|
508
515
|
# For example, Amazon Lex wants user confirmation before fulfilling
|
@@ -515,7 +522,7 @@ module Aws::Lex
|
|
515
522
|
# crust type slot value, or change intent from OrderPizza to
|
516
523
|
# OrderDrink).
|
517
524
|
#
|
518
|
-
# * `ElicitSlot`
|
525
|
+
# * `ElicitSlot` - Amazon Lex is expecting a slot value for the
|
519
526
|
# current intent.
|
520
527
|
#
|
521
528
|
# For example, suppose that in the response Amazon Lex sends this
|
@@ -525,13 +532,13 @@ module Aws::Lex
|
|
525
532
|
# thick crust pizza"). Amazon Lex can process such additional
|
526
533
|
# information appropriately.
|
527
534
|
#
|
528
|
-
# * `Fulfilled`
|
535
|
+
# * `Fulfilled` - Conveys that the Lambda function configured for the
|
529
536
|
# intent has successfully fulfilled the intent.
|
530
537
|
#
|
531
|
-
# * `ReadyForFulfillment`
|
538
|
+
# * `ReadyForFulfillment` - Conveys that the client has to fulfill the
|
532
539
|
# intent.
|
533
540
|
#
|
534
|
-
# * `Failed`
|
541
|
+
# * `Failed` - Conveys that the conversation with the user failed.
|
535
542
|
#
|
536
543
|
# This can happen for various reasons including that the user did
|
537
544
|
# not provide an appropriate response to prompts from the service
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-lex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|