3

我正在为一个流量很大的网站构建一个聊天机器人

我决定在 AWS lex 中构建聊天机器人

我想将所有聊天对话保存在 Dynamo DB 中,因为我为该属性选择了列表数据类型

我能够将所有插槽数据放入不同的变量中,但是如何保存我们在 lex 控制台中定义的用户输入的话语和提示,以及如何像对话一样安排它们。

是否有任何替代存储聊天对话的方法?

4

1 回答 1

1

由于它是您的机器人,因此您知道会话超时值。在您的 lambda 函数中,您可以生成会话 ID(随机 UUID)并将其放入会话属性中(在此处阅读更多信息)。您可以在您的帐户中创建一个 DDB 表并像这样设计它:

  • 哈希键:userId
  • 范围键:sessionId#timeStamp
  • 请求(字符串属性):发送到 Lambda 函数的请求结构的 JSON 格式

现在,只要会话有效,您就可以随时检索您放入会话属性映射中的 sessionId。使用它,您将始终能够创建范围键 ( sessionId + "#" + currentTimeStamp)。在您在 lambda 中获得的每次调用中,您还会获得机器人的用户 ID。您可以将所有这些信息以您喜欢的方式存储话语。

于 2017-09-12T05:29:48.523 回答