Dialogflow es Dialogflow v2用户输入和实现

Dialogflow es Dialogflow v2用户输入和实现,dialogflow-es,fulfillment,Dialogflow Es,Fulfillment,我正在写一个Dialogflow v2聊天机器人,在谷歌上运行 我要求用户创建一个列表,然后可以选择对其进行排序 我需要从用户那里得到一些信息。她的名字,电话号码和地址 然后,我需要供应商的名称和他们的手机号码,订单将转发到那里 如果他们已经说出了自己的名字,我想给他们看,让他们确认一下。 问题是,一切都是一种意图。 例如,他们说“从我的列表中排序”。我必须向他们要一个店名,例如沃尔玛。现在的问题是,我可能没有一个实体列表中的所有供应商。如果他们只是说沃尔玛,我怎么知道这是不是一个供应商的名字。

我正在写一个Dialogflow v2聊天机器人,在谷歌上运行

我要求用户创建一个列表,然后可以选择对其进行排序

我需要从用户那里得到一些信息。她的名字,电话号码和地址

然后,我需要供应商的名称和他们的手机号码,订单将转发到那里

如果他们已经说出了自己的名字,我想给他们看,让他们确认一下。 问题是,一切都是一种意图。 例如,他们说“从我的列表中排序”。我必须向他们要一个店名,例如沃尔玛。现在的问题是,我可能没有一个实体列表中的所有供应商。如果他们只是说沃尔玛,我怎么知道这是不是一个供应商的名字。我知道我可能有跟进的意图,但不确定如果他们说的不对会发生什么

基本上,这就是我希望对话的方式

他们创建了一个我一直在工作的列表

然后他们说从列表中排序

聊天机器人询问要订购的商店名称和手机号码 Chatbot检查数据库中的名称,如果不存在,则添加该名称

询问用户的姓名、号码和地址

显示订单、供应商以及用户名和地址

将此信息传递给服务器实现挂钩


下一次,它需要感觉到它知道用户名、地址和号码,并要求用户确认。

简单来说,您需要依赖上下文和webhook来验证商店名称

  • 如果商店无效,(与输入相同),礼貌地要求用户提供正确的商店名称
  • 在中维护一个计数器,以跟踪错误尝试的次数
  • 错误时增加计数器,正确时复位
  • 如果计数器达到3或4,请礼貌地回复您无法向该供应商提供服务,并请他们稍后试用该应用程序

如果此助手应用程序基于美国,您可能还需要添加事务API以显示最终订单并向用户确认。交易API目前在美国可用,请记住这一点。

谢谢您的回复。你能举个更具体的例子吗?很遗憾,我的名单上没有商店名称。存储可以是新存储,因此它可能不在实体列表中。所以我不能真正验证它,也不能使用插槽填充。我确实知道事务API,但谢谢。问题还在于,如果用户说Veggie Reggie,我可能不知道这是一家商店。那么我应该说商店和商店名称吗?这是我唯一能确保她输入商店名称的方法。此外,我使用MySQL存储用户的查询和数据,因此可能不需要参数。您可能需要手动更新数据库中的商店名称以及您支持的商店实体中的商店名称。该列表之外的商店应由用户以单独的流程一起输入,或者您可以要求用户尝试使用不同的商店,因为您不支持当前的商店。