智慧回覆

智慧回覆功能會追蹤人類服務專員與使用者之間的對話,並向人類服務專員顯示建議回覆。建議回覆是由根據您對話資料訓練的自訂模型計算得出。

本文將逐步說明如何使用 API 實作智慧回覆功能,並取得建議。您也可以選擇使用 Agent Assist 控制台上傳資料、訓練模型,並在設計期間測試智慧回覆結果。如要在執行階段查看智慧回覆建議,您必須直接呼叫 API。如要瞭解如何使用 Agent Assist 主控台訓練模型及測試模型效能,請參閱智慧回覆教學課程

Agent Assist 也提供公開的對話資料,以及預先訓練的模型和允許清單。您可以運用這些資源瞭解智慧回覆的運作方式,或在上傳自己的資料前測試整合功能。詳情請參閱對話資料格式說明文件

事前準備

開始閱讀本指南前,請先完成下列步驟:

  1. 使用自己的轉錄稿資料建立對話資料集
  2. 使用對話資料集訓練智慧回覆模型

個人識別資訊和兒童資料

將資料傳送至這個 API 時,API 會嘗試遮蓋所有個人識別資訊 (PII)。如要確保模型不包含 PII,請先對資料進行清理,再傳送至 API。請使用 `REDACTED_NUMBER` 或 `REDACTED_NAME` 等預留位置取代已編輯的字詞,而不是直接移除。

此外,如果資料含有向兒童蒐集的資訊,請先移除兒童資料,再傳送至 API。

訓練及部署模型

Agent Assist 智慧回覆模型是使用對話資料集訓練而成。 對話資料集包含您上傳的轉錄稿資料。本節將逐步說明如何建立對話資料集、將對話資料上傳至資料集,以及訓練及部署模型。如果您不想直接呼叫 API,也可以使用 Agent Assist 控制台執行這些動作。

建立對話資料集

如要上傳對話轉錄稿,請先建立對話資料集,再將轉錄稿放入其中。在 ConversationDataset 資源上呼叫 create 方法,即可建立對話資料集。

回覆內容包含對話資料集 ID。

將對話轉錄稿匯入對話資料集

將即時通訊對話資料上傳至對話資料集,以便 Agent Assist 處理。請確認每段對話的轉錄稿皆為 JSON 格式,並儲存在 Cloud Storage bucket 中。 對話資料集必須包含至少 30,000 則對話,否則模型訓練會失敗。一般來說,對話越多,模型品質就越好。建議上傳至少 3 個月的對話記錄,盡可能涵蓋各種用途。對話資料集中的訊息數上限為 1,000,000 則。

ConversationDataset 資源上呼叫 importConversationData 方法,匯入對話。

必填欄位:

  • 您先前建立的對話資料集 ID。
  • inputConfig 路徑會導向 Cloud Storage bucket 中的對話轉錄稿資料。

回應是個長時間執行的作業,讓您輪詢檢查作業是否完成。

建立對話模型

ConversationModel 資源上呼叫 create 方法,即可建立對話模型。這個動作也會建立模型的允許清單

必填欄位:

  • datasets 中,使用您先前建立的對話資料集 ID 提供單一資料集。
  • smartReplyModelMetadata 設為空白物件,或填入欄位來覆寫預設值。

回應是長時間執行的作業,您可以輪詢檢查作業是否完成。完成後,作業的中繼資料會包含模型 ID 和許可清單 ID。

  • 模型 ID:name
  • 允許清單 ID:smart_reply_model_metadata.associated_allowlist_info.document

部署對話模型

ConversationModel 資源呼叫 deploy 方法,部署對話模型。

必填欄位:

  • 使用 conversationModels:輸入您先前建立的對話模型 ID。

管理許可清單

每個模型都有相關聯的許可清單,當您建立對話模型時,系統會自動建立這份清單。允許清單包含從對話資料集產生,且可在執行階段向真人服務專員顯示的所有回覆。本節說明如何建立及管理許可清單。如果您不想直接呼叫 API,也可以使用 Agent Assist 控制台執行這些動作。

將允許清單內容匯出至 CSV 檔案

建立模型時,系統會自動建立與新模型相關聯的允許清單。許可清單是具有專屬 ID 的 Document 資源。建立模型時,系統會在 smart_reply_model_metadata.associated_allowlist_info.document 中傳回 ID。如要查看及變更許可清單中的訊息,請將許可清單匯出至 Cloud Storage 值區。

Document 資源上呼叫 export 方法,將文件匯出至 Cloud Storage 值區中的 CSV 檔案。smart_messaging_partial_update 欄位為選填欄位,但會影響您日後更新這份許可清單的方式。如果設為 true,匯出的 CSV 檔案會包含一個資料欄,其中含有每則訊息的專屬 ID。您可以使用訊息 ID,只更新特定訊息,不必更新整份文件。如果 smart_messaging_partial_update 設為 false 或未設定,檔案中就不會顯示額外欄位,且更新允許清單時,必須更新整份文件。

必填欄位:

  • gcsDestination 路徑會前往 Cloud Storage 值區。

回應是個長時間執行的作業,讓您輪詢檢查作業是否完成。之後,您在要求中提供的 CSV 檔案就會填入候選回應。

查看許可清單

系統會根據對話資料,自動生成智慧回覆,並將這些回覆加入許可清單。現在可以視需要查看及更新這些回覆。從 Cloud Storage bucket 下載 CSV 檔案,根據需求編輯,然後將檔案上傳回 Cloud Storage bucket。只有允許清單中的回覆可以顯示給真人服務專員。

如果編輯建議回覆,請只修改錯別字和文法,不要改變訊息的意義。編輯後的文字與模型中的含義差異越大,該訊息就越不可能顯示。

如有需要,您也可以建立新訊息。與編輯過的訊息類似,建立的訊息在執行階段不太可能顯示。

更新許可清單

更新 CSV 檔案後,您可以使用該檔案更新 Document 資源。您可以選擇更新整個許可清單,或只更新特定訊息。如要只更新特定郵件,您必須在匯出許可清單時,將 smart_messaging_partial_update 設為 true。如果已完成這項操作,請使用匯出 CSV 檔案中自動產生的資料欄,指出要更新的訊息。

呼叫 Document 資源的 reload 方法,即可更新許可清單。如要只更新特定訊息,請在 ReloadDocumentRequest 中將 smart_messaging_partial_update 設為 true。如要更新整個許可清單,請將 smart_messaging_partial_update 設為未設定或 false

必填欄位:

  • gcsSourceCSV 檔案的 Cloud Storage 路徑。
  • 如為 name,請使用建立對話模型時產生的允許清單資源名稱。

要求範例:

{
  "name":"projects/project-id/knowledgeBases/knowledge-base-id/documents/allowlist-id",
  "gcsSource" {
      "uri": "gs://revised_smart_reply_allowlist_path"
   }
}

評估已訓練模型的成效

部署模型並為模型建立允許清單後,即可測試模型效能。您也必須提供測試資料集。系統會比較訓練完成的智慧回覆模型及其相關聯的許可清單,與測試資料集中的實際服務專員訊息。測試資料集應由實際對話資料組成,但不得包含您用來訓練模型的對話資料集中的任何資料。舉例來說,假設您有 1 個月的對話流量,可以運用 3 週的對話資料建立對話資料集,並使用剩餘 1 週的資料建立測試資料集。測試資料集至少應包含 1000 次對話,但一般而言,測試資料集中的對話越多,評估指標就越可靠。測試資料集格式與對話資料集格式相同。

如要建立新的模型評估作業,請在 ConversationModel 資源上呼叫 CreateConversationModelEvaluation 方法。這個方法會傳回長時間執行的作業。您可以輪詢作業來檢查狀態,這會傳回 INITIALIZINGRUNNINGSUCCEEDEDCANCELLEDFAILED 其中之一。

必填欄位:

  • InputDataset:用於測試模型效能的測試資料集。
  • allowlist_document:與要測試的智慧回覆模型相關聯的許可清單。

長時間執行的作業完成後,系統會傳回 ConversationModelEvaluation 資源。這項功能提供兩項指標:

  • allowlist_coverage:測試資料集中,允許清單涵蓋的客服人員訊息百分比。
  • recall:測試資料集中,代理商訊息出現在允許清單列為智慧回覆模型前 3 項建議的百分比。

設定對話設定檔

對話設定檔會設定一組參數,控制對話期間向代理程式提供的建議。下列步驟會建立含有 HumanAgentAssistantConfig 物件的 ConversationProfile。如果您不想直接呼叫 API,也可以使用 Agent Assist 控制台執行這些動作。

建立對話設定檔

如要建立對話設定檔,請在 ConversationProfile 資源上呼叫 create 方法。提供知識庫 ID、文件 ID、專案 ID 和模型 ID。

以下是 JSON 範例:
{
  "displayName":"smart_reply_assist",
  "humanAgentAssistantConfig":{
    "humanAgentSuggestionConfig":{
      "featureConfigs":[
        {
          "suggestionFeature": { "type":"SMART_REPLY" },
          "queryConfig": {
            "documentQuerySource":{
              "documents": ["projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents/DOCUMENT_ID"]
              },
                "maxResults": 3
              },
            }
          },
          "conversationModelConfig":{
            "model": "projects/PROJECT_ID/conversationModels/MODEL_ID"
          }
        }
      ]
    }
  }
}

建議您設定 SuggestionFeatureConfig.enable_inline_suggestion 值。如果這個值為 true,後續對 AnalyzeContent 的呼叫會產生含有建議清單的回應。

回覆內容會包含新的對話個人資料 ID。

如要瞭解如何設定對話設定檔、在執行階段處理對話、測試結果,以及將意見回饋傳送給 Agent Assist,請參閱生成式智慧回覆