我是尝试将AWS Lex集成到我们的某个Web应用程序中的团队的一员。目前,我们要采用的方法是用户要求Lex运行SQL查询。然后,Lex会根据用户的问题决定适当的意图(如果用户想要使用值A进行搜索,则会选择IE,Lex会选择意图A)并将此信息发送回我们的网络应用程序,然后运行适当的方法执行SQL查询(其中方法名称与意图名称匹配)。
总结一下,我们想要做的事情如下:
1)用户告诉Lex他们想要使用值A搜索数据
2)Lex确定正确的意图(意图A)
3)Lex将此信息发送给Lambda,然后Lambda将意图名称返回给Web客户端
4)我们的Web应用程序拦截Lambda的响应并执行正确的方法
5)通过Lex向用户显示的结果。
我的问题是这是否可行,特别是拦截Lambda响应。如果是这样,有人可以请指出相关信息,我可以在哪里阅读如何实现这一点?我一直在寻找最近几天,并没有找到任何相关材料的特定用例。
非常感谢!
答案 0 :(得分:1)
- 用户告诉Lex他们想要使用值A
搜索数据- Lex确定正确的意图(意图A)
醇>
我认为你应该使用单一意图和不同的插槽,这样会更有效率。
- Lex将此信息发送给Lambda,后者返回意图 Web客户端的名称
- 我们的网络应用程序截获Lambda的此响应并执行正确的方法
醇>
您应该在Web服务器上编写一个Rest API,它将获取数据并返回输出。在Lambda函数中,您可以编写简单的HTTP请求/ post方法,请求api并获取响应。
- 通过Lex向用户显示的结果
醇>
收到回复后,您只需使用Close
将响应返回给机器人。
希望它有所帮助。