获取推荐内容

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

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

适用于零售业的 Vertex AI Search 会返回一个经过排名的商品标识码列表。您负责使用图片和文本在网站上渲染结果。

切勿缓存最终用户的个性化结果,也不要将个性化结果返回给其他最终用户。

准备工作

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

此外,您需要有一个经过训练和调整的推荐(模型)以及一个或多个有效的服务配置,然后才能请求根据推荐进行预测。

评估建议

在更新网站代码以请求建议之前,您可以使用预览预测结果来确认您的模型和服务配置是否按预期运行。

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

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

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

  1. 转到 Search for Retail 控制台中的评估页面。

    转到“评估”页面

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

  3. 选择要预览的服务配置。

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

  5. 如果显示了关联商品部分,点击添加商品并输入商品 ID,即可获取该商品的相关推荐。您可以添加多个关联项。

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

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

如需查看您要预览的服务配置的详细信息页面,请点击选择服务配置字段下的查看服务配置

获取建议

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

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"
}

您必须将 attribution_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 Retail 控制台中创建服务配置时选择价格重排序设置,则该设置将应用于该配置提供的所有建议,而无需您执行进一步操作。

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

建议多样性

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

您可以在服务配置级别或针对每个预测请求设置多样化。

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

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

使用建议过滤条件

您可以使用 predict 方法中的 filter 字段过滤建议返回的推荐。如需了解详情,请参阅过滤器建议

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

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

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

然后,使用网页级优化模型为其建议的服务配置 ID 对每个面板执行预测调用。预测响应包含模型名称(例如“为您推荐”)以及要在该面板中显示的推荐项目列表。

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

对建议进行监控和问题排查

设置您的网站以获取推荐内容后,我们建议您设置提醒。请参阅针对预测错误设置提醒

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