本頁面說明 AI 應用程式的進階自動完成功能。
與基本自動完成功能相同,進階自動完成功能會根據查詢輸入的前幾個字元,產生查詢建議。
閱讀本頁面之前,請先熟悉 AI 應用程式的基本自動完成功能。請參閱「設定自動完成功能」。
進階自動完成功能的主要特色
進階自動完成功能與基本自動完成功能的主要差異如下:
混合搜尋:進階自動完成功能可搭配混合搜尋應用程式使用,這些應用程式是連結至多個資料儲存庫的自訂搜尋應用程式。
存取權控管:進階自動完成功能會遵循存取權控管。(存取控制也稱為 ACL,即存取控制清單)。進階自動完成功能只會建議與搜尋者可存取的文件相關的搜尋查詢。如要瞭解存取權控管,請參閱「使用資料來源存取權控管」。
- 語言加強功能:進階自動完成功能可設定為加強一或多種語言的建議。舉例來說,如果瀏覽器語言為荷蘭文,系統就會強化該語言的自動完成建議。詳情請參閱「傳送含有語言加強功能的自動完成要求」。
- 近期查詢:使用者可以透過進階自動完成功能,取得與輸入字母前置字元相符的近期查詢,而非一般自動完成查詢建議。詳情請參閱「傳送自動完成要求並傳回最近的查詢」。
事前準備
開始使用進階自動完成功能前,請先完成下列步驟:
查看並視需要編輯應用程式的自動完成設定。請參閱「更新自動完成設定」。
如果是較小的資料儲存庫,請將「啟用自動完成功能」設為「現在」。我們建議採用這種做法,因為小型資料儲存庫可能不含足夠的資料,無法提供準確的建議。
如果您的資料儲存庫含有任何個人識別資訊 (PII),或是您使用搜尋記錄或使用者事件查詢建議模型,請參閱防止 PII 外洩,並設定可能需要的資料遺失防護 (DLP) 安全防護措施,以防範 PII 外洩。
傳送自動完成要求
以下說明如何使用 completionConfig.completeQuery
方法傳送進階自動完成要求。
REST
如要使用 API 傳送自動完成要求,請按照下列步驟操作:
找出應用程式 ID。如果您已取得應用程式 ID,請直接跳到下一個步驟。
前往 Google Cloud 控制台的「AI Applications」頁面。
在「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/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING" }'
更改下列內容:
PROJECT_ID
: Google Cloud 專案的 ID。APP_ID
:Vertex AI Search 應用程式的 ID。QUERY_STRING
:用於擷取建議的 typeahead 輸入內容。
傳送含有語言加強功能的自動完成要求
您可以根據語言代碼提升或隱藏自動完成建議,例如讓某些語言的自動完成建議出現的機率高或低。
增強值必須介於 -1 和 1 之間。設定負數會「埋藏」該語言的自動完成建議,而設定正數則會提升該語言。
使用 BCP 47 定義的兩個字母語言標記,例如 en
、fr
、hi
和 zh
。
REST
如要傳送包含語言加權值的自動完成要求,請按照下列步驟操作:
找出應用程式 ID。如果您已取得應用程式 ID,請直接跳到下一個步驟。
前往 Google Cloud 控制台的「AI Applications」頁面。
在「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/v1beta/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
: Google Cloud 專案的 ID。APP_ID
:Vertex AI Search 應用程式的 ID。QUERY_STRING
:用於擷取建議的預測輸入內容。LANG_CODE
:一或多種語言的雙字母代碼,以經過轉義的引號表示。例如\"fr\", \"es\"
,將加權值套用至西班牙文和法文。BOOST_VALUE
:介於 -1 和 1 之間的浮點數。如果值為負值,系統會降級該語言的自動建議 (在建議清單中顯示在較下方)。如果值為正值,系統就會提升建議內容 (在清單中顯示在較前的位置)。
傳送自動完成要求並傳回近期查詢
傳回使用者最近的查詢清單,這些查詢的開頭與要求中的查詢相符,做為建議。
系統會依照時間順序列出相符的查詢建議。如要使用近期搜尋功能,必須提供使用者虛擬 ID。
範例
員工正在查詢公司內部網站,瞭解休假相關資訊。這名員工執行了以下查詢,按時間排序如下:
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 periods
How much vacation time do I have?
Vacation policy
Covering a vacant position during absences
程序
如要傳送自動完成要求,以便傳回使用者的最新查詢,請按照下列步驟操作:
REST
找出應用程式 ID。如果您已取得應用程式 ID,請直接跳到下一個步驟。
前往 Google Cloud 控制台的「AI Applications」頁面。
在「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/v1beta/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
: Google Cloud 專案的 ID。APP_ID
:Vertex AI Search 應用程式的 ID。QUERY_STRING
:用於擷取建議的預測輸入內容。USER_PSEUDO_ID
:使用者的化名 ID。您可以使用 HTTP Cookie 填入這個欄位,這樣系統就能唯一識別單一裝置上的訪客。請勿為多位使用者將這個欄位設為相同的 ID。這樣就能合併查詢記錄。請勿在這個欄位中加入個人識別資訊 (PII)。
使用自動完成拒絕清單
您可以使用拒絕清單,避免自動完成建議顯示特定字詞。
雖然進階自動完成功能位於應用程式層級,但拒絕清單位於資料儲存庫層級。如果您的應用程式是混合搜尋應用程式,這點就很重要。請為連結至應用程式的每個資料儲存庫建立拒絕清單。
如要瞭解如何建立及使用拒絕清單,請參閱「使用自動完成拒絕清單」。
使用匯入的自動完成建議清單
您可以選擇提供自己的自動完成建議清單,而非使用自動完成資料模型產生的自動完成建議。
如要瞭解如何匯入清單,請參閱「使用匯入的自動完成建議清單」。