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

Dialogflow CX - Add bulk entities and query them

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

问题:我需要我的聊天机器人收到这样的问题:“你们有不到 20,000 英里的黑色 Toyota Corollas(汽车!),2017 年或更新且售价低于 15,000 美元吗?”

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

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

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

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

如何启动 Dialogflow CX 机器人?

从这里不清楚你的意思。

Dialogflow CX 本身不是机器人客户端。相反,它为 integrations 提供了多种与您的代理沟通的方式。这可能包括电话集成、基于 Web 的聊天系统和 API 以便您可以与其他客户端(例如 Slack)集成。

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

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

尚不清楚为什么需要创建无数个,更不用说通过代码本身了。

您可能希望为 make/model 组合创建一个 custom entity type。它可能应该有别名,这样人们就可以说“Ford Explorer”或只是“Explorer”并将其解析为相同的类型。

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

但是,其他一些类型可以用 system entity types 处理,例如 @sys.color 或数字类型。您没有理由创建这些。

但是如果有人要求的组合无效怎么办?

然后你需要告诉他们这是无效的。就像有人当面和你谈话并提出一些没有意义的问题。

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

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