意圖會決定要解讀的使用者要求以及要採取的動作。在大多數情況下,您都會使用 Dialogflow ES 主控台來管理意圖。但在進階情況下,您可能會想使用 API 來管理意圖。本頁面說明如何使用 API 建立、列出及刪除意圖。
事前準備
閱讀本指南之前,請先完成下列工作:
- 詳閱 Dialogflow 基本概念。
- 執行設定步驟。
建立虛擬服務專員
如果您尚未建立服務帳戶,請立即建立:
- 前往 Dialogflow ES 主控台。
- 按照系統要求登入 Dialogflow 主控台。詳情請參閱 Dialogflow 主控台總覽。
- 按一下左側欄選單中的 [Create Agent] (建立代理程式)。(如果您已有其他代理程式,請按一下代理程式名稱然後捲動至底部,再按一下 [Create new agent] (建立新代理程式)。)
- 輸入代理程式的名稱、預設語言和預設時區。
- 如果您已建立專案,請輸入該項專案的資料。如要允許 Dialogflow 主控台建立專案,請選取 [Create a new Google project] (建立新 Google 專案)。
- 按一下 [Create] (建立) 按鈕。
將範例檔案匯入代理程式
本指南中的步驟會假設您的代理程式符合某些條件,因此您需要匯入為本指南準備的代理程式。匯入時,這些步驟會使用「還原」選項,覆寫所有介面設定、意圖和實體。
如要匯入檔案,請按照下列步驟操作:
-
下載
room-booking-agent.zip
檔案。 - 前往 Dialogflow ES 主控台。
- 選取所需的代理程式。
- 按一下代理程式名稱旁邊的「設定」settings 按鈕。
- 選取「Export and Import」分頁標籤。
- 選取「Restore From Zip」,然後按照操作說明還原下載的 ZIP 檔案。
使用 IntentView 傳回所有意圖資料
建立、列出或取得意圖時,系統會將意圖資料傳回給呼叫端。根據預設,系統會傳回經過簡化的資料。以下範例使用這個預設值。
如要擷取所有意圖資料,您必須將 IntentView
參數設為 INTENT_VIEW_FULL
。詳情請參閱 Intents 類型的相關方法。
建立意圖
下列範例說明如何建立意圖。詳情請參閱意圖參考資料。
REST
如要為代理程式建立意圖,請在 intent
資源上呼叫 create
方法。
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID
HTTP 方法和網址:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/intents
JSON 要求主體:
{ "displayName": "ListRooms", "priority": 500000, "webhookState": "WEBHOOK_STATE_UNSPECIFIED", "trainingPhrases": [ { "type": "EXAMPLE", "parts": [ { "text": "What rooms are available at 10am today?" } ] } ], "action": "listRooms", "messages": [ { "text": { "text": [ "Here are the available rooms:" ] } } ] }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
intents
後方的路徑區段包含了您的新意圖 ID。
Go
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
其他語言
C#:請按照用戶端程式庫頁面上的C# 設定說明操作,然後參閱 .NET 適用的 Dialogflow 參考說明文件。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明操作,然後參閱 PHP 適用的 Dialogflow 參考文件。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定說明操作,然後參閱 Ruby 適用的 Dialogflow 參考文件。
列出意圖
下列範例說明如何列出意圖。詳情請參閱意圖參考資料。
REST
如要列出代理程式的意圖,請呼叫 intents
資源上的 list
方法。
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID
HTTP 方法和網址:
GET https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/intents
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "intents": [ { "name": "projects/PROJECT_ID/agent/intents/5b290a94-55d6-4074-96f4-9c4c4879c2bb", "displayName": "ListRooms", "priority": 500000, "action": "listRooms", "messages": [ { "text": { "text": [ "Here are the available rooms:" ] } } ] }, ... ] }
intents
之後的路徑區段包含了您的意圖 ID。
Go
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
其他語言
C#:請按照用戶端程式庫頁面上的C# 設定說明操作,然後參閱 .NET 適用的 Dialogflow 參考說明文件。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明操作,然後參閱 PHP 適用的 Dialogflow 參考文件。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定說明操作,然後參閱 Ruby 適用的 Dialogflow 參考文件。
刪除意圖
下列範例說明如何刪除意圖。詳情請參閱意圖參考資料。
REST
如要刪除代理程式的意圖,請在 intents
資源上呼叫 delete
方法。
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID
- INTENT_ID:您的意圖 ID
HTTP 方法和網址:
DELETE https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/intents/INTENT_ID
如要傳送要求,請展開以下其中一個選項:
您應該會收到執行成功的狀態碼 (2xx) 和空白回應。
Go
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要向 Dialogflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
其他語言
C#:請按照用戶端程式庫頁面上的C# 設定說明操作,然後參閱 .NET 適用的 Dialogflow 參考說明文件。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明操作,然後參閱 PHP 適用的 Dialogflow 參考文件。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定說明操作,然後參閱 Ruby 適用的 Dialogflow 參考文件。