获取推荐内容

本页面介绍如何为特定用户和用户事件请求商品推荐。

上传商品并记录用户事件后,您可以根据特定用户的已记录用户事件及其当前活动,为该用户请求商品推荐。 新商品和用户事件最长可能需要 48 小时才会反映在推荐模型中。

Vertex AI Search for Commerce 会返回经过排名的商品标识符列表。您需要负责使用图片和文字在您网站上呈现结果。

绝不缓存最终用户的个性化结果,也绝不向其他最终用户返回个性化结果。

准备工作

您必须先按照准备工作中的步骤创建 Google Cloud项目并设置身份验证。

此外,您需要具备经过训练和调节的推荐(模型)以及一个或多个有效的投放配置,才能请求推荐预测。

评估建议

在更新网站代码以请求推荐之前,您可以使用预览预测结果来确认模型和投放配置是否按预期工作。

如需详细了解服务配置,请参阅服务配置简介

您可以从评估页面预览投放配置结果,也可以在控制台中前往投放配置的详细信息页面,然后点击其评估标签页。以下步骤展示了如何从评估页面进行预览。

如需预览投放配置返回的建议,请执行以下操作:

  1. 前往 Search for Commerce 控制台中的评估页面。

    前往“评估”页面

  2. 点击建议标签页(如果尚未选择)。

  3. 选择要预览的投放配置。

  4. 可选:输入访问者 ID 以预览针对该用户的建议。

  5. 如果显示关联的商品部分,请点击添加商品,然后输入商品 ID,以获取与该商品关联的推荐。您可以添加多个关联商品。

    只有当所选服务配置的模型类型需要将商品作为建议的输入时,才能添加商品。“为您推荐”模型不需要输入关联商品。

  6. 点击预测预览查看预测结果。

如需查看您正在预览的投放配置的详细信息页面,请点击选择投放配置字段下方的查看投放配置

获取推荐内容

Recommendations API 对返回的商品数量有限制。不过,您可以采取一些变通方法来增加返回的商品数量。

提高限额

  • Vertex AI Search 商务解决方案的结果数量上限为 120。

  • Recommendations API 支持对最多 2,000 项商品进行重新排名。

  • 虽然延迟时间会增加,但网页大小可以增加到 500 或 1,000。

解决方法

对于类别页面,您可以使用个性化推荐对其进行个性化设置和重新排名。为了规避 120 个结果的限制,请同时多次调用以获取指定数量的前几页,然后将结果拼接在一起,使其看起来像一个大页面。

如需手动限制返回给最终用户的推荐内容集,您可以在 PredictRequest.params 查询中添加过滤条件

使用 API 将所选属性标记为可过滤,然后在预测请求中直接引用这些属性。

如需了解预测费用详情,请参阅价格

curl

如需获取推荐,请向 predict REST 方法发出 POST 请求,并提供相应的请求正文:

  • 您使用的服务账号需要具有“Retail Viewer”角色或更高权限的角色。

  • SERVING_CONFIG_ID 替换为要在其中使用预测的投放配置。了解详情

  • 如果您使用 BigQuery 导入 Google Analytics 360 用户事件,请将 visitorId 设置为 Google Analytics 客户端 ID。请参阅 Google Analytics 文档,了解如何获取客户端 ID。

  • 如果您要运行 A/B 实验,请将 experimentIds 设置为此实验组的 ID。了解详情

  • 为发起推荐请求的用户操作提供用户事件对象。

    请注意,系统不会记录此用户事件;它仅用于为相关推荐请求提供背景信息。而您应该像记录其他用户事件一样来记录此用户事件。

  • (可选)提供过滤条件来缩小可能返回的商品范围。了解详情

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
              "filter": "FILTER_STRING",
              "validateOnly": false,
              "userEvent": {
                  "eventType": "detail-page-view",
                  "visitorId": "VISITOR_ID",
                  "userInfo": {
                      "userId": "USER_ID",
                      "ipAddress": "IP_ADDRESS",
                      "userAgent": "USER_AGENT"
                  },
                  "experimentIds": "EXPERIMENT_GROUP",
                  "productDetails": [{
                      "product": {
                        "id": "PRODUCT_ID"
                     }
                  }]
              }
            }' \
https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/servingConfigs/SERVING_CONFIG_ID:predict

您应该会看到如下所示的结果:

{
  "results": [{"id": "sample-id-1"}, {"id": "sample-id-2"}],
  "attribution_token": "sample-atr-token"
}

Java

public static PredictResponse predictWithNextPageToken(UserEvent userEvent, int pageSize,
    String nextPageToken)
    throws IOException, InterruptedException {
  PredictionServiceClient predictionClient = getPredictionServiceClient();

  PredictRequest request = PredictRequest.newBuilder()
      .setPlacement(HOME_PAGE_PLACEMENT_NAME)
      .setUserEvent(userEvent)
      .setPageSize(pageSize)
      .setPageToken(nextPageToken)
      .setValidateOnly(true)
      .build();

  PredictResponse response = predictionClient.predict(request);

  predictionClient.shutdownNow();
  predictionClient.awaitTermination(2, TimeUnit.SECONDS);

  return response;
}

价格重排序

启用这项功能后,推荐概率相近的推荐产品会按价格进行排序,价格最高的商品列在第一位。相关性仍会用于订购商品,因此启用价格重排序与按价格排序不同。

可以在服务配置级层或根据预测请求设置价格重排序。

如果您在 Search for commerce 控制台中创建服务配置时选择价格重排序设置,则该设置将应用于该配置提供的所有建议,您无需执行进一步操作。

如果您需要控制特定建议的价格重排序,可以使用 PredictRequest.params 字段进行控制。这将替换或会以其他方式应用于此建议的任何配置级层重排序设置。

建议多样性

推荐多样性会影响单个预测请求返回的结果是否来自产品目录的不同类别。

可以在服务配置级层或根据预测请求设置推荐多样性。

如果您在 Search for Commerce 控制台中创建服务配置时选择建议多样化设置,则该设置将应用于该配置提供的所有预测,您无需执行进一步操作。

如果您需要控制特定建议的多样性,可以使用 PredictRequest.params 字段进行控制。这将替换或会以其他方式应用于此建议的任何配置级层多样化设置。查看可接受的值。

使用建议过滤条件

您可以使用 predict 方法中的 filter 字段过滤推荐服务返回的推荐。如需了解相关信息,请参阅过滤建议

使用页面级优化模型的预测调用

使用页面级优化功能提供建议需要额外的预测调用步骤。

使用包含页面级优化模型的服务配置进行初始预测调用。预测响应会返回一个已排序的投放配置 ID 列表,其中包含每个面板要使用的模型。

然后,使用页面级优化模型为每个面板推荐的投放配置 ID,为每个面板发出预测调用。预测响应包含模型名称(例如“为您推荐”)以及要在相应面板中显示的推荐商品列表。

使用页面级优化模型的服务配置不支持价格重排序、推荐多样性和推荐过滤条件。

监控和排查建议

设置网站以获取建议后,我们建议您设置提醒。请参阅设置预测错误提醒

如需排查错误,请参阅监控和问题排查