使用网络钩子进行槽位填充

当意图在运行时中匹配时,Dialogflow 代理会继续收集最终用户提供的信息,直到最终用户为每个必需参数提供数据。此过程称为“槽位填充”

默认情况下,Dialogflow 在从最终用户收集到所有必要数据之前不会发送 fulfillment 网络钩子请求。

如果启用了用于槽位填充的网络钩子,Dialogflow 将在槽位填充期间针对每轮对话发送一次 fulfillment 网络钩子请求。

在大多数情况下,借助参数提示就足以收集所有必需的参数;而使用网络钩子进行槽位填充,您可以在收集参数时定义更具体的代理逻辑。例如,网络钩子可以处理后续问题自定义,或设置无法从最终用户响应中检索的参数槽,例如从数据库中检索。

为槽位填充启用网络钩子

如需在设计时为槽位填充启用网络钩子,请执行以下操作:

  1. 转到 Dialogflow 控制台
  2. 选择一个代理。
  3. 在左侧边栏菜单中选择意图 (Intents)。
  4. 选择一个意图。
  5. 向下滚动到 Fulfillment 部分。
  6. 开启启用网络钩子调用进行槽位填充 (Enable webhook call for slot filling)。
  7. 点击保存 (Save)。

在运行时为槽位填充调用启用网络钩子

您的网络钩子服务收到的网络钩子请求消息包含一个 queryResult.parameters 字段。此字段包含最终用户提供的当前参数集。尚未收集的值被设置为空字符串。

如需查看设置参数的网络钩子响应消息示例,请参阅 网络钩子响应示例