一尘不染

如何在Watson对话响应中添加操作?

node.js

我已经创建了意图,实体和对话框,没有问题。但是现在我正在尝试做到这一点,以便当用户发送“再见”时,应用程序将关闭。根据文档,我必须命名一个与意图一起执行的动作。我怎么做?是通过代码还是通过对话工作区平台?


阅读 229

收藏
2020-07-07

共1个答案

一尘不染

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

为此,我使用了简单对话

在您的Watson Developer Cloud-IBM Bluemix-
Watson对话中,在Advanced响应中添加此JSON示例,假设您的应用程序将在此对话节点中执行以下操作:

{
  "context": {
    "verified": true;
  },
  "output": {
    "text": {
      "values": [
        "Please wait and I'll verified your request."
      ],
      "selection_policy": "sequential"
    }
  }
}

范例(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;
}

您可以使用数据在对话流中发送内容。

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;
}

编辑:

您可以添加一个像“ action”这样的JSON对象,您的代码将识别该变量,就像@Mikko所说的一样。您可以使用以下方法进行检查:

data.output.action === 'close'
2020-07-07