用于槽位填充的网络钩子

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

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

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

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

为槽位填充启用网络钩子

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

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

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

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

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