智慧回覆功能會追蹤人類服務專員與使用者之間的對話,並向人類服務專員顯示建議回覆。系統會根據你自己的對話資料,以自訂模型計算建議回覆。
本文件將逐步說明如何使用 API 實作智慧回覆功能,並透過這項功能取得建議。如有需要,您可以使用Agent Assist 控制台上傳資料、訓練模型,並在設計期間測試智慧回覆結果。如要在執行階段查看智慧回覆建議,您必須直接呼叫 API。如要進一步瞭解如何使用 Agent Assist 主控台訓練模型及測試模型效能,請參閱 智慧回覆教學課程。
Agent Assist 也提供公開對話資料,以及預先訓練模型和許可清單。您可以使用這些資源瞭解智慧回覆的運作方式,或在上傳自己的資料前測試整合功能。詳情請參閱對話資料格式說明文件。
事前準備
開始閱讀本指南前,請先完成下列事項:
個人識別資訊和兒童資料
當您將資料傳送至此 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
。
必填欄位:
gcsSource
是CSV
檔案的 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
方法。這個方法會傳回長時間執行的作業。您可以輪詢作業,查看其狀態,系統會傳回 INITIALIZING
、RUNNING
、SUCCEEDED
、CANCELLED
或 FAILED
的其中一個值。
必填欄位:
InputDataset
:用於測試模型效能的測試資料集。allowlist_document
:與要測試的智慧回覆模型相關聯的許可清單。
長時間執行作業完成後,系統會傳回 ConversationModelEvaluation
資源。包含兩個指標:
allowlist_coverage
:測試資料集中,允許清單涵蓋的代理人訊息百分比。recall
:測試資料集中,允許清單中包含的代理訊息百分比,以及智慧回覆模型顯示的前 3 個建議。
設定對話設定檔
對話設定檔會設定一組參數,用於控制在對話期間向服務專員提供的建議。以下步驟會使用 HumanAgentAssistantConfig
物件建立 ConversationProfile
。如果您不想直接呼叫 API,也可以使用Agent Assist 控制台執行這些動作。
建立對話設定檔
如要建立對話設定檔,請在 ConversationProfile
資源上呼叫 create
方法。請提供知識庫 ID、文件 ID、專案 ID 和模型 ID。
{ "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,請參閱生成式智慧回覆。