IBM Bluemix 上的 Watson 对话服务允许创建配置文件变量并将值传递给它们。在示例中,这些变量似乎总是具有“TEXT”类型(参见下面的“myVariable”)。还有其他类型可用吗?我将如何传递 JSON 对象以及如何访问对话框中的特定值?
<variables>
<var_folder name="Home">
<var name="myVariable" type="TEXT"/>
</var_folder>
</variables>
IBM Bluemix 上的 Watson 对话服务允许创建配置文件变量并将值传递给它们。在示例中,这些变量似乎总是具有“TEXT”类型(参见下面的“myVariable”)。还有其他类型可用吗?我将如何传递 JSON 对象以及如何访问对话框中的特定值?
<variables>
<var_folder name="Home">
<var name="myVariable" type="TEXT"/>
</var_folder>
</variables>
最好去看文档。
变量可以是对象 - 由许多变量组成 http://www.ibm.com/watson/developercloud/doc/dialog/reference_elements.shtml#reference_variables
变量的类型可以是 http://www.ibm.com/watson/developercloud/doc/dialog/reference_elements.shtml#reference_var
我与服务团队进行了交谈,建议使用新的 Watson Conversation 服务,因为它实际上可以传递一组name:value
对。以下是团队即时提出的示例。希望它会有所帮助。
样本:
{
"client_id": 4435,
"name_values": [
{
"name": "string",
"value": "string"
}
]
}
例如,如果要发布到名为 的上下文变量JSON_object
,则 PUT 上下文有效负载将是:
{
"client_id": 4435,
"name_values": [
{
"name": "JSON_object",
"value": "{"sample":"data"}"
}
]
}
但是,他们强烈建议在发布为上下文之前将 JSON 转换为平面 XML,因为对话框具有更多的通用性来解析 XML,使用{variable_name.xmlElementName}
.
在 API 资源管理器上找到更多信息 - https://watson-api-explorer.mybluemix.net/apis/dialog-v1#!/Profile/setProfile在PUT CONTEXT
方法下。