使用 Webhook 進行運算單元填充

如果 Dialogflow 代理程式在執行階段比對出相符的意圖,則會繼續向使用者收集資訊,直到使用者為每個必要參數提供資料為止。這個過程稱為「運算單元填充」

根據預設,Dialogflow 會在向使用者收集到所有必要資料後,才傳送執行要求 Webhook 要求。

如果啟用使用 Webhook 進行運算單元填充功能,Dialogflow 會在運算單元填充期間,針對每個對話輪次傳送執行要求 Webhook 要求。

雖然在大多數情況下,參數提示訊息就足以收集所有必要參數,但如果您使用填入型別的 webhook,就能在收集參數時定義更具體的介面邏輯。舉例來說,您的 webhook 可以處理後續問題的自訂設定,或設定無法從使用者回應 (例如資料庫) 擷取的參數位置。

為運算單元填充啟用 Webhook

如要在設計階段啟用 Webhook 以便運算單元填充,請按照下列步驟操作:

  1. 前往 Dialogflow ES 主控台
  2. 選取代理程式。
  3. 選取左側欄選單中的 [Intents] (意圖)
  4. 選取一個意圖。
  5. 向下捲動至「Fulfillment」部分。
  6. 開啟「Enable webhook call for slot filling」
  7. 按一下 [儲存]

在執行階段處理運算單元填充呼叫的 webhook

您的 Webhook 服務收到的 Webhook 要求訊息含有 queryResult.parameters 欄位。這個欄位包含目前由使用者提供的參數組合。尚未收集的值會設為空白字串。

如需設定參數的 webhook 回應訊息範例,請參閱Webhook 回應範例