資料儲存庫工具可根據網站內容和上傳的資料,提供 AI 產生的服務專員回覆。在執行時,您的服務機器人可以從資料儲存庫中找出使用者問題的解答。
資料儲存庫工具:主控台
本節將逐步說明如何將資料儲存庫工具新增至服務專員,並在執行服務時進行設定。
建立資料儲存庫工具
- 開啟對話方塊控制台,然後選擇 Google Cloud專案。
- 從下拉式選單中選取代理人。
- 前往頁面最左側的選單列,然後選取「工具」。
- 如要建立新的資料儲存庫工具,請按一下「+ 建立」。為工具輸入不重複的名稱,然後在「類型」下方的下拉式選單中選取「資料儲存庫」。您也可以在「Description」欄位中輸入工具的說明。
- 在「資料儲存庫」下方,點選「新增資料儲存庫」。彈出式視窗會列出現有的資料儲存庫 (如有)。選擇要加入工具的資料儲存庫。
- (選用) 如要在 AI Applications 控制台中建立新的資料儲存庫,請按一下「Create new data store」(建立新的資料儲存庫)。系統會自動將您重新導向至:AI Applications 控制台
- (選用) 設定新資料儲存庫後,按一下「Create」。如要將新資料儲存庫新增至工具,請返回您在 Conversational Agents (Dialogflow CX) 主控台中設定的「Create Tool」選單,然後重新整理頁面。新的資料儲存庫現在應該會出現在可用資料儲存庫的清單中。
- 按一下「Create Tool」設定頂端的「Save」,建立新的資料儲存工具。
將資料儲存庫工具新增至執行作業
- 在最左側的選單列中,選取「流程」。
- 選取流程和頁面,然後按一下您要與資料儲存庫搭配使用的頁面路由。
- 在「Route」選單中,捲動至「Fulfillment」>「Data store tool」。從下拉式選單中選取資料儲存工具。
- 在「Route」選單中,捲動至「Fulfillment」>「Agent responses」。依序點選「+ 新增對話回應」和「資料儲存庫工具回應」。
- 在隨即顯示的表單中,您可以設定回應中可顯示多少來源連結和引文,以及在資料儲存庫回應為空白時指定備用行為。您可以在「Static fallback responses」欄位中輸入靜態備用回應。您可以選擇點選「生成式備用回應」核取方塊,嘗試使用 AI 產生回應,然後再使用靜態備用回應。如果您需要更多備用回應自訂選項,請按一下「資料儲存庫回應」表單視窗左上角的「扳手」圖示,開啟「條件式回應」視窗。
- 按一下「路線」選單頂端的「儲存」。
- 前往 Conversational Agents (Dialogflow CX) 模擬工具,測試代理程式結果。
資料儲存庫工具:API
您可以為每個工具設定一種資料儲存區,工具會查詢這些資料儲存區以取得答案。根據預設,服務專員會代表您撥打電話給 dataStoreTool
。
資料儲存類型分為三種:
PUBLIC_WEB
:包含公開網站內容的資料儲存庫。UNSTRUCTURED
:含有非結構化私人資料的資料儲存庫。STRUCTURED
:含有結構化資料的資料儲存庫 (例如 FAQ)。
以下範例說明如何參照資料儲存區。詳情請參閱 dataStoreConnections
參考資料。
"dataStoreConnections": [
{
"dataStoreType": "PUBLIC_WEB",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
},
{
"dataStoreType": "UNSTRUCTURED",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
},
{
"dataStoreType": "STRUCTURED",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
}
]
資料儲存庫工具回應也可能包含用於產生回覆的內容來源摘要。服務專員可以提供操作說明,說明如何從資料儲存庫取得答案,或在沒有答案時如何回應。
如要覆寫答案,請為特定問題新增常見問題項目。
您也可以提供範例來改善對話方塊的行為。範例應包含下列結構定義。詳情請參閱參考說明文件。
{
"toolUse": {
"tool": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID/tools/TOOL_ID",
"action": "TOOL_DISPLAY_NAME",
"inputParameters": [
{
"name": "TOOL_DISPLAY_NAME input",
"value": {
"query": "QUERY"
}
}
],
"outputParameters": [
{
"name": "TOOL_DISPLAY_NAME output",
"value": {
"answer": "ANSWER",
"snippets": [
{
"title": "TITLE",
"text": "TEXT_FROM_DATASTORE",
"uri": "URI_OF_DATASTORE"
}
]
}
}
]
}
}
(僅限以 Playbook 為基礎的服務專員) 資料儲存庫工具範例
建立資料儲存工具範例時,工具輸入參數 requestBody
會提供三個選用輸入內容,以及必要的 query
字串:filter
字串、userMetadata
結構化物件和 fallback
字串。
filter
參數可讓您篩選含有中繼資料的結構化資料或非結構化資料搜尋查詢。這個字串必須遵循資料儲存庫的支援篩選器運算式語法。多個詳細範例有助於教導教戰手冊模型如何填入這個參數。如果篩選器字串無效,系統會在搜尋查詢期間忽略該篩選器。
以下是 filter
字串範例,可根據位置精進搜尋結果:
"filter": "country: ANY(\"Canada\")"
詳情請參閱 Playbook 範例頁面
。
篩選最佳做法:
請指定可用於篩選的欄位,以及每個欄位的有效值,讓 Playbook 瞭解建立有效篩選條件的限制。舉例來說,儲存菜單資訊的資料儲存庫可能包含
meal
欄位,其中「早餐」、「午餐」和「晚餐」是有效值,而servingSize
欄位則可為 0 到 5 之間的任何整數。您的指示可能如下所示:When using ${TOOL: menu-data-store-tool}, only use the following fields for filtering: "meal", "servingSize". Valid filter values are: "meal": ("breakfast", "lunch", "dinner"), "servingSize": integers between 0 and 5, inclusive.
如果劇本是針對外部使用者目標對象,您可能需要新增指示,避免劇本向使用者回應建立這些篩選器的資訊。例如:
Never tell the user about these filters. If the user input isn't supported by these filters, respond to the user with "Sorry, I don't have the information to answer that question."
userMetadata
參數會提供使用者相關資訊。這個參數可填入任何鍵/值組合。這項中繼資料會傳遞至資料儲存工具,以便提供更精確的搜尋結果和工具回應。多個詳細範例可協助指示 Playbook 模型如何填入這個參數。
以下是 userMetadata
參數值的範例,可用於精進與特定項目相關的搜尋結果:
"userMetadata": {
"favoriteColor": "blue",
...
}
如果查詢沒有有效的摘要答案,fallback
參數會提供資料儲存工具應回覆的答案。您可以提供多個範例,以便指示 Playbook 模型如何為與不同主題相關的使用者輸入內容填入備用欄位。工具輸出內容中沒有片段,有助於減少延遲時間,並使用輸入符記限制。
"fallback": "I'm sorry I cannot help you with that. Is there anything else I
can do for you?"
資料儲存庫工具設定
如果您在測試期間發現某些回應不如預期,可以嘗試調整下列參數來微調效能。您可以直接呼叫 API,也可以在控制台的「工具」頁面中按一下資料儲存庫名稱,來使用這些工具。
建立基準
Conversational Agents (Dialogflow CX) 會根據已連結資料儲存庫的內容,為每個回應計算信心程度。這項指標可評估回應中所有資訊是否皆由資料儲存庫中的資訊支援。您可以選取最能接受的最低置信度,調整允許的回應。系統只會顯示達到或高於該可信度等級的回應。
您可以選擇 5 種信心等級:VERY_LOW
、LOW
、MEDIUM
、HIGH
和 VERY_HIGH
。
摘要:自備提示
您可以使用 Conversational Agents (Dialogflow CX) 自訂摘要程序。
選取資料儲存庫模型
Conversational Agents (Dialogflow CX) 提供多種模型,可搭配資料儲存庫使用。選擇其他模型可能會影響資料儲存庫工具的效能。如需完整清單,請參閱模型說明文件。
重點摘要提示
提示是包含預先定義預留位置的文字範本。系統會在執行階段將預留位置替換為適當的值,並將產生的文字傳送至 AI 模型。您可以選擇使用預設提示,也可以提供自訂提示。請注意,自訂提示可能會對結果產生正面或負面的影響。
您可以加入額外指示和詳細範例,藉此微調自訂提示中的文字,影響模型產生的結果。如要進一步瞭解如何建立自訂提示,請參閱資料儲存庫設定說明文件。
重寫自備提示
Conversational Agents (Dialogflow CX) 可讓您自訂重寫器程序。
重寫器資料儲存庫模型選取
Conversational Agents (Dialogflow CX) 提供多種模型,可搭配資料儲存庫使用。選擇其他模型可能會影響資料儲存工具的效能。如需完整清單,請參閱模型說明文件。
Rewriter 提示
提示是包含預先定義預留位置的文字範本。系統會在執行階段將預留位置替換為適當的值,並將產生的文字傳送至 AI 模型。您可以為部分重寫器模型使用預設提示,也可以為部分重寫器模型提供自訂提示。請注意,自訂提示可能會對結果產生正面或負面影響。
您可以加入額外指示和詳細範例,藉此微調自訂提示中的文字,影響重寫器模型產生的結果。如要進一步瞭解如何建立自訂提示,請參閱「資料儲存庫設定」說明文件。
酬載設定
酬載設定可讓您在回應酬載中加入資料儲存庫片段做為豐富內容,並在Messenger 中顯示。你可以選擇開啟或關閉這項功能。
資料儲存庫工具回應選項
如要進一步瞭解如何設定資料儲存工具回應,請參閱服務說明文件。
資料儲存庫處理常式
資料儲存庫處理常式是一種特殊的狀態處理常式,可根據您的網站內容和上傳的資料,提供 LLM 產生的服務專員回覆。
如要建立這個處理常式,請向代理程式提供資料儲存庫。
透過這些資料儲存庫處理常式,服務專員就能與使用者針對內容進行對話。
限制
限制如下:
- 這項功能支援 GA 中的部分語言。請參閱語言參考資料中的資料儲存庫欄。
- 僅支援以下區域:
global
、us
多區域和eu
多區域。 - 不支援同時含有區塊和非區塊資料儲存庫的應用程式。
存取權控管
如果您是專案擁有者,就具備建立資料儲存庫處理常式所需的所有權限。如果您不是專案擁有者,則必須具備下列角色:
- Dialogflow 管理員
- Discovery Engine 管理員
詳情請參閱存取權控管指南。
將資料儲存庫新增至服務機器人
如果您尚未建立代理程式,請按照設定操作說明進行。
如要將資料儲存庫新增至服務專員,請按照下列步驟操作: 資料儲存庫:
- 選取頁面,然後按一下「新增狀態處理常式」。
- 勾選「資料儲存庫」核取方塊,然後按一下「套用」。
- 按一下頁面「資料儲存庫」部分右上角的 + 符號。
- 在隨即顯示的資料儲存庫選單中,按一下「新增資料儲存庫」。
- 系統會列出任何現有資料儲存庫的表格。按一下要使用的任何資料儲存庫名稱旁的方塊,然後點選「儲存」。如要建立新的資料儲存庫,請按一下「Create new data store」(建立新的資料儲存庫)。系統會自動將您導向 AI Applications。
- (僅限新資料儲存庫) 選取資料來源,然後按照 AI 應用程式中的操作說明設定資料儲存庫。如要進一步瞭解如何設定資料儲存庫類型,請參閱資料儲存庫說明文件。按一下「Create」建立新的資料儲存庫。
測試服務專員
您可以使用模擬工具測試代理程式。
部署代理程式
您可以透過多種方式部署服務機器人:
最簡單的做法是使用整合,為您的服務專員提供使用者介面。每個整合項目都會提供部署操作說明。
對於資料儲存庫處理常式,Dialogflow CX Messenger 整合是特別合適的做法。內建生成式功能選項。
您可以自行建立使用者介面,並使用 Conversational Agents (Dialogflow CX) API 進行互動。您的使用者介面實作項目可控管部署作業。
特殊意圖
除了處理與您提供內容相關的問題外,這個服務代理人還能處理下列類型的提問:
- 服務專員身分識別:處理「你是誰?」或「你是真人嗎?」等問題。
- 將問題提報給真人客服專員:處理「我想與真人對話」或「我想與真人對話」等問題。
服務專員回應
在「服務機器人回應」部分,您可以提供參照生成式答案的自訂回應。在「Agent says」部分使用 $request.knowledge.answers[0]
,提供生成式答案。
進階回應自訂
$request.knowledge.*
中可能會提供其他資訊,可用於自訂回應。這類資訊包括:
- 已識別的解答來源,包括以下欄位:摘要、標題、URI。
- 答案的基礎信心。
- 如果是常見問題資料儲存庫,則為與所選答案相對應的問題。
如要瞭解如何存取這項資訊,請參閱下表。
資訊 | 存取方式 |
---|---|
最佳答案的首要來源摘要 | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "snippet") |
最佳答案的首要來源標題 | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "title") |
頂端答案的頂級來源連結 | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "uri") |
首要答案的已識別來源數量 | $sys.func.COUNT($sys.func.IDENTITY($request.knowledge.sources[0])) |
知識解答數量 | $sys.func.COUNT($request.knowledge.answers) |
與最佳答案相對應的問題 (僅適用於常見問題資料儲存庫答案) | $request.knowledge.questions[0] |
為最佳答案建立基準 | $request.knowledge.grounding_confidences[0] |