如何使用实现代码在 Dialogflow 中设置 agent.parameters?
How to set agent.parameters in Dialogflow using fulfillment code?
我想在 DialogFlow 中使用我的实现代码设置 agent.parameters,但我无法做到。
我正在使用:
agent.parameters.product=query;
查询是:
var query=request.body.queryResult.queryText;
如何通过编码设置我的产品参数?
agent.parameters
字段是只读的。它提供 Dialogflow 根据该 Intent 的训练短语和参数确定的参数。
如果您需要查询文本 - 只需使用查询文本即可。
也许您正在尝试设置上下文的参数?
更新 以回答您评论中的问题
更改请求体是否可以更改参数?
如果您在创建 WebhookClient
之前更改它们,那么可能。但是不要那样做。
同样,不清楚为什么要在参数中设置它而不只是以某种方式使用查询值。
如何添加非系统定义的参数?
编写代码来填充参数首先违背了意图检测的目的,因此仍然不清楚您这样做的目的。
我只有一个Intent
通常,可以通过对话中的多个 Intent 收集信息,每个 Intent 都带有附加了实体类型的参数。这些实体可能是自定义类型,也可能是更自由的形式。
无论如何 - 只有欢迎意图是出乎意料的,并且不清楚为什么你的机器人框架需要这个,或者你为什么这样做。
如何使用输出上下文更改参数?
在典型的 Dialogflow 对话中,您可以创建 Output Contexts 具有一些(可能很长)生命周期并为其设置参数。这些参数也是由当前的Intent参数设置的,所以你需要确保它们不冲突。
然而,关于上下文的好处是,您从一个 Intent 处理程序设置为输出上下文的内容将作为下一个 Intent 中的输入上下文发送回给您(直到 Lifespan 达到 0)。因此,您可以使用参数来存储您需要跨多个 Intent 使用的信息。
但是...我不知道这在您的设置中如何工作,每次都会调用 Welcome Intent,因为 bot 框架需要实际重新发送作为会话一部分的上下文。
agent.parameters.product=query;
查询是:
var query=request.body.queryResult.queryText;
如何通过编码设置我的产品参数?
agent.parameters
字段是只读的。它提供 Dialogflow 根据该 Intent 的训练短语和参数确定的参数。
如果您需要查询文本 - 只需使用查询文本即可。
也许您正在尝试设置上下文的参数?
更新 以回答您评论中的问题
更改请求体是否可以更改参数?
如果您在创建 WebhookClient
之前更改它们,那么可能。但是不要那样做。
同样,不清楚为什么要在参数中设置它而不只是以某种方式使用查询值。
如何添加非系统定义的参数?
编写代码来填充参数首先违背了意图检测的目的,因此仍然不清楚您这样做的目的。
我只有一个Intent
通常,可以通过对话中的多个 Intent 收集信息,每个 Intent 都带有附加了实体类型的参数。这些实体可能是自定义类型,也可能是更自由的形式。
无论如何 - 只有欢迎意图是出乎意料的,并且不清楚为什么你的机器人框架需要这个,或者你为什么这样做。
如何使用输出上下文更改参数?
在典型的 Dialogflow 对话中,您可以创建 Output Contexts 具有一些(可能很长)生命周期并为其设置参数。这些参数也是由当前的Intent参数设置的,所以你需要确保它们不冲突。
然而,关于上下文的好处是,您从一个 Intent 处理程序设置为输出上下文的内容将作为下一个 Intent 中的输入上下文发送回给您(直到 Lifespan 达到 0)。因此,您可以使用参数来存储您需要跨多个 Intent 使用的信息。
但是...我不知道这在您的设置中如何工作,每次都会调用 Welcome Intent,因为 bot 框架需要实际重新发送作为会话一部分的上下文。