获取推荐内容

本页介绍了如何请求针对特定用户推荐商品 以及用户事件

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

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

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

准备工作

您必须先按照准备工作中的步骤创建 Google Cloud 项目并设置身份验证,然后才能使用该 API。

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

评估建议

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

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

您可以从评估页面预览服务配置结果,也可以通过以下方式预览服务配置结果: 转到控制台中服务配置的详细信息页面,然后点击其 评估标签页。以下步骤说明了如何从 评估页面。

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

  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 字段过滤 Recommendations AI 返回的推荐。如需了解详情,请参阅过滤推荐内容

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

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

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

然后,使用网页级优化模型为其推荐的投放配置 ID 为每个面板进行预测调用。预测响应包含模型名称(例如“为你推荐”)和要在该面板中显示的推荐内容列表。

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

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

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

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