按文档级相关性过滤搜索结果

在 Vertex AI Search 应用中搜索时,您可以应用相关性阈值,以便系统仅返回符合此阈值的文档。本页介绍了如何指定相关性阈值,以减少查询中返回的文档数量。

按文档级相关性过滤简介

搜索查询返回的每个文档都会获得一个相关性级别,该级别表示返回的文档与查询的相关性。通过 API 调用进行查询时,您可以设置相关性阈值。设置较高的相关性阈值可以减少查询返回的文档数量。

例如,如果您发现搜索功能返回的与用户不够相关的文档过多,可以将相关性阈值设为“高”,以便将结果范围缩小到仅包含最相关的少数文档。如果“高”设置过于严格,请尝试使用“中”设置。

文档级相关性过滤条件支持的数据类型和应用

文档级相关性过滤器可应用于包含以下类型数据的数据存储区:

  • 启用高级网站索引编制功能时的网站数据
  • 通用非结构化数据
  • 通用结构化数据

文档级相关性过滤器不适用于包含基本网站索引、媒体数据或医疗保健数据的数据存储区。

此外,文档级相关性过滤条件无法与混合搜索应用搭配使用。混合搜索应用是指与多个数据存储区关联的应用。

其他类型的过滤器

文档级相关性过滤条件并非过滤查询返回的数据的唯一方式。您还可以使用过滤表达式根据元数据(在高级网站索引和非结构化数据 [含元数据] 数据存储区中)和字段值(在结构化数据存储区中)过滤结果。

如需了解详情,请参阅以下主题:

如果您同时使用过滤表达式和文档级相关性过滤条件,系统会先对结果应用过滤表达式,然后再应用文档级相关性过滤条件。

准备工作

确保您已创建应用和数据存储区,并已将数据提取到数据存储区。如需了解详情,请参阅创建搜索应用。另请参阅支持文档级相关性过滤器的数据类型和应用

如需按相关性过滤,请按以下步骤操作:

  1. 找到您的应用 ID。如果您已经有应用 ID,请跳至下一步。

    1. 在 Google Cloud 控制台中,前往 Agent Builder 页面。

      前往“应用”

    2. 应用页面上,找到应用的名称,然后从 ID 列中获取应用的 ID。

  2. 如需按文档级相关性过滤搜索结果,请将 relevanceThreshold 字段与 engines.servingConfigs.search 方法搭配使用。

    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
    -d '{
     "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search",
    "query": "QUERY",
    "relevanceThreshold": "RELEVANCE_THRESHOLD"
    }'
    
    • PROJECT_ID:您的 Google Cloud 项目的 ID。
    • APP_ID:您要查询的 Vertex AI Search 应用的 ID。
    • QUERY:要搜索的查询文本。
    • RELEVANCE_THRESHOLD:以下各项之一:HIGHMEDIUMLOWLOWEST
  3. 使用不同的阈值测试多个查询,以确定适合您的数据和应用的最佳阈值设置。