設定進階自動完成功能

本頁面說明 Gemini Enterprise 的進階自動完成功能。

與基本自動完成功能相同,進階自動完成功能會根據輸入的前幾個字元,產生查詢建議。

閱讀本頁面前,請先熟悉 Gemini Enterprise 的基本自動完成功能。請參閱「設定自動完成功能」。

進階自動完成的主要功能

進階自動完成與基本自動完成的主要差異如下:

  • 混合搜尋:進階自動完成功能可用於連結多個資料儲存庫的應用程式。

  • 存取控管:進階自動完成功能會遵循存取控管機制。(存取控管也稱為 ACL,即存取控管清單)。進階自動完成功能只會建議與搜尋者有權存取的文件相關的搜尋查詢。如要瞭解存取控管,請參閱「身分和權限」。

  • 語言強化:進階自動完成功能可設定為強化一或多種語言的建議。舉例來說,如果瀏覽器語言是荷蘭文,系統可能會優先顯示該語言的自動完成建議。詳情請參閱「傳送自動完成要求並提高語言分數」。
  • 不同類型的建議:使用進階自動完成功能時,您可以指定要顯示不同類型的建議,而非一般的自動完成查詢建議:

事前準備

開始使用進階自動完成功能前,請先完成下列步驟:

  • 查看並視需要編輯應用程式的自動完成設定。請參閱「更新自動完成設定」。

  • 如果資料儲存庫較小,請將「啟用自動完成」設為「立即」。建議您這麼做,因為小型資料儲存庫可能沒有足夠的資料,無法提供準確的建議。

  • 如果資料儲存庫含有任何個人識別資訊 (PII),或您使用搜尋記錄或使用者事件查詢建議模型,請參閱「防範 PII 外洩」,並設定可能需要的資料遺失防護 (DLP) 安全措施,防止 PII 外洩。

  • 如果您打算使用近期搜尋建議 (RECENT_SEARCH),請務必記錄搜尋使用者事件。使用 SearchService.Search 方法執行搜尋時,Gemini Enterprise 不會自動填入近期搜尋索引。如要傳回近期查詢,您必須使用 userEvents.write 方法記錄搜尋使用者事件。請參閱「近期查詢的事前準備」一節。

傳送自動完成要求

以下說明如何使用 completionConfig.completeQuery 方法傳送進階自動完成要求。

REST

如要使用 API 傳送自動完成要求,請按照下列步驟操作:

  1. 找出應用程式 ID。如果您已有應用程式 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

      前往「應用程式」

    2. 在「Apps」(應用程式) 頁面中,找出應用程式名稱,然後從「ID」欄取得應用程式 ID。

  2. 呼叫 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

如要傳送包含語言提升值的自動完成要求,請按照下列步驟操作:

  1. 找出應用程式 ID。如果您已有應用程式 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

      前往「應用程式」

    2. 在「Apps」(應用程式) 頁面中,找出應用程式名稱,然後從「ID」欄取得應用程式 ID。

  2. 呼叫 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

  1. 找出應用程式 ID。如果您已有應用程式 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

      前往「應用程式」

    2. 在「Apps」(應用程式) 頁面中,找出應用程式名稱,然後從「ID」欄取得應用程式 ID。

  2. 呼叫 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:設為使用者的專屬匿名 ID
  • engine:設為引擎的資源名稱
  • 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 periods
  • How much vacation time do I have?
  • Vacation policy
  • Covering a vacant position during absences

程序

如要傳送自動完成要求,傳回使用者最近的查詢,請按照下列步驟操作:

REST

  1. 找出應用程式 ID。如果您已有應用程式 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

      前往「應用程式」

    2. 在「Apps」(應用程式) 頁面中,找出應用程式名稱,然後從「ID」欄取得應用程式 ID。

  2. 呼叫 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)。

使用自動完成拒絕清單

拒絕清單可避免自動完成建議顯示特定字詞。

雖然進階自動完成功能是在應用程式層級,但拒絕清單是在資料儲存庫層級。如果您的應用程式是混合搜尋應用程式,這項設定就很重要。請為連結至應用程式的每個資料儲存庫建立拒絕清單。

如要瞭解如何建立及使用拒絕清單,請參閱「使用自動完成拒絕清單」。

使用匯入的自動完成建議清單

您可以選擇提供自己的自動完成建議清單,而不使用自動完成資料模型產生的自動完成建議。

如要瞭解如何匯入清單,請參閱「使用匯入的自動完成建議清單」。