カスタム セクションによる要約では、LLM を使用してカスタマー サービスの会話を要約します。モデルは、会話とカスタム セクション(モデルが実行するタスクを定義するテキスト プロンプトの一部)を取り込み、要約を生成します。
カスタム セクションで独自の要約タスク定義を記述することもできます。事前定義セクションとカスタム セクションは、ジェネレータで記述されます。
事前定義されたセクション
この機能には、次の 6 つの事前定義されたセクションがあり、選択できます。
状況。お客様がサポートを必要としている内容や、お客様から質問を受けた内容です。
Action のラッパー メッセージ。エージェントがお客様をサポートするために行うことです。
解決。次の 4 つのオプションがあります。
- Y: はい。お客様の問題とお問い合わせがすべて解決されている。
- P: 部分的。複数のお客様の問題やお問い合わせのうち、一部のみが解決されている。
- N: いいえ。お客様の問題やお問い合わせは解決していません。
- 該当なし: 会話の中でお客様から具体的な問題や質問が提起されていない。
顧客満足度。選択肢は「不満」と「不満なし」です。
- D: 会話の終了時点で、お客様が不満を感じている、またはネガティブな感情を持っている。
- N: 会話の終了時点で、お客様は中立または肯定的な感情を示している。
キャンセルの理由。お客様がキャンセルをリクエストした場合のキャンセル理由。それ以外の場合は該当なし。
エンティティ。会話から抽出された重要なエンティティの Key-Value ペア。
要約生成ツールを作成する
コンソール
エージェント アシスト コンソールを使用して要約生成ツールを作成するには、次の操作を行います。
コンソールで [要約] ページに移動し、[生成ツール] を選択します。
生成ツールの名前を入力します。
生成ツールのバージョンを選択します。
出力言語を選択します。
[事前定義されたセクション] でセクションを選択します。
[カスタム セクション] の下にセクションを追加します。必要に応じて新しい要約タスクを定義し、必要に応じて強化のための少数ショットのサンプルを追加します。
[保存] をクリックします。
REST
API を使用して要約生成ツールを作成するには、次の操作を行います。
Generator リソースから
CreateGenerator
メソッドを呼び出します。description
フィールドにジェネレータの名前を入力します。output_language_code
フィールドに、生成ツールの出力言語コードを入力します。トリガー イベント
MANUAL_CALL
を入力します。事前定義されたセクションを選択し、SummarizationContext に少数ショットの例を含むカスタム セクションを追加します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Cloud プロジェクトの ID
- LOCATION_ID: ロケーション ID
HTTP メソッドと URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/generators
リクエストの本文(JSON):
{ "parent": "projects/PROJECT_ID/locations/LOCATION_ID", "description": "test", "triggerEvent": "MANUAL_CALL", "summarizationContext": { "summarizationSections": [{ "type": "SITUATION" }, { "type": "ENTITIES" }, { "key": "custom_section", "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.", "type": "CUSTOMER_DEFINED" }], "version": "2.1", "outputLanguageCode": "en-US" } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID", "description": "test", "inferenceParameter": { "maxOutputTokens": 1024, "temperature": 0.0, "topK": 40, "topP": 0.8 }, "triggerEvent": "MANUAL_CALL", "createTime": "2024-05-11T00:28:14.790937126Z", "updateTime": "2024-05-11T01:59:15.751724150Z", "summarizationContext": { "summarizationSections": [{ "type": "SITUATION" }, { "type": "ENTITIES" }, { "key": "custom_section", "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.", "type": "CUSTOMER_DEFINED" }], "version": "2.1", "outputLanguageCode": "en-US" } }
要約生成ツールをテストする
コンソールでは、次の図に示すように、[Test generator] セクションでジェネレータをテストできます。
コンソールでジェネレータをテストする手順は次のとおりです。
コンソール
会話の文字起こし。次の図に示すように、発話を手動で入力するか、JSON 形式で文字起こしをアップロードできます。
[生成] をクリックして概要を表示します。
会話プロファイルを構成する
会話プロファイルでは、会話中にエージェントに提示される候補を制御する一連のパラメータを構成します。次の手順では、HumanAgentAssistantConfig
オブジェクトを使用して ConversationProfile
を作成します。
次のサンプルは、会話プロファイルを作成する方法を示しています。
コンソール
Agent Assist コンソールで、[会話プロファイル] ページに移動します。
表示名を入力します。
候補の種類として [会話の要約(生成ツール)] を選択します。
リストからジェネレータの名前を選択します。
REST
会話プロファイル リソースから
create
メソッドを呼び出します。新しい会話プロファイルの名前を入力します。
言語コードを入力します。
human_agent_suggestion_config に生成ツールの名前を入力します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Cloud プロジェクトの ID
- LOCATION_ID: ロケーション ID
- CONVERSATION_PROFILE_ID: 会話プロファイル ID
- GENERATOR_ID: ジェネレータ ID
HTTP メソッドと URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles
リクエストの本文(JSON):
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "conversation-profile-with-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID" } }, "languageCode": "en-US" }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "conversation-profile-with-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID" } }, "languageCode": "en-US" }
シミュレータで確認する
会話プロファイルは Agent Assist シミュレータで確認できます。
ランタイムでの会話
実行時に、ユーザーとエージェントとの間でダイアログが開始されると、会話が作成されます。これは、エージェント(人間または仮想)とサポートの顧客またはユーザーとのやり取りです。候補を表示するには、ユーザー参加者とエージェント参加者の両方を作成して、会話に追加します。
会話を作成する
会話を作成するには、Conversation
リソースの create
メソッドを呼び出します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Cloud プロジェクトの 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 が含まれます。
ユーザー参加者を作成する
ユーザー参加者を作成するには、Participant
リソースの create
メソッドを呼び出します。role
フィールドに会話 ID と END_USER
を指定します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Cloud プロジェクトの 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 が含まれます。
エージェント参加者を作成する
Participant
リソースで create
メソッドを呼び出します。role
フィールドに会話 ID と HUMAN_AGENT
または AUTOMATED_AGENT
を指定します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Cloud プロジェクトの 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 が含まれます。
メッセージを分析する
メッセージを分析する方法は 2 つあります。
会話中。会話のエージェント メッセージを追加して分析するには、
Participant
リソースのanalyzeContent
メソッドを呼び出します。会話 ID とエージェント参加者 ID を指定します。会話のユーザー メッセージを追加して分析するには、Participant
リソースのanalyzeContent
メソッドを呼び出します。会話 ID とユーザー参加者 ID を指定します。analyzeContent
メソッドが他の Dialogflow 機能で呼び出された場合は、analyzeContent
メソッドを重複して呼び出さないでください。会話の終了後。このオプションは、会話中に
analyzeContent
メソッドを使用しない場合に使用できます。代わりに、messages
リソースのbatchCreate
メソッドを使用して、会話の過去のメッセージを取り込むことができます。
要約を生成します
どちらの参加者からの最新のメッセージも、いつでも候補として表示されます。
conversations.suggestions
リソースでsuggestConversationSummary
メソッドを呼び出します。会話 ID といずれかの参加者の最新のメッセージ ID を指定します。generateStatelessSuggestion
メソッドを呼び出します。ConversationContext
、ジェネレータ名、トリガー イベント(MANUAL_CALL
)を指定します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Cloud プロジェクトの ID
- LOCATION_ID: ロケーション ID
- GENERATOR_ID: 生成ツール ID
HTTP メソッドと URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/statelessSuggestion:generate
リクエストの本文(JSON):
{ "parent": "projects/PROJECT_ID/locations/LOCATION_ID", "generatorName": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID", "conversationContext" { "messageEntries": [{ "role": "HUMAN_AGENT", "text": "Hi, this is ABC messaging, how can I help you today?", "languageCode": "en-US" }, { "role": "END_USER", "text": "I want to return my order, it is broken", "languageCode": "en-US" }] }, "triggerEvents": [ "MANUAL_CALL" ] }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "generatorSuggestion": { "summarySuggestion": { "summarySections": [ { "section": "situation", "summary": "customer wants to return an order." }, { "section": "resolution", "summary": "N" } ] } } }
レスポンスには概要が含まれます。
会話を完了する
会話を完了するには、conversations
リソースの complete
メソッドを呼び出します。会話 ID を指定します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- 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" }