本頁說明 Gemini Enterprise 的進階自動完成功能。
與基本自動完成功能相同,進階自動完成功能會根據查詢輸入的前幾個字元,產生查詢建議。
閱讀本頁內容前,請先熟悉 Gemini Enterprise 的基本自動完成功能。請參閱「設定自動完成功能」。
進階自動完成的主要功能
進階自動完成與基本自動完成的主要差異如下:
混合搜尋:如果應用程式連結至多個資料儲存庫,即可使用進階自動完成功能。
存取權控管:進階自動完成功能會遵守存取權控管。(存取控管也稱為 ACL 或存取控管清單)。進階自動完成功能只會建議與搜尋者可存取文件相關的搜尋查詢。如要瞭解存取控管,請參閱「身分和權限」。
- 語言提升:進階自動完成功能可設定為提升一或多種語言的建議。舉例來說,如果瀏覽器語言是荷蘭文,系統可能會優先顯示該語言的自動完成建議。詳情請參閱「傳送自動完成要求並提升語言」。
不同類型的建議:使用進階自動完成功能時,您可以指定要顯示不同類型的建議,而非一般的自動完成查詢建議:
豐富建議:使用者輸入字母時,系統會提供自動完成建議,並顯示文件標題開頭與輸入內容相符的資訊。詳情請參閱「傳送自動完成要求並傳回豐富建議」。
近期查詢:使用者輸入字母時,系統會提供近期查詢做為自動完成建議,這些查詢的前置字元會與使用者輸入的字母相符。詳情請參閱「傳送自動完成要求並傳回近期查詢」。
事前準備
開始使用進階自動完成功能前,請先完成下列步驟:
查看並視需要編輯應用程式的自動完成設定。請參閱「更新自動完成設定」。
如果是較小的資料儲存庫,請將「啟用自動完成」設為「立即」。建議您這麼做,因為小型資料儲存庫可能沒有足夠的資料,無法提供準確的建議。
如果資料存放區含有任何個人識別資訊 (PII),或是使用搜尋記錄或使用者事件查詢建議模型,請參閱「防範 PII 外洩」,並設定可能需要的資料遺失防護 (DLP) 安全措施,防止 PII 外洩。
如果您打算使用近期搜尋建議 (
RECENT_SEARCH),請務必記錄搜尋使用者事件。使用SearchService.Search方法執行搜尋時,Gemini Enterprise 不會自動填入近期搜尋索引。如要傳回近期查詢,您必須使用userEvents.write方法記錄搜尋使用者事件。請參閱「近期查詢的事前準備」。
傳送自動完成要求
以下說明如何使用 completionConfig.completeQuery 方法傳送進階自動完成要求。
REST
如要使用 API 傳送自動完成要求,請按照下列步驟操作:
找出應用程式 ID。如果您已有應用程式 ID,請跳到下一個步驟。
前往 Google Cloud 控制台的「Gemini Enterprise」頁面。
在「Apps」(應用程式) 頁面中,找出應用程式名稱,然後從「ID」欄取得應用程式 ID。
呼叫
completionConfig.completeQuery方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING" }'更改下列內容:
PROJECT_ID:專案 ID。APP_ID:應用程式 ID。QUERY_STRING:用於擷取建議的自動完成輸入內容。
傳送自動完成要求,並提高特定語言的權重
您可以根據語言代碼提升或隱藏自動完成建議,例如提高或降低某些語言的自動完成建議顯示機率。
增幅值必須介於 -1 和 1 之間。設定負數會「埋沒」該語言的自動完成建議,正數則會提升該語言的建議。
請使用 BCP 47 定義的雙字母語言標記,例如 en、fr、hi 和 zh。
REST
如要傳送包含語言提升值的自動完成要求,請按照下列步驟操作:
找出應用程式 ID。如果已有應用程式 ID,請跳到下一個步驟。
前往 Google Cloud 控制台的「Gemini Enterprise」頁面。
在「應用程式」頁面中找出應用程式名稱,然後從「ID」欄取得應用程式的 ID。
呼叫
completionConfig.completeQuery方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING", "boostSpec": { "conditionBoostSpecs": [{ "condition": "(langCode: ANY(LANG_CODE))", "boost": BOOST_VALUE }] } }'更改下列內容:
PROJECT_ID:專案 ID。APP_ID:應用程式 ID。QUERY_STRING:用於擷取建議的自動完成輸入內容。LANG_CODE:一或多種語言的雙字母代碼,以逸出引號括住。例如,\"fr\", \"es\"可將升幅值套用至西班牙文和法文。BOOST_VALUE:介於 -1 和 1 之間的浮點數。如果值為負數,系統會降低該語言自動建議的排名 (在建議清單中顯示的位置較低)。如果值為正數,系統會優先顯示建議 (在清單中顯示在較上方的位置)。
傳送自動完成要求並傳回豐富建議
如果文件標題含有以查詢字詞開頭的字詞,系統就會在豐富自動完成功能中傳回這些文件。
除了文件標題外,自動完成要求也會傳回 source_type 和 entity_type,以及主要屬性 (如有):uri、create_time 和 update_time。您可以在資料儲存庫頁面的「Schema」(結構定義) 分頁,查看及編輯重要屬性對應關係。
與所有進階自動完成建議一樣,系統會遵循 ACL 建議任何文件。
範例
員工正在查詢公司內部網路網站,尋找存取權限的技術資訊。
員工開始輸入 tec,系統可能會傳回下列文件:Data technicians handbook、Access technology guide 和 Techniques for troubleshooting access issues。
有了豐富建議,您就可以為每份建議文件顯示下列資訊:
文件標題 (
title)、文件連結 (uri)上次更新時間 (
update_time)來源 (
source_type),例如文件是在 Confluence Cloud 還是 Slack 中找到。
瞭解文件的更新時間和來源,有助於員工選擇要先查看哪份文件。
限制
豐富的自動完成功能僅適用於第三方連接器,以及這些第三方連接器的特定實體資料儲存庫。下表列出各連接器支援的實體。
| 第三方連接器 | 支援的實體 | |||
|---|---|---|---|---|
| Box | 檔案 | |||
| Confluence Cloud | 頁面 | 空格鍵 | ||
| Dropbox | 檔案 | |||
| Jira Cloud | 問題 | 空格鍵 | ||
| OneDrive | 檔案 | |||
| Salesforce | 帳戶 | 待開發客戶 | 商機 | |
| ServiceNow | 事件 | 資訊 | ||
| Sharepoint Online | 附件 | 事件 | 檔案 | 頁面 |
| Slack | 訊息 | |||
程序
如要傳送自動完成要求,傳回豐富建議,請按照下列步驟操作:
REST
找出應用程式 ID。如果您已有應用程式 ID,請跳到下一個步驟。
前往 Google Cloud 控制台的「Gemini Enterprise」頁面。
在「Apps」(應用程式) 頁面中,找出應用程式名稱,然後從「ID」欄取得應用程式 ID。
呼叫
completionConfig.completeQuery方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING", "suggestionTypes": ["CONTENT"] }'更改下列內容:
PROJECT_ID:專案 ID。APP_ID:應用程式 ID。QUERY_STRING:用於擷取建議的預測輸入。
傳送自動完成要求並傳回近期查詢
傳回使用者最近查詢的內容清單,做為建議。這些內容必須與要求中的查詢字首相符。
相符的查詢建議會依時間由新到舊排序。如要使用近期搜尋,必須提供使用者虛擬 ID。
事前準備
如要使用自動完成功能擷取最近的查詢,您必須呼叫 userEvents.write 方法,將使用者搜尋記錄為搜尋使用者事件。
如果未寫入搜尋使用者事件,則向 completionConfig.completeQuery 傳送含有 suggestionTypes: ["RECENT_SEARCH"] 的要求時,會傳回空白的建議清單 ({})。
如要記錄搜尋使用者事件,請使用下列值,將 POST 要求傳送至 userEvents.write 方法:
eventType:設為"search"userPseudoId:設為使用者的專屬匿名 IDengine:設為引擎的資源名稱searchInfo.searchQuery:設為使用者輸入的搜尋查詢字串
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/userEvents:write" \
-d '{
"eventType": "search",
"userPseudoId": "USER_PSEUDO_ID",
"engine": "projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID",
"searchInfo": {
"searchQuery": "SEARCH_QUERY"
}
}'
更改下列內容:
PROJECT_ID:專案的 ID。LOCATION:應用程式或資料儲存庫的位置 (例如global或us)。APP_ID:應用程式 ID。USER_PSEUDO_ID:使用者的匿名 ID。這必須與後續completionConfig.completeQuery要求中傳遞的userPseudoId相符。SEARCH_QUERY:使用者搜尋的查詢字串。
詳情請參閱「使用 userEvents.write 方法記錄即時使用者事件」。
範例
某位員工正在查詢公司內部網路網站,想瞭解休假相關資訊。員工已執行下列查詢 (依時間排序,從最近到最舊):
PTO、Vacation blackout periods、How much vacation time do I have?、Time
off、Vacation policy、covering a vacant position during absences和 Can I
take unpaid time off?。
現在,員工在搜尋框中輸入 vac 時,自動完成建議如下:
Vacation blackout periodsHow much vacation time do I have?Vacation policyCovering a vacant position during absences
程序
如要傳送自動完成要求,傳回使用者最近的查詢,請按照下列步驟操作:
REST
找出應用程式 ID。如果您已有應用程式 ID,請跳到下一個步驟。
前往 Google Cloud 控制台的「Gemini Enterprise」頁面。
在「應用程式」頁面中找出應用程式名稱,然後從「ID」欄取得應用程式的 ID。
呼叫
completionConfig.completeQuery方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING", "suggestionTypes": ["RECENT_SEARCH"], "userPseudoId": "USER_PSEUDO_ID" }'更改下列內容:
PROJECT_ID:專案 ID。APP_ID:應用程式 ID。QUERY_STRING:用於擷取建議的自動完成輸入內容。USER_PSEUDO_ID:使用者的匿名 ID。您可以在這個欄位中使用 HTTP Cookie,明確識別單一裝置上的訪客。請勿為多位使用者將這個欄位設為相同 ID。這會合併查詢記錄。請勿在這個欄位中輸入個人識別資訊 (PII)。
使用自動完成拒絕清單
拒絕清單可避免自動完成建議顯示特定字詞。
雖然進階自動完成功能是在應用程式層級,但拒絕清單是在資料儲存庫層級。如果您的應用程式是混合搜尋應用程式,這項設定就很重要。請為連結至應用程式的每個資料儲存庫建立拒絕清單。
如要瞭解如何建立及使用拒絕清單,請參閱「使用自動完成拒絕清單」。
使用匯入的自動完成建議清單
您可以選擇提供自己的自動完成建議清單,而不使用自動完成資料模型產生的自動完成建議。
如要瞭解如何匯入清單,請參閱「使用匯入的自動完成建議清單」。