配置高级自动补全

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

发送自动补全请求并返回近期查询

返回与请求中的查询匹配前缀的用户最近查询的列表作为建议。

匹配的查询建议会按从新到旧的顺序列出。如需使用近期搜索功能,必须提供用户伪 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)。

使用自动补全拒绝名单

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

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

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

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

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

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