使用自訂章節進行摘要

使用自訂區段生成摘要時,系統會使用 LLM 摘要客戶服務對話。模型會接收對話和自訂區段 (即定義模型執行工作的文字提示部分),然後生成摘要。

您可以選擇預先定義的章節,也可以在自訂章節中撰寫自己的摘要工作定義。

如要查看適用區域,請參閱「地區化與資料落地權」。

預先定義的區段

這項功能提供六個預先定義的區塊,您可以從中選取:

  • 情況:這是顧客需要協助或有疑問的項目。建議自訂簡要摘要。

  • 動作:定義為代理為協助顧客所採取的行動。建議自訂簡要摘要。

  • 解決方案:有四種做法。

    • Y:可以。已解決所有客戶問題和查詢。
    • P:部分。只解決了部分客戶問題和查詢。
    • N:否。客戶的問題和查詢都未解決。
    • 不適用:對話中沒有客戶提出的特定問題或查詢。
  • 顧客滿意度:選項為「不滿意」或「不滿意」。

    • D:對話結束時,顧客感到不滿或有負面情緒。
    • N:對話結束時,顧客情緒中立或正面。
  • 取消原因:如果顧客要求取消,請填寫取消原因。否則為 N/A。

  • 實體:從對話中擷取的重要實體鍵/值組合。

建立摘要生成器

控制台

如要使用 Agent Assist 控制台建立摘要產生器,請按照下列步驟操作:

  1. 前往控制台的「摘要」頁面,然後選取「生成器」。

    前往「摘要」

  2. 輸入產生器的名稱。

  3. 選取生成器的版本。

  4. 選取輸出語言。

  5. 選取「預先定義的區段」下方的區段。

  6. 在「自訂區段」下方新增區段:視需要定義新的摘要工作,並視需要新增少樣本範例來強化模型。

  7. 按一下 [儲存]。

REST

如要使用 API 建立摘要產生器,請按照下列步驟操作:

  1. 從 Generator 資源呼叫 CreateGenerator 方法。

  2. 在 description 欄位中輸入產生器名稱。

  3. 在 output_language_code 欄位中輸入生成器的輸出語言代碼。

  4. 輸入觸發事件 MANUAL_CALL。

  5. 選取預先定義的章節,並在 SummarizationContext 中加入附有少量範例的自訂章節。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:您的雲端專案 ID
  • LOCATION_ID:您的地區 ID

HTTP 方法和網址:

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"
  }
}

測試摘要生成器

在控制台中,您可以在「測試產生器」部分測試產生器,如下圖所示。

如要在控制台中測試產生器,請執行下列步驟:

控制台

  1. 對話的轉錄稿。您可以手動輸入語句,或上傳 JSON 格式的轉錄稿,如下圖所示。

  2. 按一下「生成」即可顯示摘要。

設定對話設定檔

對話設定檔會設定一組參數,用來控管對話期間向代理程式提供的建議。下列步驟會建立具有 HumanAgentAssistantConfig 物件的 ConversationProfile。

下列範例說明如何建立對話設定檔。

控制台

  1. 在 Agent Assist 控制台中,前往「Conversation profiles」頁面。

  2. 輸入顯示名稱。

  3. 選取「對話摘要 (產生器)」做為建議類型。

  4. 從清單中選取生成器的名稱。

REST

  1. 從對話設定檔資源呼叫 create 方法。

  2. 為新的對話個人資料命名。

  3. 輸入語言代碼。

  4. 在 human_agent_suggestion_config 中輸入產生器名稱。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:您的雲端專案 ID
  • LOCATION_ID:您的地區 ID
  • CONVERSATION_PROFILE_ID:對話設定檔 ID
  • GENERATOR_ID:產生器 ID

HTTP 方法和網址:

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:您的雲端專案 ID
  • LOCATION_ID:您的地區 ID
  • CONVERSATION_PROFILE_ID:建立對話設定檔時收到的 ID

HTTP 方法和網址:

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:您的雲端專案 ID
  • LOCATION_ID:您的地區 ID
  • CONVERSATION_ID:您的對話 ID

HTTP 方法和網址:

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 方法。請提供對話 ID,並在 role 欄位中輸入 HUMAN_AGENT 或 AUTOMATED_AGENT。

REST

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:您的雲端專案 ID
  • LOCATION_ID:您的地區 ID
  • CONVERSATION_ID:您的對話 ID

HTTP 方法和網址:

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。

分析訊息

分析訊息的方法有兩種:

  • 對話期間。如要為對話新增及分析代理程式訊息,請呼叫 Participant 資源上的 analyzeContent 方法。提供對話 ID 和代理程式參與者 ID。如要為對話新增及分析使用者訊息,請呼叫 Participant 資源的 analyzeContent 方法。提供對話 ID 和使用者參與者 ID。如果已為其他 Dialogflow 功能呼叫 analyzeContent 方法,請勿重複呼叫。

  • 對話結束後。如果對話期間未使用 analyzeContent 方法,可以選擇這個選項。您可以改用 messages 資源的 batchCreate 方法,擷取對話的歷來訊息。

生成摘要

您可以隨時取得任一參與者最新訊息的建議。

  • 呼叫 conversations.suggestions 資源的 suggestConversationSummary 方法。提供對話 ID 和任一參與者的最新訊息 ID。

  • 呼叫 generateStatelessSuggestion 方法。提供 ConversationContext、產生器名稱和觸發事件 (應為 MANUAL_CALL)。

REST

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:您的雲端專案 ID
  • LOCATION_ID:您的地區 ID
  • GENERATOR_ID:產生器 ID

HTTP 方法和網址:

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 方法和網址:

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"
}