知識輔助篩選器

篩選器可縮小搜尋範圍,確保知識輔助生成器產生實用建議。在 Datastore 中篩選文件,指定生成式知識輔助 (GKA)主動式生成式知識輔助 (PGKA) 參照的文件類別。自訂生成內容的安全篩選器,確保 PGKA 建議盡可能符合您的業務需求,並將負面影響降到最低。

文件篩選器

使用 SearchConfig 篩選 GKA 和 PGKA 的知識輔助文件。

步驟 1:使用中繼資料設定 Datastore

匯入中繼資料,為 GKA 和 PGKA 建立 Datastore。您必須以一或多個 JSONL 檔案的形式提供中繼資料,這些檔案位於用於匯入內容的上層資料夾中。

  1. 按照 Datastore 工具頁面的步驟,將 Datastore 新增至代理程式
  2. 在「AI Applications」頁面,依序點選「Data Stores」 >「+ Create Data Store」
  3. 前往「Cloud Storage」,然後按一下「選取」
  4. 按一下「檔案」,然後在 Cloud Storage 中輸入檔案路徑,或按一下「瀏覽」選取檔案。
  5. 前往「What kind of data are you importing?」(您要匯入哪種資料?),然後選取「Linked unstructured documents (JSONL with metadata)」(連結的非結構化文件 (內含中繼資料的 JSONL))
  6. 前往「資料匯入選項」,然後選取「完整」
  7. 按一下「匯入」
  8. 成功建立 Datastore 後,請查看「Documents」(文件) 資料表。表格會列出所有文件,並顯示下列詳細資料。
    • ID
    • URI 連結
    • 索引狀態
    • 動作
  9. 按一下「查看文件」,即可檢查文件的屬性。

以下是 JSONL 檔案範例。您也可以在 structData 欄位中指定中繼資料。

{ "id": "d001", "content": {"mimeType": "text/html", "uri": "gs://example-import/unstructured/first_doc.html"}, "structData": {"property0": "value0", "property1": "value1", "property2": "value2"} }
{ "id": "d002", "content": {"mimeType": "application/pdf", "uri": "gs://example-import/unstructured/second_doc.pdf"}, "structData": {"property0": "value0", "property1": "value3", "property2": "value4"} }

步驟 2:設定篩選器

如要直接將篩選條件值套用至 GKA 搜尋,請呼叫 SearchKnowledge API。您也可以在要求中套用 SearchConfig 欄位,如下所示。如需更多篩選運算式範例,請參閱 Vertex AI Search 說明文件

{
  "query": {
     "text": "test query"
  },
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "sessionId": "SESSION_ID",
  "conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
  "querySource": "AGENT_QUERY",
  "searchConfig": 
    "filterSpecs": [{
      "dataStores": ["projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"],
      "filter": "property1 : ANY(\"value1\")" 
      }]
    }
  }
}

如要在單一對話中,將篩選器值套用至所有知識搜尋查詢和建議,請使用 IngestContextReferences,並將對話 ID 附加至 SearchKnowledge 呼叫。

PGKA 文件篩選器

使用 IngestContextReferences API 或 Agent Assist 控制台中的模擬器,將 SearchConfig套用至 PGKA 呼叫。

API

呼叫 IngestContextReferences API,將 SearchConfig 套用至 PGKA 呼叫。

  1. 呼叫 CreateConversation > IngestContextReferences
  2. 這項設定會自動套用至同一對話中後續的所有 PGKA 查詢和答案建議。

以下範例說明如何使用 IngestContextReferences API。

{
  "conversation": "projects/PROJECT_ID/locations/global/conversations/CONVERSATION_ID",
  "contextReferences": {
   "gka_search_config": {
      "contextContents": [{
"content": "{ \"filterSpecs\": [{ \"dataStores\": [\"projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID\"], \"filter\": \"property1: ANY    (\\\"value1\\\")\" }] }",
        "contentFormat": "JSON"
      }],
      "updateMode": "OVERWRITE",
      "languageCode": "en-US"
    }
  }
}

控制台

  1. 前往 Agent Assist 控制台,登入並選取專案。

    前往控制台

  2. 按一下「模擬器」,然後選取對話設定檔。

  3. 依序點選「開始」 >「Inject context」

  4. 輸入「金鑰」和「內容」,然後選取下列其中一種「格式」

    • 純文字
    • JSON
  5. 按一下 [儲存]

以下是模擬器的背景資訊範例。

  • 金鑰gka_search_config
  • 「Format」(形式)JSON
  • 內容
{ "filterSpecs": [{"dataStores" : ["projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"], "filter" : "property1 : ANY(\"value1\")" }] }

安全篩選機制

Agent Assist 的生成功能內建負責任的 AI (RAI) 安全篩選器。這些篩選器可有效防止生成可能有害或不當的內容。不過,預設安全等級對某些產業來說可能過於嚴格。舉例來說,醫療保健服務供應商可能需要回覆預設篩選器封鎖的敏感健康主題相關正當查詢。如要讓生成器的行為符合業務需求和用途,您可以自訂 PGKA 功能的安全篩選器敏感度。

基本資訊

安全過濾器有兩個主要元件:

  • 要篩選的內容類別
  • 篩選器的靈敏度

RAI 類別

您可以為下列內容類別設定敏感度等級:

  • 危險內容:涉及自傷或任何非法、受管制或危險的內容。
  • 煽情露骨:含有煽情露骨或色情內容。
  • 騷擾:侮辱、威脅或辱罵他人的內容。
  • 仇恨言論:鼓吹暴力或煽動仇視具有某些特質的個人或群體。

機密等級

針對每個 RAI 類別,您可以選擇下列任一敏感度門檻:

  • BLOCK_MOST:封鎖可能屬於該類別的各種內容。
  • BLOCK_SOME:封鎖明確屬於該類別的內容。
  • BLOCK_FEW:只封鎖該類別中最嚴重的內容。
  • BLOCK_NONE:停用指定類別的所有篩選器。

預設設定

如果沒有為類別提供自訂設定,主動式生成知識輔助功能會使用下列預設敏感度等級:

  • 危險內容: BLOCK_FEW
  • 情色露骨內容: BLOCK_SOME
  • 騷擾: BLOCK_SOME
  • 仇恨言論: BLOCK_SOME

設定安全篩選機制

在對話設定檔中設定安全篩選機制。如要為一或多個 RAI 類別指定敏感度等級,請將 rai_settings 物件新增至 KNOWLEDGE_ASSIST 的特徵設定。您可以在 KNOWLEDGE_ASSIST 建議功能的 feature_configs 陣列中找到安全篩選器設定。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/conversationProfiles/PROFILE_ID",
  "human_agent_assistant_config": {
    "human_agent_suggestion_config": {
      "feature_configs": [
        {
          "suggestion_feature": {
            "type": "KNOWLEDGE_ASSIST"
          },
          "rai_settings": {
            "rai_category_configs": [
              {
                "category": "DANGEROUS_CONTENT",
                "sensitivity_level": "BLOCK_FEW"
              },
              {
                "category": "HARASSMENT",
                "sensitivity_level": "BLOCK_MOST"
              }
            ]
          }
        }
      ]
    }
  }
}

設定範例

以下範例說明如何根據業務需求,提高或降低單一類別的敏感度。

範例 1:允許敏感的醫療保健查詢

身為醫療服務提供者,您希望確保系統不會封鎖有關敏感心理健康主題的查詢。如要降低危險內容類別的敏感度,請按照下列步驟操作。

"rai_settings": {
  "rai_category_configs": [
    {
      "category": "DANGEROUS_CONTENT",
      "sensitivity_level": "BLOCK_NONE"
    }
  ]
}

啟用這項設定後,主動式生成知識輔助功能就更有可能處理「自殺的警訊有哪些?」這類查詢,並提供實用回覆。

示例 2:提高嚴格程度

如果商家想對騷擾行為採取更嚴格的防範措施,可以提高該類別的敏感度,其他類別則維持預設等級,如下所示。

"rai_settings": {
  "rai_category_configs": [
    {
      "category": "HARASSMENT",
      "sensitivity_level": "BLOCK_MOST"
    }
  ]
}