错误:给定当前插槽和 sessionAttribute 集,没有可用的消息

Kan*_*wal 6 aws-lambda amazon-lex

我在 lex 中创建了一个聊天机器人,为了一个特定的目的,Lex 抛出了错误,

An error has occurred: Invalid Bot Configuration: No usable messages 
given the current slot and sessionAttribute set.
Run Code Online (Sandbox Code Playgroud)

在该意图的情况下,无论输入如何,都会出现此错误。在这一点上,我没有为此目的使用任何 lambda 函数。有人可以指导我这是什么意思吗?我是 lex 的新手,我没有找到有关此错误内容的参考。

WPo*_*ier 6

最近在保存一些更改后,我在测试我的机器人时遇到了同样的错误。过了一会儿,终于,我发现这是因为我的确认消息使用了当时未定义的一些插槽。

例子:

让我们假设我们有:

  • 一个必需的插槽 {name}
  • 一个可选插槽 {age}
  • 和确认消息是 "Your name is {name} and your age is {age}, is that right?"

如果 Lex 到达要求用户确认的点并且{age}从未被分配到任何话语或 lambda 函数中,那么 Lex 将返回此错误。

您必须确保定义了消息中使用的所有槽。


Jay*_*tle 1

我相信发生此错误是因为您尚未将 Lex 配置为为该特定意图的 CodeHook 或 Fulfillment 设置响应消息。

如果您不使用 Lambda 函数进行履行,请务必在“履行”部分中选择“将参数返回给客户端”,然后在“响应”部分中的消息下方提供响应消息。
在 Lex 控制台中可以找到该信息:

Lex 控制台返回履行响应