dialogflow-es - 用于条件块和响应的 DialogFlow CX 语法
问题描述
使用谷歌的新视觉 DialogFlow CX 构建器,我将参数传递给 Flow。模拟器显示参数已设置,我可以访问它,$session.params.anger
但想知道会话/页面/意图参数是如何设置的。
还有这些条件块的语法是什么。似乎有一些奇怪的 bash 之类的语法。这似乎是一个if/else/endif
作品并且具有基本的语法突出显示,但我只是通过反复试验发现了这一点。有这方面的任何文件吗?也许它是 ES 的一个共同特征?
https://cloud.google.com/dialogflow/cx/docs/concept/parameter
解决方案
如何为Dialogflow CX定义和设置参数有不同的方法。您可以查看以下示例以获取更多信息。
意图参数
一世。从上面的屏幕截图中可以看出,用于注释训练短语的任何参数都将从用户查询中捕获,并将由 Dialogflow 设置为 Intent 参数 ( $intent.params.parameter-name )。
ii. 通过使用参数预设
表单参数或页面参数
一世。从上面的屏幕截图中看到的任何表单/页面参数都将从用户查询中捕获,并将由 Dialogflow 设置为页面参数 ( $page.params.parameter-name )。
ii. 通过使用参数预设(例如,请参阅 1.b.ii)
iii. 通过在Webhook 响应中设置pageInfo.formInfo.parameterInfo字段
{
"pageInfo": {
"formInfo": {
"parameterInfo": {
"displayName": "geo-city",
"value": "New York",
"state": "FILLED"
}
}
}
}
会话参数
一个。在运行时设置
一世。捕获的 Intent 和 Page 参数也作为会话参数 ( $session.params.parameter-name )写入 Dialogflow 的会话。
ii. 通过使用参数预设(例如,请参阅 1.b.ii)
iii. 通过在 Webhook 响应中设置sessionInfo.parameters字段
{
"sessionInfo": {
"parameters": {
"city": "New York"
}
}
}
iv. 通过在使用 API 时在 detectIntent 请求中为 Session 类型设置queryParams.parameters请求字段(下面的示例是使用REST API 的 detectIntent)
curl \
-X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
--data "{
'queryInput': {
'text': {
'text': 'howdy'
},
'languageCode': 'en'
},
'queryParams': {
'timeZone': 'America/Los_Angeles',
'parameters': {
'displayName': 'geo-city',
'value': 'New York'
}
}
}" \
"https://dialogflow.googleapis.com/v3beta1/projects/<project-id>/locations/global/agents/<agent-id>/sessions/1234567890:detectIntent"
对于条件响应,我也尝试过这种类型的响应,以下语法对我有用:
if <condition>
<block> //response to be returned
elif <condition>
<block>
elif <condition>
<block>
else
<block>
endif
推荐阅读
- javascript - 遍历对象列表以收集信息,同时计算平均值
- c# - 是否应该为异步委托分配单独的事件?
- sql - 选择 SQL 键类型时的最佳实践
- php - Laravel add 计算值在另一个表中的总和
- python - 如果输入在 if 语句中留空,则中断
- c - 根据二维字符数组中字符串中子字符串的计数调整输出
- python - 如何在运行 Python 3.8 的 Pycharm 上安装 Pillow 7.0.0?
- php - 使用 CURL 打开多个 url - 使用带有 CURL 的 api - 太多 url 太慢
- html - 我可以根据页面宽度缩放 iframe 吗?
- ruby-on-rails - 使用 sqlite3 和 rails 测试种子数据时表中缺少列