インテントは、どのユーザー リクエストを理解し、どのようなアクションを取るかを決定します。通常は、Dialogflow ES コンソールを使用してインテントを管理します。高度なシナリオでは、API を使用してインテントを管理することも考えられます。このページでは、API を使用してインテントを作成、一覧表示、削除する方法について説明します。
始める前に
このガイドを読む前に、次の手順を行ってください。
- Dialogflow の基本をご覧ください。
- 手順に沿って設定してください。
エージェントを作成する
エージェントをまだ作成していない場合は、ここで作成します。
- Dialogflow ES コンソールに移動します。
- Dialogflow コンソールにログインするよう求められたら、ログインします。詳細については、Dialogflow コンソールの概要をご覧ください。
- 左側のサイドバー メニューで [Create Agent] をクリックします。(すでに他のエージェントをお持ちの場合は、エージェント名をクリックし、一番下までスクロールして [Create new agent] をクリックします)。
- エージェント名、デフォルトの言語、デフォルトのタイムゾーンを入力します。
- すでにプロジェクトを作成している場合は、そのプロジェクトを入力します。Dialogflow コンソールでプロジェクトを作成できるようにする場合は、[Create a new Google project] を選択します。
- [Create] ボタンをクリックします。
エージェントにサンプル ファイルをインポートする
このガイドの手順でエージェントの前提条件を設定するため、このガイド用に準備されたエージェントをimportする必要があります。インポート時に、この手順では restorerestore オプションが使用されます。これにより、すべてのエージェント設定、インテント、エンティティが上書きされます。
ファイルをインポートする手順は次のとおりです。
-
room-booking-agent.zip
ファイルをダウンロードします。 - Dialogflow ES コンソールに移動します。
- エージェントを選択します。
- エージェント名の横にある設定 settings ボタンをクリックします。
- [Export and Import] タブを選択します。
- [Restore from Zip] を選択し、手順に従ってダウンロードした zip ファイルを復元します。
IntentView を使用して、すべてのインテント データを返す
インテントを作成、一覧表示、または取得すると、インテント データが呼び出し元に返されます。デフォルトでは、この返されたデータは省略形です。以下のサンプルではこのデフォルトを使用しています。
すべてのインテント データを取得するには、IntentView
パラメータを INTENT_VIEW_FULL
に設定する必要があります。詳細については、インテント タイプのメソッドを参照してください。
インテントを作成する
以下のサンプルは、インテントを作成する方法を示しています。詳細については、インテントのリファレンスをご覧ください。
エージェントのインテントを作成するには、intent
リソースの create
メソッドを呼び出します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID
HTTP メソッドと URL:
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:" ] } } ] }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dialogflow.googleapis.com/v2/projects/PROJECT_ID /agent/intents"
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dialogflow.googleapis.com/v2/projects/PROJECT_ID /agent/intents" | Select-Object -Expand Content
API Explorer(ブラウザ)
リクエスト本文をコピーして、メソッドのリファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。このツールにリクエスト本文を貼り付け、その他の必須フィールドに入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
レスポンス
{ "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 が含まれます。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Dialogflow リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Dialogflow リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Dialogflow リファレンス ドキュメントをご覧ください。
インテントの一覧表示
以下のサンプルは、インテントを一覧表示する方法を示しています。詳細については、インテントのリファレンスをご覧ください。
エージェント用にインテントを一覧表示するには、intents
リソースの list
メソッドを呼び出します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID
HTTP メソッドと URL:
GET https://dialogflow.googleapis.com/v2/projects/PROJECT_ID /agent/intents
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
"https://dialogflow.googleapis.com/v2/projects/PROJECT_ID /agent/intents"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://dialogflow.googleapis.com/v2/projects/PROJECT_ID /agent/intents" | Select-Object -Expand Content
API Explorer(ブラウザ)
メソッドのリファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
次のような 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 が含まれます。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Dialogflow リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Dialogflow リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Dialogflow リファレンス ドキュメントをご覧ください。
インテントを削除する
以下のサンプルは、インテントを削除する方法を示しています。 詳細については、インテントのリファレンスをご覧ください。
エージェントのインテントを削除するには、intents
リソースの delete
メソッドを呼び出します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID
- INTENT_ID: インテント ID
HTTP メソッドと URL:
DELETE https://dialogflow.googleapis.com/v2/projects/PROJECT_ID /agent/intents/INTENT_ID
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
"https://dialogflow.googleapis.com/v2/projects/PROJECT_ID /agent/intents/INTENT_ID "
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://dialogflow.googleapis.com/v2/projects/PROJECT_ID /agent/intents/INTENT_ID " | Select-Object -Expand Content
API Explorer(ブラウザ)
メソッドのリファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Dialogflow への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Dialogflow リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Dialogflow リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Dialogflow リファレンス ドキュメントをご覧ください。