我希望在我的项目中实现 IBM Watson Conversation,但我无法理解的一件事是,如何将它与实时搜索集成。示例 我想为我的客户提供酒店搜索服务,我想从对话中提取城市、日期、客人数量等实体,并针对我现有的数据库进行搜索。有没有办法实现它?或者我应该使用任何服务来提取实体。
1 回答
可用于此特定用例的预期工作流程将是:
a) 使用 Waston Conversation 提取进行数据库搜索所需的所有信息 - 城市、数据、数字等...您可以通过使用对话向用户提出问题并将答案存储在一些context
变量。
b) 当您收集数据库搜索所需的所有内容时,您将执行数据库搜索,但不是在 Watson Conversation 中,而是在您的客户端应用程序中。因此,Watson Conversation 将返回一个答案,您在某处(通常在context
现场)指出现在是 Watson Conversation 希望客户端应用程序执行一些 DB API 调用的时间。通常,您使用 JavaScript 或 Node.js 实现一些与 Watson Conversation API 通信的网页。在此应用程序中,当 watson 对话以 JSON 格式返回响应时,您可以解析此 JSON 查找您的自定义字段,context
该字段表示应搜索的内容。然后,您使用一些 JS 或 Node.js API 对您的数据库进行数据库搜索,当得到答案时,您可以将答案的相关部分存储回context
字段到一些自定义变量,例如dbresponse
- 这可以在 Watson Conversation 中使用。
底线:目前无法从 Watson 对话中进行外部 API 调用。您可以在客户端应用程序中执行这些调用,并修改context
在请求和响应中来回发送到 Watson Conversation 服务的字段,以将答案与对话流集成。