上下文流和实体在对话流中不起作用

问题描述

我正在使用Google和dialogflow上的操作来构建开放式对话应用程序。我创建了一个名为“评级”的实体,该实体用于存储1到5之间的数字,以下是该实体的屏幕截图:

enter image description here

我在名为“第一”的意图中使用此实体。下面是屏幕截图:

enter image description here

我使用的第一个意图是“调查ID”。以下是调查ID意图的代码

app.intent('Survey ID',(conv,{number}) => {
    const id = number;
    if(id == 2020){
        conv.ask(qstion[0]);
    }
    else{
        conv.close('This is not a valid survey ID');
    }
});

以下是“第一”意图的代码

app.intent('First',(conv) => {
    const rating = conv.parameters.rating;
    if(type[0] === 'rating'){
        if(rating >= 1 && rating <= 5){
            senddata[0] =  qstion[0] + rating;
            conv.ask(qstion[1]);
        }
        else{
            conv.ask('Please enter a number between 1 and 5');
        }
    }

});

我还将“后备”意图用于“第一”意图。以下是后备意图的代码

app.intent('First - fallback',(conv) => {
    const userSaid = conv.query;
    conv.close(userSaid);
});

我面临的问题是,即使我输入的数字介于1到5之间,它也会进入“第一个”意图代码中的else块中,并说“请输入1到5之间的数字”。当我使用的数字不是1到5时,应该使用回退意图,但使用“调查ID”意图并说“这不是有效的调查ID”。

预期的行为是,如果我输入一个介于1到5之间的数字,它应该存储该数字并询问下一个问题,如果我说其他话,它应该转到回退意图并显示用户的响应。

作为参考,我还将给出所有三种意图的上下文:

“调查ID”上下文:

enter image description here

“第一个”上下文:

enter image description here

“第一后备”上下文:

enter image description here

有人可以帮我吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)