Dialogflow CX-添加批量实体并查询它们



我是Dialogflow CX的新手,在阅读了它的node.js文档后(我是一名jr开发人员(,我仍在努力解决下面的问题。

问题:我需要我的聊天机器人来接收这样一个问题:"你有2017年或更新的丰田卡罗拉(汽车!(黑色,里程不到20000英里,售价低于15000美元吗?">

背景:我有一个数据库,里面有所有可用的汽车品牌、型号、年份、版本、里程、颜色和价格。问题是,我甚至不能(很抱歉这看起来很愚蠢(启动机器人,我知道在启动它之后,我需要通过代码创建无数个实体(不能手动完成(,这样机器人才能读取用户问题的所有汽车参数。然后,在读取这些参数(实体(后,机器人应该查询我的数据库,以检查这些特定卡罗拉的可用性,然后给出正确的答案。

问:如果你能帮助我启动Dialogflow CX机器人,将所有汽车品牌、型号、年份、版本、颜色和价格作为实体加载到其中,然后给出用户需要的答案,我将不胜感激。

我已经检查了GitHub快速启动并多次阅读了文档,但仍然非常困惑。

在Dialogflow CX的一些基础知识方面,您似乎遇到了一些不同的问题。让我们试着把它们清理干净。

如何启动Dialogflow CX bot

目前还不清楚你到底是什么意思。

Dialogflow CX本身并不是一个机器人客户端。相反,它提供了与代理通信的各种方式的集成。这可能包括电话集成、基于网络的聊天系统和API,以便您可以与Slack等其他客户端集成。

您的Dialogflow CX代理本身是使用谷歌的云服务设置的,可以支持其中一个或多个集成。

如何通过代码创建无数实体

目前还不清楚为什么你需要创建无数个它们,更不用说通过代码本身了。

您可能希望为品牌/模型组合创建一个自定义实体类型。它可能应该有别名,这样人们就可以说";Ford Explorer";或者仅仅是";Explorer";并将其解析为相同类型。

如果你真的想使用API来实现这一点,你可以使用EntityType.create来实现。这指向REST文档,但根据你想要使用的语言,可能有一个库可以处理它。

但是,其他一些类型可以使用系统实体类型(如@sys.color或数字类型(来处理。你没有理由创造这些。

但是,如果有人要求一个无效的组合,会发生什么

然后你需要告诉他们它是无效的。就像有人当面和你说话,要求一些没有意义的东西。

它将如何检查数据库以获得良好的响应

您需要将此数据库调用作为创建的webhook的一部分来实现业务逻辑。

最新更新