Dialogflow es 如何在Google Dialogflow中使用参数修改上下文

Dialogflow es 如何在Google Dialogflow中使用参数修改上下文,dialogflow-es,Dialogflow Es,我们正在运行一个实验,我需要根据参与者的ID操纵对话框流响应。我的想法是有一种方法可以根据参数值设置输出上下文 例如,我们有一个提示,要求输入参与者的id。这与带有“participantID”参数的意图相匹配。现在我要做的是将输出上下文设置为“participantID”参数的值。然后我可以将输入上下文设置为一个特定的“participantID”。在意图上设置的任何参数都将保留在输出上下文中,并在该上下文的生命周期内的后续意图中恢复 通过Dialogflow UI,您可以在初始响应中将它们引

我们正在运行一个实验,我需要根据参与者的ID操纵对话框流响应。我的想法是有一种方法可以根据参数值设置输出上下文


例如,我们有一个提示,要求输入参与者的id。这与带有“participantID”参数的意图相匹配。现在我要做的是将输出上下文设置为“participantID”参数的值。然后我可以将输入上下文设置为一个特定的“participantID”。

在意图上设置的任何参数都将保留在输出上下文中,并在该上下文的生命周期内的后续意图中恢复

通过Dialogflow UI,您可以在初始响应中将它们引用为
$

例如,假设您的参数名为id,则响应可以是:
欢迎玩家$id,

对于后续跟进意图中上下文中的值,请使用

例如,在具有参数answer和输入上下文id followup的第二次跟进中,使用
您的答案是$answer,如果您不是玩家#id-followup.id,请让我知道您的实际id

如果需要使用Fulfillment Webhook,我建议使用如图所示的结构,即:

//用户输入参与者ID(参数名称为ID)
功能应答(代理){
const id=agent.parameters.id;
add(`So your id为${id}`);
agent.add(`任何额外的问题…`);
agent.setContext({
姓名:"问题",,
寿命:5,//此上下文将保留的后续意图数量
参数:{'cid':id},
});
}
//使用参与者id作为输入上下文的下一个函数
职能负责人2(代理人){
//获取上下文并从中提取id值
const cont=agent.getContext('question');
const special_id=cont.parameters.cid;
//代码的其余部分

您可能会发现一些有用的文档包括,…

根据您使用的dialogflow实现的版本,我这里讲的是0.6.1。设置上下文的语法是:

 agent.context.set({
    name: "ctx_name",
    lifespan: 5,
    parameters: {'cid': id},
  });