回應數

意圖都有內建的回應處理常式,能在意圖比對相符後傳回回應。這項功能僅支援靜態回應,但您可以在這些回應中使用參數參照以使其具有一定的動態性。如要總結使用者提供的資訊,這種做法就能派上用場。舉例來說,您的意圖回應可能如下:「Okay, I booked a room for you on $date」(好的,我幫您預訂了 $date 的會議室」。

有時,這樣就夠了。當您的程式碼需要執行某個動作或建構動態回應時,則需要使用下面其中一個回應選項。代理程式通常混合使用靜態和動態回應。

您可以提供多種類型的回應。基本的回應類型是文字回應,您也可以使用其他類型的回應 (圖片、音訊、合成語音等),其中某些回應只有特定平台才能使用。

如果您為一個意圖定義了多個回應變化版本,代理程式會隨機選擇回應。建議您新增幾個回應變化版本,讓代理程式的對話更自然流暢。

建構代理程式時,您必須為每個意圖提供回應資料。當您使用 API 或執行要求與 Dialogflow 進行互動時,從技術面來說,您可能不需要提供任何回應資料,因為這兩種方法都可以動態產生回應。不過,如果您想使用模擬工具進行測試;或是定義具有簡單回應的意圖,則必須提供回應資料。

一般來說,意圖回應應該要提示使用者提供可與其他意圖配對的表達內容。此外,回應也應該要引導他們回答特定內容。例如,「What city were you born in?」(你在哪個城市出生的?) 之類的問題比「Where were you born?」(你在哪出生的?) 這種較開放式的問題好。

這項資料的所在位置

建構代理程式時,最常見的做法是使用 Dialogflow ES 主控台 (請參閱說明文件開啟主控台)。以下操作說明重點介紹如何使用主控台。如何存取意圖回應資料:

  1. 前往 Dialogflow ES 主控台
  2. 選取代理程式。
  3. 選取左側欄選單中的 [Intents] (意圖)
  4. 選取一個意圖。
  5. 向下捲動至「Responses」(回應) 部分。

如果您要使用 API (而非主控台) 建構代理程式,請參閱意圖參照的相關說明。API 欄位名稱與主控台欄位名稱類似。下方的操作說明會明確指出主控台和 API 之間所有的重要差異。

回應平台

每則回應會定義為預設平台 (在 API 中稱為 PLATFORM_UNSPECIFIED) 或特定的整合平台。如果您並未使用整合平台,您所有的回應就可以使用預設平台。如果您使用整合平台,則每項整合都能使用專屬的回應,也可設為使用預設回應。

如要進一步瞭解平台專屬回應,請參閱「複合式回應訊息」。

建立內建回應

如何建立內建回應:

  1. 選取 [Default] (預設) 或特定平台。
  2. 如果系統尚未列出所需的回應類型 (例如文字回應),請按一下 [Add Responses] (新增回應) 並選取想要的回應類型。
  3. 輸入回應的必要資訊。
  4. 按一下 [儲存]

使用執行要求的動態回應

您可以使用執行要求建立動態回應。詳情請參閱執行要求文件

使用 API 的動態回應

您可以使用 API 建立動態回應。詳情請參閱 API 總覽

特殊字元

有些特殊字符需要在回應中逸出。

如要在回應中使用美元符號 $ 或數字符號 #,請為緊跟在符號後方的內容加上括號 {}。例如:

  • ${100} 解析為 $100
  • ${$number} 解析為 $100,其中 $number 是值為 100 的參數參照
  • #{hello} 解析為 #hello

如要在回應中使用大括號 {},請使用雙括號。例如:

  • {{hello}} 解析為 {hello}

處理空參數值

如果您的意圖具有可解析為空值的參數,則必須提供至少一個不使用該參數的回應變化版本。

舉例來說,如果您的意圖有 2 個參數 (p1p2),而且其中一個或兩個可能都是空白,則應提供至少四個回應變化版本:

  • 好的,You said $p1 and $p2. (我知道了,你說的是 $p1 和 $p2。)
  • Got it. You said $p1. (我知道了,你說的是 $p1。)
  • Got it. You said $p2. (我知道了,你說的是 $p2。)
  • 我知道了。