在启用插槽的节点中,我需要针对客户端数据库(类型 = 客户端,而不是云功能或 Web 操作)验证第一个插槽。
我正在建立一个对话来处理代理和客户之间的电话。在开始节点之一,Watson 询问客户姓名、通话日期和通话目的。
我需要在一个节点中捕获所有这些信息,因为用户有机会在一句话中提供所有信息。
假设用户将输入“我今天与约翰进行了后续电话”
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的值将是“No Record”
我还为第一个插槽创建了条件响应,以检查$default_contact_name的值
问题是它永远不会到达响应。非常重要的是,我不能将此节点拆分为两个节点,因为用户一次输入所有信息
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"
}
]
}