意圖會決定系統能理解哪些使用者要求,以及要採取什麼動作。在多數情況下,您會使用 Dialogflow ES 控制台管理意圖。在進階情境中,您可以使用 API 管理意圖。本文說明如何使用 API 建立、列出及刪除意圖。
事前準備
開始前,請先完成下列步驟:
- 詳閱 Dialogflow 基本概念。
- 執行設定步驟。
建立虛擬服務專員
- 前往 Dialogflow ES 控制台。
- 如果出現提示,請登入控制台。詳情請參閱「Dialogflow 控制台總覽」。
- 在側欄選單中,展開「Loading agents」(載入代理程式)。
- 按一下「Create new agent」。
- 輸入代理名稱、預設語言和預設時區。
- 輸入現有專案。如要讓 Dialogflow 控制台建立專案,請選取「Create a new Google project」(建立新的 Google 專案)。
- 按一下「Create」(建立)。
使用 IntentView 傳回所有意圖資料
根據預設,當您建立、列出或取得意圖時,API 會傳回縮寫的意圖資料。下列範例使用這個預設值。
如要擷取所有意圖資料,請務必將 IntentView 參數設為 INTENT_VIEW_FULL。如要進一步瞭解意圖資料,請參閱意圖類型的方法。
建立意圖
以下範例說明如何建立意圖。如要進一步瞭解意圖,請參閱意圖參考資料。
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 CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要向 Dialogflow CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要向 Dialogflow CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要向 Dialogflow CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
其他語言
C#:請按照用戶端程式庫頁面上的 C# 設定操作說明完成相關步驟,然後參閱 .NET 適用的 Dialogflow CX 參考文件。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明完成相關步驟,然後參閱 PHP 適用的 Dialogflow CX 參考文件。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定操作說明完成相關步驟,然後參閱 Ruby 適用的 Dialogflow CX 參考文件。
列出意圖
以下範例說明如何列出意圖。詳情請參閱意圖參考資料。
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 CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要向 Dialogflow CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要向 Dialogflow CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要向 Dialogflow CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
其他語言
C#:請按照用戶端程式庫頁面上的 C# 設定操作說明完成相關步驟,然後參閱 .NET 適用的 Dialogflow CX 參考文件。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明完成相關步驟,然後參閱 PHP 適用的 Dialogflow CX 參考文件。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定操作說明完成相關步驟,然後參閱 Ruby 適用的 Dialogflow CX 參考文件。
刪除意圖
以下範例說明如何刪除意圖。詳情請參閱意圖參考資料。
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 CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要向 Dialogflow CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要向 Dialogflow CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要向 Dialogflow CX 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
其他語言
C#:請按照用戶端程式庫頁面上的 C# 設定操作說明完成相關步驟,然後參閱 .NET 適用的 Dialogflow CX 參考文件。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明完成相關步驟,然後參閱 PHP 適用的 Dialogflow CX 參考文件。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定操作說明完成相關步驟,然後參閱 Ruby 適用的 Dialogflow CX 參考文件。