本页介绍了 AI 应用的高级自动补全功能。
与基本自动补全功能一样,高级自动补全功能会根据用户输入的查询的前几个字符生成查询建议。
在阅读本页面之前,请先熟悉 AI 应用的基本自动补全功能。请参阅配置自动补全。
高级自动补全功能的主要特性
高级自动补全与基本自动补全的主要区别在于以下功能:
混合搜索:高级自动补全功能可与混合搜索应用搭配使用,这些应用是连接到多个数据存储区的自定义搜索应用。
访问权限控制:高级自动补全功能会遵循访问权限控制。(访问控制也称为 ACL,即访问权限控制列表。)高级自动填充功能只会推荐与搜索者有权访问的文档相关的搜索查询。如需了解访问权限控制,请参阅使用数据源访问权限控制。
- 语言增强:您可以将高级自动补全功能设置为增强一种或多种语言的建议。例如,如果浏览器语言为荷兰语,则可以提高该语言的自动补全建议的显示优先级。如需了解详情,请参阅发送包含语言加权的自动补全请求。
- 近期查询:借助高级自动补全功能,用户可以获得与他们输入的字母前缀匹配的近期查询,而不是常规的自动补全查询建议。如需了解详情,请参阅发送自动补全请求并返回最近的查询。
准备工作
在开始使用高级自动补全功能之前,请执行以下操作:
查看并根据需要修改应用的自动补全设置。请参阅更新自动补全设置。
对于较小的数据存储区,请将启用自动补全设置为立即。我们之所以建议您这样做,是因为小型数据存储区可能没有足够的数据来提供准确的建议。
如果您的数据存储区包含任何个人身份信息 (PII),或者您使用搜索历史记录或用户事件查询建议模型,请查看防范 PII 泄露,并设置可能需要的数据泄露防护 (DLP) 安全措施,以防止 PII 泄露。
发送自动补全请求
以下示例展示了如何使用 completionConfig.completeQuery
方法发送高级自动补全请求。
REST
如需使用 API 发送自动补全请求,请按以下步骤操作:
查找应用 ID。如果您已拥有应用 ID,请跳到下一步。
在 Google Cloud 控制台中,前往 AI Applications 页面。
在应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。
调用
completionConfig.completeQuery
方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING" }'
替换以下内容:
PROJECT_ID
:您的 Google Cloud 项目的 ID。APP_ID
:Vertex AI Search 应用的 ID。QUERY_STRING
:用于获取建议的预输入内容。
发送包含语言增强功能的自动补全请求
您可以根据语言代码提升或隐藏自动补全建议,例如,使某些语言的自动补全建议更可能或更不可能显示。
提升值必须介于 -1 到 1 之间。设置负数会“隐藏”相应语言的自动补全建议,而设置正数则会提升相应语言的优先级。
使用 BCP 47 定义的双字母语言标记,例如 en
、fr
、hi
和 zh
。
REST
如需发送包含语言加权值的自动补全请求,请按以下步骤操作:
查找应用 ID。如果您已拥有应用 ID,请跳到下一步。
在 Google Cloud 控制台中,前往 AI Applications 页面。
在应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。
调用
completionConfig.completeQuery
方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/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
:您的 Google Cloud 项目的 ID。APP_ID
:Vertex AI Search 应用的 ID。QUERY_STRING
:用于提取建议的预输入内容。LANG_CODE
:一种或多种语言的双字母代码,以转义引号表示。例如,\"fr\", \"es\"
可将提升值应用于西班牙语和法语。BOOST_VALUE
:介于 -1 和 1 之间的浮点数。如果该值为负值,则相应语言的自动建议会被降级(显示在建议列表的下方)。如果值为正,则建议会得到提升(在列表中显示在更靠上的位置)。
发送自动补全请求并返回近期查询
以建议的形式返回与请求中的查询存在前缀匹配关系的用户最近查询的列表。
系统会按从最新到最旧的顺序列出匹配的查询建议。如需使用近期搜索,必须提供用户伪 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 periods
How much vacation time do I have?
Vacation policy
Covering a vacant position during absences
过程
如需发送自动补全请求以返回用户最近的查询,请按以下步骤操作:
REST
查找应用 ID。如果您已拥有应用 ID,请跳到下一步。
在 Google Cloud 控制台中,前往 AI Applications 页面。
在应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。
调用
completionConfig.completeQuery
方法。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/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
:您的 Google Cloud 项目的 ID。APP_ID
:Vertex AI Search 应用的 ID。QUERY_STRING
:用于提取建议的预输入内容。USER_PSEUDO_ID
:用户的假名化标识符。您可以为此字段使用 HTTP Cookie,该 Cookie 可唯一标识单个设备上的访问者。请勿为多个用户将此字段设置为同一标识符。这样一来,系统就会合并他们的查询记录。请勿在此字段中包含个人身份信息 (PII)。
使用自动补全拒绝名单
您可以使用拒绝名单来防止特定词条显示为自动补全建议。
虽然高级自动补全功能是在应用级层实现的,但拒绝名单是在数据存储区级层实现的。如果您的应用是混合搜索应用,这一点非常重要。为与应用关联的每个数据存储区创建禁止列表。
如需了解如何创建和使用拒绝名单,请参阅使用自动补全拒绝名单。
使用导入的自动补全建议列表
您可以选择提供自己的自动补全建议列表,而不是使用从自动补全数据模型生成的自动补全建议。
如需了解如何导入列表,请参阅使用导入的自动补全建议列表。