繁体   English   中英

IBM Watson Conversation和IBM Cloud Functions:参数的用户输入

[英]IBM Watson Conversation & IBM Cloud Functions : User Input For Parameters

我已经在IBM Cloud Functions中创建了一个函数,但是如何从用户输入中实现参数呢?

我想做的是

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

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"
    }
  }

我在IBM Cloud文档中编写完整的教程 ,其中包含IBM Cloud Functions和后端数据库。 该代码在GitHub的以下存储库中提供: https : //github.com/IBM-Cloud/slack-chatbot-database-watson/

这是工作空间文件中的相关部分,显示了如何将参数传递到函数中:

{
      "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": {}
      },

稍后,例如以这种方式显示结果:

"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') ?>"
      },

当然,可以通过迭代结果来完成一些更高级的格式化。 这里有一些技巧 该代码还显示了如何使用子节点来处理结果并清除上下文变量。

要获取参数(在您的情况下为产品名称或类型),则需要访问输入字符串并在“ product”之后找到零件。 另一种方法是使用针对此类情况设计的beta功能“ 上下文实体 ”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM