gpt4 book ai didi

node.js - Google 上的 Dialogflow/Actions : Provide dynamic response data for link out suggestions

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:13 25 4
gpt4 key购买 nike

我尝试实现一个 Dialogflow 应用程序(Actions on Google),到目前为止效果很好。但是:有谁知道是否可以通过 node.js 定义进一步的操作参数/上下文,以便我可以以某种方式使用它们在 Dialogflow 中创建动态“链接出建议”?

详细信息:我尝试向用户请求一些参数,将它们映射到一组 url(=作为某种数据库实现),然后将结果 url 写入 json 响应。目标:在 Dialogflow 的“响应 > Google Assistant > 输入 URL”中将这些响应 URL 包含为 $url、#deeplink.url(或类似内容)。

这有可能吗?预先感谢您。

更新:我还测试了构建丰富响应的方法,但它似乎不起作用。示例:

const richResponse = app
.buildRichResponse()
.addSimpleResponse('Flight from ' + origin + ' to' + destination)
.addSuggestions("Find your flight:")
.addSuggestions("Basic Card", "List", "Carousel")
.addSuggestionLink("Search now", url);

(app 是 require('actions-on-google').DialogflowApp 的实例)

但是,他似乎在“addSimpleResponse”之后停了下来。

最佳答案

是的。您可以创建context在您的 webhook 中,并在该上下文中包含包含所需值的参数。要使用您的示例,您可以创建一个上下文“deeplink”,并在其中设置一个名为“url”的参数以及您要链接到的 URL。您可能还应该有一个“标题”参数,因为链接输出建议和基本卡除了链接之外还需要标题或网站名称。

创建上下文相当简单,但具体取决于您生成 JSON 的方式。如果您使用的是 node.js 的 actions-on-google 库,则可以使用类似的命令来创建它

var contextParameters = {
title: "Example Website!",
url: "http://example.com/"
};
app.setContext( "deeplink", 1, contextParameters );

如果您要创建 response JSON yourself ,您将拥有一个 contextOut 数组,其中包含要设置的上下文对象。 JSON 的这一部分可能看起来像

"contextOut": [
{
"name": "deeplink",
"lifespan": 1,
"parameters": {
"title": "Example Website!",
"url": "http://example.com/"
}
}
]

然后,在链接输出或基本卡的字段中,您可以将它们引用为 #deeplink.title#deeplink.url。对于链接输出,它可能看起来像这样:

enter image description here

但是,一旦您完成了实现,有时在 Webhook 中生成 VUI 和 GUI 元素会变得更容易,而不是将它们设置为 Dialogflow 构建器的一部分。如果您想要生成不同数量的卡片或轮播项目,则尤其如此。

The Actions on Google documentation提供可返回的各种 UI 元素以及用于生成每个元素的示例 JSON 和 node.js 代码。这些元素与 Dialogflow 通过 Actions on Google 响应选项卡提供的元素相同 - 只是您可以从 Webhook 生成它们。

关于node.js - Google 上的 Dialogflow/Actions : Provide dynamic response data for link out suggestions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47529985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com