注意
:此功能为预览版,受 GCP 服务专用条款 的“正式发布前产品条款”约束。我们对正式发布前产品和功能的支持可能比较有限,并且对正式发布前产品和功能的更改可能与其他正式发布前版本不兼容。如需了解详情,请参阅发布阶段说明 。此外,使用此功能,即表示您同意生成式 AI 预览版条款及条件 (“预览版条款”)。对于此功能,您可以按照云端数据处理附录 中的说明处理个人数据,但受到协议中的适用限制和义务(如“预览版条款”中所定义)的约束。
在 Vertex AI Search 应用中搜索时,您可以应用相关性阈值,以便系统仅返回符合此阈值的文档。本页介绍了如何指定相关性阈值,以减少查询中返回的文档数量。
按文档级相关性过滤简介
搜索查询返回的每个文档都会获得一个相关性级别,该级别表示返回的文档与查询的相关性。通过 API 调用进行查询时,您可以设置相关性阈值。设置较高的相关性阈值可以减少查询返回的文档数量。
例如,如果您发现搜索功能返回的与用户不够相关的文档过多,可以将相关性阈值设为“高”,以便将结果范围缩小到仅包含最相关的少数文档。如果“高”设置过于严格,请尝试使用“中”设置。
文档级相关性过滤条件支持的数据类型和应用
文档级相关性过滤器可应用于包含以下类型数据的数据存储区:
启用高级网站索引编制功能时的网站数据
通用非结构化数据
通用结构化数据
文档级相关性过滤器不适用于包含基本网站索引、媒体数据或医疗保健数据的数据存储区。
此外,文档级相关性过滤条件无法与混合搜索应用搭配使用。混合搜索应用是指与多个数据存储区关联的应用。
其他类型的过滤器
文档级相关性过滤条件并非过滤查询返回的数据的唯一方式。您还可以使用过滤表达式根据元数据(在高级网站索引和非结构化数据 [含元数据] 数据存储区中)和字段值(在结构化数据存储区中)过滤结果。
如需了解详情,请参阅以下主题:
如果您同时使用过滤表达式和文档级相关性过滤条件,系统会先对结果应用过滤表达式,然后再应用文档级相关性过滤条件。
准备工作
确保您已创建应用和数据存储区,并已将数据提取到数据存储区。如需了解详情,请参阅创建搜索应用 。另请参阅支持文档级相关性过滤器的数据类型和应用 。
按文档级相关性搜索和过滤结果
如需按相关性过滤,请按以下步骤操作:
找到您的应用 ID。如果您已经有应用 ID,请跳至下一步。
在 Google Cloud 控制台中,前往 Agent Builder 页面。
前往“应用”
在应用 页面上,找到应用的名称,然后从 ID 列中获取应用的 ID。
如需按文档级相关性过滤搜索结果,请将 relevanceThreshold
字段与 engines.servingConfigs.search
方法搭配使用。
关键字 :在 Vertex AI Search 中,应用 一词在 API 上下文中可与引擎 一词互换使用。
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 :以下各项之一:HIGH
、MEDIUM
、LOW
、LOWEST
。
命令和结果示例
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "Content-Type: application/json" \
"https://discoveryengine.googleapis.com/v1alpha/projects/my-project-123/locations/global/collections/default_collection/engines/my-search-app/servingConfigs/default_search:search" \
-d '{
"servingConfig": "projects/my-project-123/locations/global/collections/default_collection/engines/my-search-app/servingConfigs/default_search",
"query": "What is the check grounding API",
"relevanceThreshold": "HIGH"
}'
{
"results": [
{
"id": "a082e70352c073a4443502477255bd2a",
"document": {
"name": "projects/123456/locations/global/collections/default_collection/dataStores/my-data-store/branches/0/documents/a082e70352c073a4443502477255bd2a",
"id": "a082e70352c073a4443502477255bd2a",
"derivedStructData": {
"displayLink": "cloud.google.com",
"link": "https://cloud.google.com/generative-ai-app-builder/docs/check-grounding",
"htmlTitle": "Check grounding | Vertex AI Agent Builder | Google Cloud",
"title": "Check grounding | Vertex AI Agent Builder | Google Cloud"
}
}
}
],
"totalSize": 1,
"attributionToken": "f_B-CgwIidzwswYQyue15gESJDY2N2M1NmJkLTAwMDAtMjk3Ni1iMGI4LTg4M2QyNGZmNTZhOCIHR0VORVJJQypAjr6dFavEii3b7Ygt3o-aIoCymiLC8J4Vo4CXIra3jC3Usp0V24-aIt7tiC3n7YgtrsSKLeTtiC2DspoixsvzFw",
"guidedSearchResult": {},
"summary": {}
}
在这里,相关性阈值设为高,因此系统只会返回相关性最高的结果。在此示例中,系统仅确定了一篇文档高度相关。
使用不同的阈值测试多个查询,以确定适合您的数据和应用的最佳阈值设置。