1

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

问题:我需要我的聊天机器人来接收问题“您是否有黑色的 Toyota Corollas(汽车!),2017 年或更新的里程少于 20,000 英里且售价低于 15,000 美元?”</p>

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

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

我已经检查了 GitHub 快速入门并多次阅读文档,但仍然很困惑。

4

1 回答 1

1

看起来您对一些 Dialogflow CX 基础知识有一些不同的问题。让我们尝试清除它们。

如何启动 Dialogflow CX 机器人?

不清楚你的意思,确切地说,从这里。

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

您的 Dialogflow CX 代理本身是使用 Google 的云服务设置的,并且可以支持这些集成中的一个或多个。

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

目前尚不清楚为什么您需要创建数以千计的它们,更不用说通过代码本身了。

您可能希望为品牌/型号组合创建自定义实体类型。它可能应该有别名,以便人们可以说“Ford Explorer”或只是“Explorer”并让它解析为相同的类型。

如果您真的想使用 API 来执行此操作,您可以使用EntityType.create来执行此操作。这指向 REST 文档,但根据您要使用的语言,可能有一个库能够处理它。

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

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

然后你需要告诉他们这是无效的。就像有人亲自与您交谈并要求一些没有意义的事情一样。

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

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

于 2021-04-25T15:42:48.577 回答