IBM Watson Assistent:调用客户操作以验证插槽对话框节点内的客户信息

时间:2019-04-16 19:16:48

标签: ibm-cloud ibm-watson watson-assistant

在启用了插槽的节点中,我需要针对客户端数据库(类型=客户端,而非云功能或Web操作)验证第一个插槽。

我正在建立一个对话框来处理座席和客户之间的电话。在一个起始节点中,Watson询问客户名称,呼叫日期和呼叫目的。

我需要在一个节点中捕获所有这些信息,因为用户有机会在一句话中给出所有信息。

让用户输入“我今天和John进行了跟进通话”

3个插槽的定义

 1. If recognized @sys-contact save it as $contacted_person (John) required
 2. If recognized @sys-date save it as $call_date (today) required
 3. If recognized @purpose save it as $purpose (follow up) required

在插槽1的设置中,我定义了一个操作,以调用运行良好的外部函数,该函数针对数据库检查上下文 $ contact_person ,并将返回名为 $的上下文变量。 default_contact_person 。如果找到记录,则 $ default_contacted_person 等于 $ contact_person ,并且如果数据库中没有这样的名称,则 $ default_contact_person 的值将成为“无记录”

我还为第一个广告位创建了条件响应,以检查 $ default_contact_name

的值

问题在于它永远无法到达响应。不能将这个节点分成两个节点非常重要,因为用户必须一次性输入所有信息

Node setup

Configuration slot #1

Configuration slot > response 1

JSON of slot 1:

{
  "context": {
    "contact_person": "@sys-person.values"
  },
  "actions": [
    {
      "name": "Contact_check",
      "type": "client",
      "parameters": {
        "account_name": "$contact_person"
      },
      "result_variable": "default_contact_name"
    }
  ]
}

0 个答案:

没有答案