在 Gemini Enterprise 应用中搜索时,您可以应用相关性阈值,以便仅返回符合此阈值的文档作为结果。本页面介绍了如何指定相关性阈值,以减少查询返回的文档数量。
关于按文档级相关性过滤
搜索查询返回的每个文档都有一个相关性级别,该级别表示返回的文档与查询的相关性。通过 API 调用发出查询时,您可以设置相关性阈值。设置较高的相关性阈值可以减少查询返回的文档数量。
例如,如果您发现搜索返回的文档太多,但与用户的相关性不足,请将相关性阈值设置为“高”,以便将结果范围缩小到最相关的少数文档。如果“高”设置过于严格,请尝试“中”设置。
支持文档级相关性过滤的数据类型和应用
文档级相关性过滤条件可以应用于具有以下类型的数据的数据存储区:
- 具有高级网站索引编制功能的网站数据
- 自定义非结构化数据
- 自定义结构化数据
文档级相关性过滤条件不适用于具有基本网站索引编制功能的数据存储区、媒体数据或医疗保健数据。
此外,文档级相关性过滤条件不能与混合搜索应用搭配使用。混合搜索应用是指连接到多个数据存储区的应用。
其他类型的过滤条件
文档级相关性过滤条件并不是过滤查询返回的数据的唯一方法。您还可以使用过滤表达式根据元数据(在具有元数据的数据存储区中的非结构化数据中)和字段值(在结构化数据存储区中)过滤结果。
如需了解相关信息,请参阅使用元数据过滤搜索结果。
如果您同时使用过滤表达式和文档级相关性过滤条件,系统会先将过滤表达式应用于结果,然后再应用文档级相关性过滤条件。
准备工作
确保您已创建应用和数据存储区,并且已将数据提取到数据存储区中。如需了解详情,请参阅创建第一方
应用。另请参阅支持
文档级相关性过滤的数据类型和应用。
按文档级相关性搜索和过滤结果
如需按相关性过滤,请按以下步骤操作:
找到您的应用 ID。如果您已拥有应用 ID,请跳到下一步。
在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。
前往应用
在应用 页面上,找到应用的名称,并从 ID 列获取应用的 ID。
如需按文档级相关性过滤搜索结果,请将 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:您的项目的 ID。
APP_ID:您要查询的应用的 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/example/docs/check-grounding",
"htmlTitle": "Check grounding | Example | Google Cloud",
"title": "Check grounding | Example | Google Cloud"
}
}
}
],
"totalSize": 1,
"attributionToken": "f_B-CgwIidzwswYQyue15gESJDY2N2M1NmJkLTAwMDAtMjk3Ni1iMGI4LTg4M2QyNGZmNTZhOCIHR0VORVJJQypAjr6dFavEii3b7Ygt3o-aIoCymiLC8J4Vo4CXIra3jC3Usp0V24-aIt7tiC3n7YgtrsSKLeTtiC2DspoixsvzFw",
"guidedSearchResult": {},
"summary": {}
}
此处,相关性阈值设置为“高”,因此仅返回最相关的结果。在此示例中,仅一个文档被确定为高度相关。
使用不同的阈值测试多个查询,以确定最适合您的数据和应用的最佳阈值设置。