Dialogflow es 来自数据库的Dialogflow插槽验证

Dialogflow es 来自数据库的Dialogflow插槽验证,dialogflow-es,dialogflow-es-fulfillment,Dialogflow Es,Dialogflow Es Fulfillment,我想从数据库验证我的插槽 我训练机器人识别实体name,并作为参数personName 用户短语-告诉我Jhon先生的详细信息 在上面的短语中,“Jhon”将被标识为personName,现在这个参数将从数据库传递给webhook进行有效编辑 如果数据库中有多个名称为“jhon”的条目 回答将是-我发现跟随名为jhon的人- 杰汉abc jhon xyz 请告诉我你想要谁的详细资料 现在,当我在给定的一组条目中输入任何选项时, 机器人的反应是-对不起,我错过了 谈话内容如下: 用户-我想要Jho

我想从数据库验证我的插槽

我训练机器人识别实体
name
,并作为参数
personName

用户短语-告诉我Jhon先生的详细信息

在上面的短语中,“Jhon”将被标识为personName,现在这个参数将从数据库传递给webhook进行有效编辑

如果数据库中有多个名称为“jhon”的条目

回答将是-我发现跟随名为jhon的人-

  • 杰汉abc
  • jhon xyz
  • 请告诉我你想要谁的详细资料

    现在,当我在给定的一组条目中输入任何选项时, 机器人的反应是-对不起,我错过了

    谈话内容如下:

    用户-我想要Jhon先生的详细信息

    Bot-我找到了很多叫Jhon的人- 1.杰汉abc 2.Jhon xyz 3.wxz Jhon

    你想要谁的详细资料? 用户-Jhon abc

    对不起,我错过了


    我使用flask(python)进行webhook开发

    在我看来,DialogFlow没有经过培训来理解第二个问题,也许它只理解与问题1类似的内容?另一个选项是OutputContext的生命周期(在DialogFlow中设置)为1,因此在第一次回答1之后它不再可用。约翰abc 2。Jhon xyz 3。wxz Jhon是使用webhook通过履行发送的。主要问题是在第一个问题中,我只是给出了第一个名字,代理用数据库中所有匹配的名字回答我,所以第二次当我选择一个名字形式时,给出的选项与任何意图都不匹配,但之前当我用单个名字训练各自的意图时,它工作正常,现在,我不得不在一些其他意图中使用相同的实体,这就是为什么删除单名培训短语的原因。您能更新您的问题以显示您设置的意图的屏幕截图吗?“对不起,我错过了这个”表明它被回退意图抓住了,因此我们需要查看意图,您必须了解它们不匹配的原因。我建议使用列表,当用户从名称列表中进行选择时,您可以轻松地选择选项。当机器人未接受动态选项培训时,这将非常有用