知识辅助过滤条件

过滤条件可帮助您缩小搜索范围,并确保知识辅助生成器生成有用的建议。过滤 Datastore 中的文档,以指定要在生成式知识辅助 (GKA)主动生成式知识辅助 (PGKA) 中引用的文档类别。自定义生成内容的安全过滤器,确保 PGKA 建议最大限度地满足您的业务需求,同时最大限度地减少负面影响。

文档过滤条件

使用 SearchConfig 过滤 GKA 和 PGKA 的知识辅助文档。

第 1 步:使用元数据设置 Datastore

导入元数据,为 GKA 和 PGKA 创建 Datastore。您必须以一个或多个 JSONL 文件的形式提供元数据,这些文件位于用于导入的内容的更高级别文件夹中。

  1. 按照“Datastore 工具”页面上的步骤向代理添加 Datastore
  2. AI Applications 页面上,依次点击数据存储区 > + 创建数据存储区
  3. 前往 Cloud Storage,然后点击选择
  4. 点击文件,然后输入 Cloud Storage 中文件的路径,或点击浏览以选择文件。
  5. 前往您要导入哪种数据?,然后选择链接的非结构化文档(包含元数据的 JSONL)
  6. 前往数据导入选项,然后选择完整
  7. 点击导入
  8. 成功创建 Datastore 后,查看“文档”表。下表列出了您的每份文档,并包含以下详细信息。
    • 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. 依次点击开始 > 注入上下文

  4. 输入密钥内容,然后选择以下格式之一。

    • 纯文本
    • JSON
  5. 点击保存

以下是模拟器的上下文示例。

  • gka_search_config
  • 格式JSON
  • 内容
{ "filterSpecs": [{"dataStores" : ["projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"], "filter" : "property1 : ANY(\"value1\")" }] }

安全过滤器

Agent Assist 中的生成式功能内置了 Responsible AI (RAI) 安全过滤条件。这些过滤器对于防止生成可能有害或不当的内容至关重要。不过,默认安全级别对于某些行业来说可能过于严格。例如,医疗服务提供方可能需要回答有关敏感健康主题的合法查询,但默认过滤器会屏蔽这些查询。为了使生成器的行为与您的业务需求和应用场景保持一致,您可以自定义 PGKA 功能的安全过滤器的敏感度。

基础知识

安全过滤器的两个关键组成部分:

  • 用于过滤的内容类别
  • 过滤条件的敏感度级别

RAI 类别

您可以为以下内容类别设置敏感度级别:

  • 危险内容:涉及自残或任何非法、受管制或危险的内容。
  • 露骨色情内容:露骨色情内容或包含淫秽内容的内容。
  • 骚扰:侮辱性、恐吓性或辱骂性内容。
  • 仇恨言论:基于某些特征宣扬针对特定个体或群体的暴力或仇恨行为的内容。

敏感度级别

对于每个 RAI 类别,您可以选择以下敏感度阈值之一:

  • BLOCK_MOST:屏蔽可能属于相应类别的各种内容。
  • BLOCK_SOME:屏蔽明确标识为属于相应类别的内容。
  • BLOCK_FEW:仅屏蔽该类别中最严重的内容。
  • BLOCK_NONE:针对指定类别停用所有过滤器。

默认设置

如果您未为某个类别提供自定义配置,主动生成式知识辅助功能会使用以下默认敏感度级别:

  • 危险内容BLOCK_FEW
  • 露骨色情BLOCK_SOME
  • 骚扰BLOCK_SOME
  • 仇恨言论BLOCK_SOME

配置安全过滤器

在对话配置文件中配置安全过滤器。您可以向 KNOWLEDGE_ASSIST 的功能配置中添加 rai_settings 对象,从而为一种或多种 RAI 类别指定敏感度级别。您可以在 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"
    }
  ]
}