0 amazon-web-services amazon-lex aws-lex
我目前正在使用 AWS Lex 构建一个机器人。我面临的一个问题是如何存储用户的会话并检索它,以便在用户转到新页面、刷新页面或返回时机器人能够继续对话(并显示上一个对话)例如一周后?
例如 1 例如,当用户检查电子商务网站上的不同页面时,机器人正在帮助用户做出购买决定。
例如 2 另一个例子是用户一周后重新访问该网站,机器人会识别该用户,显示之前的对话历史记录并发送自定义消息?
AWS 提供用于 Web 集成的LexRuntime javascript API。该 API 提供 NLP,但不存储/获取对话历史记录。您必须创建自己的应用程序服务器并将对话存储到数据库中。您还需要管理访问您网站的用户数据库。
当用户访问网站时,从 DB 中获取用户的对话历史记录并将其填充到 UI 上。这样,即使用户刷新页面,他也能够看到从数据库加载的聊天历史记录。
现在的问题是Lex 如何记住用户以及记住多长时间?
Lex 使用以下参数创建用户会话:
这些参数与用户查询一起发送到 Lex。这里的用户 ID 可以是代表您网站用户的任何唯一标识符。Lex 使用这些参数来确定当前用户查询的会话。如果这些值中的任何一个发生更改,Lex 将创建一个新会话或重用现有会话(如果适用于同一组值)。默认情况下,会话持续时间为 5 分钟,但您可以指定 0 到 1,440 分钟(24 小时)之间的任何持续时间。
使用 Lex Runtime API,您可以使用以下两种方法将用户查询发送到您的机器人:
两种方法都需要botName、aliasName和userId参数。我希望这能回答你的第二个问题。
现在来看您的第一个用例
当用户查看电子商务网站上的不同页面时,机器人会帮助用户做出购买决定。
要实现这一目标,首先,您必须实施上述方法。完成此操作后,您可以将页面 URL(机器人所在的页面)发送到 Lex。您可以将此信息作为请求属性发送。在 Lex 控制台中,使用 lambda 函数根据页面 URL 确定响应。
这一切都需要开发的努力和时间。有许多可用的第三方工具可以提供与 lex 的较少代码集成。我推荐《沟通》。也看看这个博客。
| 归档时间: |
|
| 查看次数: |
640 次 |
| 最近记录: |