Node.js 如何在Dialogflow v1中跨多个意图(多于2个)传递值

Node.js 如何在Dialogflow v1中跨多个意图(多于2个)传递值,node.js,actions-on-google,dialogflow-es,Node.js,Actions On Google,Dialogflow Es,我正在为这个项目使用Dialogflow API v1,并使用Node.js作为我的webhook语言。目前,我能够在上下文中保存一个值,并在初始问题之后的意图中访问该值。在最初保存后,是否可以访问相同的3-4级意图值 例如,我可以访问以下方式存储的变量: 意向A->意向B 但是,我尝试访问以这种方式存储的变量: 意向A->意向B->意向C->意向D 我能够访问intent B中的值,但是,每次我访问intent C或intent D时,上下文变量都为null。是否有一种方法可以跨多个意图而不是

我正在为这个项目使用Dialogflow API v1,并使用Node.js作为我的webhook语言。目前,我能够在上下文中保存一个值,并在初始问题之后的意图中访问该值。在最初保存后,是否可以访问相同的3-4级意图值

例如,我可以访问以下方式存储的变量: 意向A->意向B

但是,我尝试访问以这种方式存储的变量: 意向A->意向B->意向C->意向D

我能够访问intent B中的值,但是,每次我访问intent C或intent D时,上下文变量都为null。是否有一种方法可以跨多个意图而不是仅在Dialogflow中存储一个变量?我正在跨多个意图传递相同的上下文。

如果使用,则可以通过使用跨对话的多个步骤持久化数据

用户退出对话后,这些数据将被清除。

如果您使用,则可以通过使用跨对话的多个步骤保留数据


用户退出对话后,这些数据将被清除。

是的!处理这个问题的方法是在Intent A中,将输出上下文(我称之为context_A)设置为所需的值,并将其寿命至少设置为3。这意味着该上下文将在用户和Dialogflow之间至少存在3轮对话

当然,如果你愿意,你可以设置更长的时间。如果您将其设置得更低,您可能还希望通过在具有更大寿命值的输出上下文中重新发送来延长其寿命


如果您在例如意图B中有其他信息,您可以在上下文B中设置它,或者添加到上下文A中设置的属性中,并确保其寿命仍然足够。

是的!处理这个问题的方法是在Intent A中,将输出上下文(我称之为context_A)设置为所需的值,并将其寿命至少设置为3。这意味着该上下文将在用户和Dialogflow之间至少存在3轮对话

当然,如果你愿意,你可以设置更长的时间。如果您将其设置得更低,您可能还希望通过在具有更大寿命值的输出上下文中重新发送来延长其寿命

如果在例如意图B中有其他信息,则可以在上下文_B中设置它,或者添加到上下文_A中设置的属性中,并确保其寿命仍然足够

app.data.datum1 = "Hello";
app.data.datum2 = "world";