この入門ガイドでは、API を直接呼び出して Virtual Agent Assist 機能を有効にする手順について説明します。Virtual Agent Assist アシスタントは会話を追跡し、Dialogflow 仮想エージェントを使用して人間のエージェントにワークフローのサポートを提供し、データ分析のインテントを検出します。
必要に応じて、 Agent Assist コンソール を使用してモデルをトレーニングし、シミュレータを使用してパフォーマンスをテストできます。手順については、Virtual Agent Assist コンソールのチュートリアル をご覧ください。
始める前に
Virtual Agent Assist を有効にするには、仮想エージェントで使用する Agent Assist 機能を 1 つ以上実装しておく必要があります。スマート リプライ、FAQ アシスト、記事の候補、スマート作成は、Virtual Agent Assist と単独で使用することも、組み合わせて使用することもできます。実装の詳細については、次のリンクから関連ドキュメントをご覧ください。
会話を作成する
エンドユーザーと人間または仮想エージェントとのダイアログが開始されると、会話が作成されます。 候補を表示するには、エンドユーザーの参加者と人間のエージェントの参加者を両方とも作成して、会話に加える必要があります 。以下のセクションでは、このプロセスについて詳しく説明します。
まず、会話を作成する必要があります。
REST
会話を作成するには、create メソッドを
Conversation
リソースで呼び出します。
リクエストのデータを使用する前に、 次のように置き換えます。
- PROJECT_ID: クラウド プロジェクト ID
- LOCATION_ID: 地域 ID
- CONVERSATION_PROFILE_ID: 会話プロファイルの作成時に受け取った ID
HTTP メソッドと URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations
リクエストの本文(JSON):
{
"conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
"lifecycleState": "IN_PROGRESS",
"conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
"startTime": "2018-11-05T21:05:45.622Z"
}
conversations の後のパスセグメントには、新しい会話 ID が含まれます。
Python
Agent Assist への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
エンドユーザーの参加者を作成する
候補を表示するには、エンドユーザーと人間のエージェントの両方の参加者を会話に追加する必要があります。まず、エンドユーザーを会話の参加者に追加します。
REST
エンドユーザーの参加者を作成するには、
create メソッドを
Participant
リソースで呼び出します。
リクエストのデータを使用する前に、 次のように置き換えます。
- PROJECT_ID: クラウド プロジェクト ID
- LOCATION_ID: 地域 ID
- CONVERSATION_ID: 会話 ID
HTTP メソッドと URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
リクエストの本文(JSON):
{
"role": "END_USER",
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
"role": "END_USER"
}
participants の後のパスセグメントには、新しいエンドユーザー参加者 ID が含まれます。
Python
Agent Assist への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
人間のエージェントの参加者を作成する
人間のエージェントの参加者を会話に追加します。
REST
人間のエージェントの参加者を作成するには、
create メソッドを
Participant
リソースで呼び出します。
リクエストのデータを使用する前に、 次のように置き換えます。
- PROJECT_ID: クラウド プロジェクト ID
- LOCATION_ID: 地域 ID
- CONVERSATION_ID: 会話 ID
HTTP メソッドと URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
リクエストの本文(JSON):
{
"role": "HUMAN_AGENT",
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
"role": "HUMAN_AGENT"
}
participants の後のパスセグメントには、新しい人間のエージェントの参加者 ID が含まれます。
Python
Agent Assist への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
エンドユーザーからのメッセージを追加して提案を取得する
エンドユーザー メッセージを会話に追加して分析するには、
analyzeContent
メソッドを
Participant
リソースで呼び出します。レスポンスには、次のデータを含む dialogflowAssistAnswers フィールドが含まれます。
fulfillmentText: 推奨されるレスポンスが含まれます。この候補を人間のエージェントに提示するようにシステムを構成できます。answer record: 候補の一意の ID。
候補を選択する
人間のエージェントは、候補を受け取ったときに、そのまま受け入れることも、編集してからエンドユーザーに渡すこともできます。候補を選択するには、人間のエージェントの参加者を使用して
analyzeContent
を再度呼び出します。suggestionInput
フィールドを選択した設定に設定し、以前に受け取った answer record を指定します。text override
フィールドには、エンドユーザーに送信される実際のテキストが含まれている必要があります。次に、suggestionInput
フィールドを構成する例を示します。
{
"answerRecord": "answer-record",
"textOverride": {
"text" : "Yes, there will be ponies.",
"languageCode": "en-US"
}
}
会話を完了する
会話が終わったら、API を使用して会話を完了します。
REST
会話を完了するには、complete メソッドを
conversations
リソースで呼び出します。
リクエストのデータを使用する前に、 次のように置き換えます。
- PROJECT_ID: GCP プロジェクト ID
- CONVERSATION_ID: 会話の作成時に受け取った ID
HTTP メソッドと URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/conversations/CONVERSATION_ID",
"lifecycleState": "COMPLETED",
"conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
"startTime": "2018-11-05T21:05:45.622Z",
"endTime": "2018-11-06T03:50:26.930Z"
}
Python
Agent Assist への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。