如何向 watson 对话响应添加操作?
How do I add an action to watson conversation response?
我已经毫无问题地创建了意图、实体和对话。但现在我正试图做到这一点,所以当用户发送 "goodbye" 时,应用程序将关闭。根据文档,我将不得不命名一个伴随意图的动作。我怎么做?是通过代码还是通过对话工作空间平台?
您可以使用 context variables
或 action variables
。
如何使用上下文变量?在您的预先回复中添加 "context" 和值,检查我的示例。
我为此使用了 conversation simple。
在您的 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"
}
}
}
示例 (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;
}
编辑:
您可以添加一个 JSON 对象,例如 "action",您的代码将识别此变量,与@Mikko 所说的相同示例。您可以通过以下方式检查:
data.output.action === 'close'
- 查看更多关于 Context variables。
- 详细了解 Building a dialog。
您需要小心上下文变量,因为您的下一个对话节点可能会也可能不会更新它们。另一种选择是在输出中添加自定义变量。这是 GitHub.
中可用的对话发现示例中使用的解决方案
"output": {
"text": {
"values": [
"Goodbye..."
],
"selection_policy": "sequential"
},
"action": "close"
}
请注意,这会在关闭 JSON 编辑器时发出警告。
我已经毫无问题地创建了意图、实体和对话。但现在我正试图做到这一点,所以当用户发送 "goodbye" 时,应用程序将关闭。根据文档,我将不得不命名一个伴随意图的动作。我怎么做?是通过代码还是通过对话工作空间平台?
您可以使用 context variables
或 action variables
。
如何使用上下文变量?在您的预先回复中添加 "context" 和值,检查我的示例。
我为此使用了 conversation simple。
在您的 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"
}
}
}
示例 (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;
}
编辑:
您可以添加一个 JSON 对象,例如 "action",您的代码将识别此变量,与@Mikko 所说的相同示例。您可以通过以下方式检查:
data.output.action === 'close'
- 查看更多关于 Context variables。
- 详细了解 Building a dialog。
您需要小心上下文变量,因为您的下一个对话节点可能会也可能不会更新它们。另一种选择是在输出中添加自定义变量。这是 GitHub.
中可用的对话发现示例中使用的解决方案 "output": {
"text": {
"values": [
"Goodbye..."
],
"selection_policy": "sequential"
},
"action": "close"
}
请注意,这会在关闭 JSON 编辑器时发出警告。