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

在 Vertex AI Search 应用中进行搜索时,您可以应用相关性阈值,以便仅返回满足此阈值的文档作为结果。本页介绍了如何指定相关性阈值,以减少查询中返回的文档数量。

按文档级相关性过滤简介

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

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

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

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

  • 具有高级网站索引编制功能的网站数据
  • 自定义非结构化数据
  • 自定义结构化数据

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

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

其他类型的过滤器

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

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

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

准备工作

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

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

  1. 查找应用 ID。如果您已拥有应用 ID,请跳到下一步。

    1. 在 Google Cloud 控制台中,前往 AI Applications 页面。

      前往“应用”

    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. 测试具有不同阈值的多个查询,以确定适合您的数据和应用的最佳阈值设置。