智慧回覆

智慧回覆功能會追蹤人類服務專員與使用者之間的對話,並向人類服務專員顯示建議回覆。系統會根據你自己的對話資料,以自訂模型計算建議回覆。

本文件將逐步說明如何使用 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 值區中。對話資料集必須包含至少 30,000 次對話,否則模型訓練會失敗。一般來說,會話越多,模型品質就越好。建議您至少上傳 3 個月的對話內容,以便充分涵蓋盡可能多的用途。對話資料集的訊息數量上限為 1,000,000 則。

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

必填欄位:

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

回應是長時間執行的作業,您可以輪詢來檢查匯出作業是否完成。

建立對話模型

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 的文件資源。建立模型時,系統會在 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 值區下載 CSV 檔案,根據您的需求進行編輯,然後將檔案上傳回 Cloud Storage 值區。只有允許清單中的回覆才會顯示給真人服務專員。

如要編輯任何回覆,建議您只修改拼字和文法,不要更改訊息的意思。經編輯的文字與模型中的意思越不一致,訊息就越不容易顯示。

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

更新許可清單

更新 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,請參閱生成式智慧回覆