当前位置: 首页 > 面试题库 >

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

冯文彬
2023-03-14
问题内容

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


问题答案:

您可以使用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'
  • 详细了解Context变量。
  • 查看有关构建对话框的更多信息。


 类似资料:
  • 我们正在创建一个可以支持XML和JSON格式的Spring boot REST服务。我们使用这里描述的相同方法:接受/返回XML/JSON请求和响应- Spring MVC 除了我们需要在XML响应中有一个名称空间之外,它大部分都是有效的,目前响应XML没有任何名称空间。我们尝试在DTO类中添加以下内容,并尝试创建“package info.java”。两者都不起作用。有人有什么建议吗? @jav

  • 我非常确定“Expires”是有效的HTTP响应头类型。但是当我尝试在代码中设置它时:(这是在ActionFilter.OnActionExecuted方法中) 我最后有一个例外: InvalidOperationException:错误使用的标头名称。确保请求头与HttpRequestMessage一起使用,响应头与HttpResponseMessage一起使用,内容头与HttpContent对

  • 我目前拥有的代码是:

  • 我有以下代码: 在这部分代码中: 如果存在过滤器,则将过滤器应用于流; 想要对此流进行一些偏移和限制,但这不起作用,因为“应该只对一个流进行一次操作(调用中间或终端流操作)”。 映射到dto对象并收集为列表。 如何以其他方式进行流操作skip()和limit()。提前感谢。

  • 我需要在每个响应中添加标题。我正打算在下面做 我想在之后这样做,以便一旦控制器处理它,我只是在返回客户端之前添加标头。是正确的吗? 但如何编写响应过滤器? 在已返回,对响应执行任何操作都为时已晚。此时,整个响应已经发送到客户端,您的代码无法访问它。 我觉得上面的说法不对。我不能在过滤链之后添加标题。doFilter(请求、响应)?如果不是,为什么? 我使用的是spring mvc。

  • 问题内容: 我正在为QuerySet中的每个项目生成聚合: 但是我没有得到JSON响应中的计数。 问题答案: 从get_queryset返回的queryset提供了将要通过序列化程序的内容的列表,该序列化程序控制对象的表示方式。尝试在Book序列化器中添加其他字段,例如: 编辑:正如其他人所说,这不是返回许多结果的情况下增加计数的最有效方法,因为它将对每个实例命中数据库。有关更有效的解决方案.