Ibm cloud 在Watson Assistant中处理来自IBM云功能的多个答案
我需要在Watson Assistant对话节点中显示未知数量的按钮。按钮的数据来自IBM Cloud函数 如果我在节点中手动设置响应类型“option”应答,JSON对象如下所示:Ibm cloud 在Watson Assistant中处理来自IBM云功能的多个答案,ibm-cloud,ibm-watson,watson-assistant,ibm-cloud-functions,Ibm Cloud,Ibm Watson,Watson Assistant,Ibm Cloud Functions,我需要在Watson Assistant对话节点中显示未知数量的按钮。按钮的数据来自IBM Cloud函数 如果我在节点中手动设置响应类型“option”应答,JSON对象如下所示: { "output": { "generic": [ { "title": "Välj mötestyp", "options": [ { "label": "Rådgivning familjerätt 30 mi
{
"output": {
"generic": [
{
"title": "Välj mötestyp",
"options": [
{
"label": "Rådgivning familjerätt 30 min",
"value": {
"input": {
"text": "447472"
}
}
},
{
"label": "Rådgivning familjerätt 60 min",
"value": {
"input": {
"text": "448032"
}
}
}
],
"description": "Välj typ av möte du vill boka",
"response_type": "option",
"preference": "dropdown"
}
]
}
}
{
$context.output"
}
My cloud函数可以使用x个选项创建此JSON。但是我如何在助手中使用这些数据呢
最简单的方法是让云函数生成完整的JSON,然后输出返回的JSON,如下所示:
{
"output": {
"generic": [
{
"title": "Välj mötestyp",
"options": [
{
"label": "Rådgivning familjerätt 30 min",
"value": {
"input": {
"text": "447472"
}
}
},
{
"label": "Rådgivning familjerätt 60 min",
"value": {
"input": {
"text": "448032"
}
}
}
],
"description": "Välj typ av möte du vill boka",
"response_type": "option",
"preference": "dropdown"
}
]
}
}
{
$context.output"
}
但这是不允许的
从我的函数生成的输出对象:
[{"serviceId":447472,"serviceName":"Rådgivning Familjerätt 30 min"},{"serviceId":448032,"serviceName":"Rådgivning Familjerätt 60 min"}]
有什么建议吗?我看不到生成整个输出和选项的简单方法。你能做的是:
{
"context": {"my": [ {
"label": "First option",
"value": "one"
},
{
"label": "Second",
"value": "two" }]},
"output": {
"generic": [
{
"title": "This is a test",
"options": [{"label": "<? $my[0].label ?>",
"value": {
"input": {
"text": "my[0].value"
}
}
},{"label": "<? $my[1].label ?>", "value": {
"input": {
"text": "<? $my[1].value ?>"
}
}
}],
"response_type": "option"
}
]
}
}
{
“上下文”:{“我的”:[{
“标签”:“第一选项”,
“值”:“一”
},
{
“标签”:“第二”,
“值”:“两个”}]},
“产出”:{
“通用”:[
{
“标题”:“这是一次测试”,
“选项”:[{“标签”:”“,
“价值”:{
“输入”:{
“文本”:“我的[0]。值”
}
}
},{“标签”:“”“值”:{
“输入”:{
“文本”:”
}
}
}],
“响应类型”:“选项”
}
]
}
}
它使用选项定义了一个上下文变量,类似于选项结构。在输出中,访问标签和值,稍后修改以证明它们已被使用并且可以修改。Hi!我已经做过了,效果很好。但是如果你不知道输入的数量呢?我可以得到数组的大小,但是如何使用它来生成x个按钮?对于2个按钮,您会有一个响应,对于3个按钮,等等(假设您保持选项的合理性)。对于每个响应,您需要检查(如果数组大小==2/数组大小==3/…)Hmm。。因此,我们需要尝试一个多重响应计划。有趣。适用于几种不同的尺寸。当然是一个解决办法,但我想舒尔需要一些循环。我最好试试这个