本页介绍了 Gemini Enterprise 的高级自动补全功能。
与基本自动补全功能一样,高级自动补全功能会根据您输入的查询的前几个字符生成查询建议。
在阅读本页之前,请先熟悉 Gemini Enterprise 的基本自动补全功能。请参阅配置自动补全。
高级自动补全的主要功能
高级自动补全的主要功能(区别于基本自动补全)如下:
混合搜索: 高级自动补全功能可用于连接到多个数据存储区的应用。
访问权限控制: 高级自动补全功能会遵循访问权限控制。(访问权限控制也称为 ACL,即访问控制列表。)高级自动补全功能只会推荐与搜索者有权访问的文档相关的搜索查询。如需了解访问权限控制,请参阅 身份和权限。
- 语言提升: 您可以将高级自动补全功能设置为提升一种或多种语言的建议效果。例如,如果浏览器语言是荷兰语,则可以提升该语言的自动补全建议效果。如需了解详情,请参阅发送包含语言提升的自动补全请求。
不同类型的建议: 使用高级自动补全功能时,您可以指定需要不同类型的建议,而不是常规的自动补全查询建议:
丰富的建议: 作为自动补全建议,用户可以获得标题与他们输入的字母前缀匹配的文档的相关信息。 如需了解详情,请参阅发送自动补全请求并返回丰富的 建议。
近期查询: 作为自动补全建议,用户可以获得与他们输入的字母前缀匹配的近期查询。 如需了解详情,请参阅发送自动补全请求并返回近期 查询。
准备工作
在开始使用高级自动补全功能之前,请执行以下操作:
查看并选择性地修改应用的自动补全设置。请参阅 更新自动补全设置。
对于较小的数据存储区,请将启用自动补全 设置为立即 。我们建议您这样做,因为小型数据存储区可能没有足够的数据来提供准确的建议。
如果您的数据存储区包含任何个人身份信息 (PII),或者 您使用的是搜索记录或用户事件查询建议模型,请查看 防范 PII 泄露,并设置可能需要的数据泄露防护 (DLP) 保护措施,以防止 PII 泄露。
发送自动补全请求
下面演示了如何使用
completionConfig.completeQuery 方法发送高级自动补全请求。
REST
如需使用 API 发送自动补全请求,请按以下步骤操作:
找到应用 ID。如果您已拥有应用 ID,请跳到下一步。
在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。
在应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。
调用
completionConfig.completeQuery方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING" }'替换以下内容:
PROJECT_ID:您的项目的 ID。APP_ID:应用的 ID。QUERY_STRING:用于提取建议的预输入内容。
发送包含语言提升的自动补全请求
您可以根据语言代码提升或隐藏自动补全建议,例如,让某些语言的自动补全建议更有可能或更不可能显示。
提升值必须介于 -1 和 1 之间。设置负数会“隐藏”该语言的自动补全建议,而设置正数则会提升该语言的建议效果。
使用 BCP 47 定义的双字母语言标记,例如 en、fr、hi 和 zh。
REST
如需发送包含语言提升值的自动补全请求,请按以下步骤操作:
找到应用 ID。如果您已拥有应用 ID,请跳到下一步。
在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。
在应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。
调用
completionConfig.completeQuery方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING", "boostSpec": { "conditionBoostSpecs": [{ "condition": "(langCode: ANY(LANG_CODE))", "boost": BOOST_VALUE }] } }'替换以下内容:
PROJECT_ID:您的项目的 ID。APP_ID:应用的 ID。QUERY_STRING:用于提取建议的预输入内容。LANG_CODE:一种或多种语言的双字母代码,用转义引号括起来。例如,\"fr\", \"es\"可将 提升值应用于西班牙语和法语。BOOST_VALUE:一个介于 -1 和 1 之间的浮点数。当值为负时,该语言的自动建议会被降权(在建议列表中位置下沉)。当值为正时,建议会被提权(在列表中位置上浮)。
发送自动补全请求并返回丰富的建议
丰富的自动补全功能会返回标题中包含以查询内容开头的字词的内容(文档)。
除了文档的标题之外,自动补全请求还会返回 source_type 和 entity_type,以及关键属性(如果可用):uri、create_time 和 update_time。您可以在数据存储区页面的架构 标签页中查看和修改关键属性映射。
与所有高级自动补全建议一样,系统会遵循任何建议文档的 ACL。
示例
一位员工正在查询公司内网网站,查找有关访问权限的技术信息。
该员工开始输入 tec,系统可能会返回以下文档:
Data technicians handbook、Access technology guide 和
Techniques for troubleshooting access issues。
借助丰富的建议,您可以针对每个建议文档显示以下有关该文档的信息:
文档标题 (
title)、文档链接 (uri)上次更新时间 (
update_time)来源 (
source_type),例如,文档是在 Confluence Cloud 还是 Slack 中找到的。
了解文档的更新时间以及文档的来源有助于员工选择首先查看哪个文档。
限制
丰富的自动补全功能仅适用于第三方连接器,并且仅适用于这些第三方连接器的某些实体数据存储区。下表显示了哪些连接器支持哪些实体。
| 第三方连接器 | 支持的实体 | |||
|---|---|---|---|---|
| Box | 文件 | |||
| Confluence Cloud | 页面 | 空格 | ||
| Dropbox | 文件 | |||
| Jira Cloud | 问题 | 空格 | ||
| OneDrive | 文件 | |||
| Salesforce | 账号 | 潜在客户 | 机会 | |
| ServiceNow | 突发事件 | 知识 | ||
| SharePoint Online | 附件 | 事件 | 文件 | 页面 |
| Slack | 消息 | |||
过程
如需发送返回丰富建议的自动补全请求,请按以下步骤操作:
REST
找到应用 ID。如果您已拥有应用 ID,请跳到下一步。
在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。
在应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。
调用
completionConfig.completeQuery方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING", "suggestionTypes": ["CONTENT"] }'替换以下内容:
PROJECT_ID:您的项目的 ID。APP_ID:应用的 ID。QUERY_STRING:用于提取建议的预输入内容。
发送自动补全请求并返回近期查询
返回与请求中的查询前缀匹配的用户近期查询列表,作为建议。
匹配的查询建议会按从最新到最旧的顺序列出。如需使用近期搜索,必须提供用户伪 ID。
示例
一位员工正在查询公司内网网站,以获取有关休假的信息。该员工执行了以下查询,按从最新到最旧的顺序排列:
PTO、Vacation blackout periods、How much vacation time do I have?、Time
off、Vacation policy、covering a vacant position during absences 和 Can I
take unpaid time off?。
现在,当员工在搜索框中输入 vac 时,自动补全建议如下:
Vacation blackout periodsHow much vacation time do I have?Vacation policyCovering a vacant position during absences
过程
如需发送返回用户近期查询的自动补全请求,请按以下步骤操作:
REST
找到应用 ID。如果您已拥有应用 ID,请跳到下一步。
在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。
在应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。
调用
completionConfig.completeQuery方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING", "suggestionTypes": ["RECENT_SEARCH"], "userPseudoId": "USER_PSEUDO_ID" }'替换以下内容:
PROJECT_ID:您的项目的 ID。APP_ID:应用的 ID。QUERY_STRING:用于提取建议的预输入内容。USER_PSEUDO_ID:用户的假名标识符。您可以为此字段使用 HTTP Cookie,该 Cookie 可唯一标识单个设备上的访问者。请勿为多个用户将此字段设置为相同的标识符。这样做会合并他们的查询记录。请勿在此字段中包含个人身份信息 (PII)。
使用自动补全拒绝名单
可以使用拒绝名单来防止特定词条显示为自动补全建议。
虽然高级自动补全功能位于应用级,但拒绝名单位于数据存储区级。如果您的应用是混合搜索应用,这一点非常重要。请为与应用关联的每个数据存储区创建拒绝名单。
如需了解如何创建和使用拒绝名单,请参阅使用自动补全 拒绝名单。
使用导入的自动补全建议列表
您可以选择提供自己的自动补全建议列表,而不是使用从自动补全数据模型生成的自动补全建议。
如需了解如何导入列表,请参阅使用导入的 自动补全建议列表。