亚马逊Lex Bot - 回复你好

时间:2018-02-16 20:01:06

标签: node.js amazon-web-services aws-lambda amazon-lex

我已经开始学习亚马逊lex,浏览了他们的文档和示例机器人。

我面临的问题是所有的机器人都是Q& A类型,如果我必须让机器人回复你好,那么应该是正确的方法或怎么做?

根据我的理解:

  

我正在考虑为Hello创建一个intent以及它何时获得   实现我可以让机器人回复我如何帮助你?使用Lambda函数,这就是了   应该怎样做?

用户可以提出许多其他直接问题,我是否必须回答所有问题以获得lambda函数的意图?我正在使用java脚本。

我被困了,建议任何方法?

编辑1 How to give response based on user response in Amazon Lex?

这就是我所寻找的,仍然有任何建议会有所帮助。

1 个答案:

答案 0 :(得分:2)

实现从Lambda函数中的 JavaScript(Node.js)返回格式化响应:

首先创建一些方便的函数来构建适当的Lex响应格式。

function close(sessionAttributes, fulfillmentState, message) {
    return {
        sessionAttributes,
        dialogAction: {
            type: 'Close',
            fulfillmentState,
            message,
        },
    };
}

您可以在AWS-Lex-Convo-Bot-Example index.js

中找到更多节点响应构建功能

然后只需调用该函数并将其传递给它所需的内容,如下所示:

var message = {
    'contentType': 'PlainText', 
    'content': 'Hi! How can I help you?'
}

var responseMsg = close( sessionAttributes, 'Fulfilled', message );

(在内容中写下您的信息'如果使用SSML标记,请更改' contentType'以及#SS;')

然后将responseMsg传递给callback的{​​{1}}。

把它们放在一起然后得到:

exports.handler