Ibm cloud IBM沃森对话及;IBM云功能:参数的用户输入

Ibm cloud IBM沃森对话及;IBM云功能:参数的用户输入,ibm-cloud,watson-conversation,ibm-cloud-functions,Ibm Cloud,Watson Conversation,Ibm Cloud Functions,我已经在IBMCloudFunctions中创建了一个函数,但是如何实现来自用户输入的参数呢 我想做的是 例如:当用户键入“我需要产品”/“立即购买产品”/“向我展示产品”时。产品输入作为参数,并将其实现到my Cloud函数中,该函数显示所有使用产品作为关键字的产品 响应文本将从云函数返回输出(一个JSON数组)获取信息 (实体项目[?]名称) 来自IBM的布局示例: { "context": { "variable_name" : "variable_value

我已经在IBMCloudFunctions中创建了一个函数,但是如何实现来自用户输入的参数呢

我想做的是

  • 例如:当用户键入“我需要产品”/“立即购买产品”/“向我展示产品”时。产品输入作为参数,并将其实现到my Cloud函数中,该函数显示所有使用产品作为关键字的产品
  • 响应文本将从云函数返回输出(一个JSON数组)获取信息
    • (实体项目[?]名称)

来自IBM的布局示例:

{
    "context": {
      "variable_name" : "variable_value"
    },
    "actions": [
      {
        "name":"getProducts",
        "type":"client | server",
        "parameters": {
          "<parameter_name>":"<parameter_value>"
        },
        "result_variable": "<result_variable_name>",
        "credentials": "<reference_to_credentials>"
      }
    ],
    "output": {
      "text": "response text"
    }
  }
{
“背景”:{
“变量名称”:“变量值”
},
“行动”:[
{
“名称”:“getProducts”,
“类型”:“客户端|服务器”,
“参数”:{
"":""
},
“结果变量”:“”,
“凭据”:”
}
],
“产出”:{
“文本”:“响应文本”
}
}
有一个以IBM云功能和后端数据库为特色的应用程序。代码在此存储库中的GitHub上提供:

以下是中的相关部分,显示了如何将参数传递到函数中:

{
      "type": "response_condition",
      "title": null,
      "output": {
        "text": {
          "values": []
        }
      },
      "actions": [
        {
          "name": "_/slackdemo/fetchEventByShortname",
          "type": "server",
          "parameters": {
            "eventname": [
              "<? $eventName.substring(1,$eventName.length()-1) ?>"
            ]
          },
          "credentials": "$private.icfcreds",
          "result_variable": "events"
        }
      ],
      "context": {
        "private": {}
      },
{
“类型”:“响应条件”,
“标题”:空,
“产出”:{
“文本”:{
“价值”:[]
}
},
“行动”:[
{
“名称”:“\uu/slackdemo/fetchEventByShortname”,
“类型”:“服务器”,
“参数”:{
“事件名称”:[
""
]
},
“凭证”:“$private.icfcreds”,
“结果变量”:“事件”
}
],
“背景”:{
“私人”:{}
},
随后,将以如下方式显示结果:

"output": {
        "text": {
          "values": [
            "ok. Here is what I got:\n ```<? $events['result'] ?>```",
            "Data:\n ``` <? $events['data'] ?> ```"
          ],
          "selection_policy": "sequential"
        },
        "deleted": "<? context.remove('eventDateBegin') ?><? context.remove('eventDateEnd') ?> <? context.remove('queryPredicate') ?>"
      },
“输出”:{
“文本”:{
“价值观”:[
“好的。这是我得到的:\n```````”,
“数据:\n```”
],
“选择策略”:“顺序”
},
“已删除”:”
},
当然,可以通过对结果进行迭代来完成一些更奇特的格式化。代码还显示了如何使用子节点来处理结果和清除上下文变量


要获取参数(在您的情况下为产品名称或类型),您需要访问并在“product”之后查找零件。另一种方法是使用beta功能“”这是为这种情况而设计的。

现在,当产品名称被传递到参数中时,我的云功能已经提供了我需要的产品。有没有一种简单的方法可以在使用意图后立即获得用户输入?例如:(“我需要产品”/“购买产品”)意图是“我需要”或“购买”沃森对话得到的字符串就在这个意图之后?我在答案中又加了一些。