如何为沃森对话响应添加操作?

Chr*_*ang 4 javascript node.js ibm-watson ibm-cloud watson-assistant

我已经创建了意图,实体和对话而没有任何问题.但是现在我正试图这样做,当用户发送"再见"时,应用程序将关闭.根据文件,我将不得不命名一个与意图一致的行动.我怎么做?是通过代码还是通过对话工作区平台?

Say*_*chi 5

你可以使用context variablesaction variables为此.如何使用上下文变量?在您的高级响应中添加"上下文"和值,请查看我的示例.

我已经习惯了简单谈话.

在您的Watson Developer Cloud - IBM Bluemix - Watson Conversation中,添加高级响应这个JSON示例,假设它在此对话节点中,您的应用程序将执行某些操作:

{
  "context": {
    "verified": true;
  },
  "output": {
    "text": {
      "values": [
        "Please wait and I'll verified your request."
      ],
      "selection_policy": "sequential"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

示例(app.js):

function updateMessage(input, data, req, res) {
  if (data.context.verified === true){
    searchRequest(data, req, res);
    } else if (data.output && data.output.text) {
    return res.json(data);
    }
    return data;
}
Run Code Online (Sandbox Code Playgroud)

您可以使用数据在会话流中发送内容.

function searchRequest(data, req, res){
    // something to do and return value
    var sendRequest = "Thanks for wait, the request is" + valueRequest;
    data.output.text[0] = sendRequest;
    return data;
}
Run Code Online (Sandbox Code Playgroud)

编辑:

您可以添加一个JSON对象,如"action",您的代码将识别此变量,与@Mikko说的相同.你可以用以下方法检查:

data.output.action === 'close'
Run Code Online (Sandbox Code Playgroud)