![](/img/trans.png)
[英]IBM Watson Assistant: Retrieve a specific conversation via IBM Cloud Functions
[英]IBM Watson Conversation & IBM Cloud Functions : User Input For Parameters
我已经在IBM Cloud Functions中创建了一个函数,但是如何从用户输入中实现参数呢?
我想做的是
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.