node.js - Dialogflow CX - 添加批量实体并查询它们
问题描述
我是 Dialogflow CX 的新手,在阅读了它的 node.js 文档(我是一名初级开发人员)之后,我仍然在努力解决下面的问题。
问题:我需要我的聊天机器人来接收问题“您是否有黑色的 Toyota Corollas(汽车!),2017 年或更新的里程少于 20,000 英里且售价低于 15,000 美元?”</p>
上下文:我有一个包含所有汽车品牌、型号、年份、版本、里程、颜色和价格的数据库。问题是我什至不能(并且很抱歉这看起来很愚蠢)甚至启动机器人,我知道在启动它之后我需要通过代码创建无数实体(不能手动执行)所以机器人会能够读取用户提问的所有汽车参数。然后在读取这些参数(实体)之后,机器人应该查询我的数据库以检查那些特定卡罗拉的可用性,然后给出正确的答案。
问:如果您能帮助我启动 Dialogflow CX 机器人,将所有汽车品牌、型号、年份、版本、颜色和价格作为实体加载到其中,然后给出用户需要的答案,我将不胜感激。
我已经检查了 GitHub 快速入门并多次阅读文档,但仍然很困惑。
解决方案
看起来您对一些 Dialogflow CX 基础知识有一些不同的问题。让我们尝试清除它们。
如何启动 Dialogflow CX 机器人?
不清楚你的意思,确切地说,从这里。
Dialogflow CX 本身并不是机器人客户端。相反,它提供了与您的代理进行通信的各种方式的集成。这可能包括电话集成、基于 Web 的聊天系统和 API,以便您可以与 Slack 等其他客户端集成。
您的 Dialogflow CX 代理本身是使用 Google 的云服务设置的,并且可以支持这些集成中的一个或多个。
如何通过代码创建无数实体?
目前尚不清楚为什么您需要创建数以千计的它们,更不用说通过代码本身了。
您可能希望为品牌/型号组合创建自定义实体类型。它可能应该有别名,以便人们可以说“Ford Explorer”或只是“Explorer”并让它解析为相同的类型。
如果您真的想使用 API 来执行此操作,您可以使用EntityType.create来执行此操作。这指向 REST 文档,但根据您要使用的语言,可能有一个库能够处理它。
但是,可以使用系统实体类型(例如@sys.color
数字类型)来处理其他一些类型。你没有理由创造这些。
但是如果有人要求一个无效的组合会发生什么?
然后你需要告诉他们这是无效的。就像有人亲自与您交谈并要求一些没有意义的事情一样。
它将如何检查数据库以获得良好的响应?
您需要将此数据库调用作为 您为实现业务逻辑而创建的webhook的一部分。
推荐阅读
- asp.net-mvc - ASP .NET MVC 模板中缺少 bower.json 和 .bowerrc
- javascript - 基本的 reactjs,如何获取 REST 数据并渲染它
- php - php 代码覆盖率和 selenium 设置
- java - 在最终类中扩展 Comparable 泛型
- javascript - 如何根据数据集大小调整 Chart.js 高度。离子 3
- python - 打开 .csv 文件编辑一个字段,写回 .csv 文件
- android - 在 Async 类中返回字符串 onPostExecute()
- git - 从 git 克隆 repo 时的问题:错误的文件描述符和索引包失败
- python - 即使我没有登录也运行 python 脚本
- c++ - 如何检测 ofstream 是否正在写入 /dev/null