配置高级自动补全

本页面介绍了 Gemini Enterprise 的高级自动补全功能。

与基本自动补全功能一样,高级自动补全功能会根据用户输入的查询的前几个字符生成查询建议。

在阅读本页面之前,请先熟悉 Gemini Enterprise 的基本自动补全功能。请参阅配置自动补全

高级自动补全功能的主要特点

高级自动补全与基本自动补全的主要区别在于以下功能:

  • 混合搜索:高级自动补全功能可用于连接到多个数据存储区的应用。

  • 访问权限控制:高级自动补全功能会遵守访问权限控制。(访问控制也称为 ACL,即访问权限控制列表。)高级自动填充功能只会推荐与搜索者有权访问的文档相关的搜索查询。如需了解访问权限控制,请参阅身份和权限

  • 语言增强:您可以将高级自动补全功能设置为增强一种或多种语言的建议。例如,如果浏览器语言为荷兰语,则可以提升该语言的自动补全建议。如需了解详情,请参阅发送包含语言加权的自动补全请求
  • 不同类型的建议:借助高级自动补全功能,您可以指定需要不同类型的建议,而不是常规的自动补全查询建议:

准备工作

在开始使用高级自动补全功能之前,请执行以下操作:

  • 查看并根据需要修改应用的自动补全设置。请参阅更新自动补全设置

  • 对于较小的数据存储区,请将启用自动补全设置为立即。我们之所以建议您这样做,是因为小型数据存储区可能没有足够的数据来提供准确的建议。

  • 如果您的数据存储区包含任何个人身份信息 (PII),或者您使用搜索历史记录或用户事件查询建议模型,请查看防范 PII 泄露,并设置可能需要的数据泄露防护 (DLP) 安全措施,以防止 PII 泄露。

发送自动补全请求

以下示例展示了如何使用 completionConfig.completeQuery 方法发送高级自动补全请求。

REST

如需使用 API 发送自动补全请求,请按以下步骤操作:

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

    1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。

      前往“应用”

    2. 应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。

  2. 调用 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 定义的双字母语言标记,例如 enfrhizh

REST

如需发送包含语言加权值的自动补全请求,请按以下步骤操作:

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

    1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。

      前往“应用”

    2. 应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。

  2. 调用 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_typeentity_type,以及关键属性(如果可用):uricreate_timeupdate_time。您可以在数据存储区页面的架构标签页中查看和修改关键属性映射。

与所有高级自动补全建议一样,系统会针对任何建议的文档遵循 ACL。

示例

一位员工正在查询公司内网网站,寻找有关访问权限的技术信息。

员工开始输入 tec,系统可能会返回以下文档:Data technicians handbookAccess technology guideTechniques 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

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

    1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。

      前往“应用”

    2. 应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。

  2. 调用 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。

示例

员工正在查询公司内网网站,以获取有关休假的信息。该员工执行了以下查询,按从最新到最旧的顺序列出:

PTOVacation blackout periodsHow much vacation time do I have?Time offVacation policycovering a vacant position during absencesCan 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

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

    1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。

      前往“应用”

    2. 应用页面上,找到应用的名称,并从 ID 列获取应用的 ID。

  2. 调用 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)。

使用自动补全拒绝名单

您可以使用拒绝名单来防止特定词条显示为自动补全建议。

虽然高级自动补全功能是在应用级层实现的,但拒绝名单是在数据存储区级层实现的。如果您的应用是混合搜索应用,这一点非常重要。请为与应用关联的每个数据存储区创建禁止列表。

如需了解如何创建和使用拒绝名单,请参阅使用自动补全拒绝名单

使用导入的自动补全建议列表

您可以选择提供自己的自动补全建议列表,而不是使用从自动补全数据模型生成的自动补全建议。

如需了解如何导入列表,请参阅使用导入的自动补全建议列表