配置高级自动补全

本页介绍了 Vertex AI Search 的高级自动补全功能。

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

在阅读本页内容之前,请先熟悉 Vertex AI Search 的基本自动补全功能。请参阅配置自动补全

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

高级自动补全与基本自动补全的区别在于其具有以下关键功能:

  • 混合搜索:高级自动补全功能可与混合搜索应用搭配使用,这些应用是指与多个数据存储区关联的通用搜索应用。

  • 访问权限控制:高级自动补全功能会遵循访问权限控制。(访问控制也称为 ACL,即访问权限控制列表。)高级自动补全功能只会推荐与搜索者有权访问的文档相关的搜索内容。如需了解访问权限控制,请参阅使用数据源访问权限控制

  • 语言提升:您可以将高级自动补全功能设置为提升一种或多种语言的建议。例如,如果浏览器语言为荷兰语,系统可能会提升该语言的自动补全建议。如需了解详情,请参阅发送带语言增强功能的自动补全请求

  • 不同类型的建议:借助高级自动补全功能,您可以指定要显示不同类型的建议,而不是常规的自动补全查询建议:

准备工作

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

尤其是在测试较小的数据存储空间时,我们建议将启用自动补全设置为立即。这是因为小型数据存储区可能不包含足够的数据来提供准确的建议。

发送自动补全请求

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

REST

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

  1. 找到您的应用 ID。如果您已经有应用 ID,请跳至下一步。

    1. 在 Google Cloud 控制台中,前往 Agent Builder 页面。

      前往“应用”

    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/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 定义的两个字母语言标记,例如 enfrhizh

REST

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

  1. 找到您的应用 ID。如果您已经有应用 ID,请跳至下一步。

    1. 在 Google Cloud 控制台中,前往 Agent Builder 页面。

      前往“应用”

    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/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 之间的浮点数。如果该值为负,则相应语言的自动补全功能会被降级(在建议列表中显示在更下方)。当值为正时,系统会提升建议的显示位置(在列表中显示在更高的位置)。

发送自动补全请求并返回丰富的建议

富媒体自动补全功能会返回标题包含与查询开头相同字词的内容(文档)。

除了文档标题之外,自动补全请求还会返回 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 控制台中,前往 Agent Builder 页面。

      前往“应用”

    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/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING",
          "suggestionTypes": ["CONTENT"]
        }'
    
    
    • PROJECT_ID:您的 Google Cloud 项目的 ID。

    • APP_ID:Vertex AI Search 应用的 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 控制台中,前往 Agent Builder 页面。

      前往“应用”

    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/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)。

使用自动补全拒绝名单

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

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

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