AWS Lex 和 Lambda:使用不在槽中的变量请求 API
AWS Lex and Lambda: request to API with a variable that is not a in a slot
我有一个 Python 编码的后端,它为 "getting all the tasks of a project" 提供 API,如果你提供项目 ID。
我想使用 AWS 在线工具中的 Lex 和 Lambda 执行此请求,所以我想到了一些简单的方法,例如:"Give me the tasks for project 145" 然后 lambda 使用变量“145”调用 API " 并向用户显示任务。
我学习了 pizzaOrder 教程,一切都很清楚,但是现在我想用我的项目做这个基本的事情,我遇到了一个问题:我的项目不在插槽中,因为显然用户可以创建和删除项目。所以“145”不在插槽中。
那么遇到这种情况怎么办呢? Lex 可以识别不在槽中的单词然后像变量一样使用它吗?
简短回答:是的。 Lex/Alexa 可以识别自定义槽类型定义值之外的单词。
这取自 documentation(适用于 Alexa 和 Lex):
A custom slot type is not the equivalent of an enumeration. Values outside the list are still returned if recognized by the spoken language understanding system. Although input to a custom slot type is weighted towards the values in the list, it is not constrained to just the items on the list. Your code still needs to include validation and error checking when using slot values.
我有一个 Python 编码的后端,它为 "getting all the tasks of a project" 提供 API,如果你提供项目 ID。
我想使用 AWS 在线工具中的 Lex 和 Lambda 执行此请求,所以我想到了一些简单的方法,例如:"Give me the tasks for project 145" 然后 lambda 使用变量“145”调用 API " 并向用户显示任务。
我学习了 pizzaOrder 教程,一切都很清楚,但是现在我想用我的项目做这个基本的事情,我遇到了一个问题:我的项目不在插槽中,因为显然用户可以创建和删除项目。所以“145”不在插槽中。
那么遇到这种情况怎么办呢? Lex 可以识别不在槽中的单词然后像变量一样使用它吗?
简短回答:是的。 Lex/Alexa 可以识别自定义槽类型定义值之外的单词。
这取自 documentation(适用于 Alexa 和 Lex):
A custom slot type is not the equivalent of an enumeration. Values outside the list are still returned if recognized by the spoken language understanding system. Although input to a custom slot type is weighted towards the values in the list, it is not constrained to just the items on the list. Your code still needs to include validation and error checking when using slot values.