通过市场活动部署 Amazon Personalize 解决方案版本 - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

通过市场活动部署 Amazon Personalize 解决方案版本

要获取包含自定义资源的实时建议,完成手动创建解决方案版本后,您就可以通过市场活动部署解决方案版本了。

市场活动 部署的解决方案版本(经过训练的模型)具有预调配的事务容量,用于生成实时建议。创建市场活动后,您可以使用 GetRecommendationsGetPersonalizedRanking API 操作来获取建议。如果您获得批量物品推荐或用户细分,则无需创建市场活动。有关更多信息,请参阅 获取批量物品推荐获取批量用户细分

在创建市场活动时,您可以配置以下内容:

  • 您可以将市场活动配置为自动更新以使用解决方案的最新解决方案版本。有关更多信息,请参阅市场活动自动更新

  • 您可以在推荐中启用物品元数据。有关更多信息,请参阅 推荐中的物品元数据

  • 您可以为该市场活动指定预置的每秒最低事务数。这是 Amazon Personalize 为该市场活动预置的基准事务吞吐量。它会设置市场活动处于活动状态时的最低账单费用。有关更多信息,请参阅 预调配的最低每秒事务数和自动扩缩

您可以使用 Amazon Personalize 控制台创建广告活动, Amazon Command Line Interface (Amazon CLI) 或 Amazon SDKs。如果您想要更改现有市场活动的设置,例如在推荐中启用元数据,则必须更新您的市场活动。有关更多信息,请参阅 更新 Amazon Personalize 市场活动的配置

当市场活动处于活动状态时,会产生市场活动费用。为避免产生不必要的费用,请务必在市场活动结束后删除它。有关市场活动成本的信息,请参阅 Amazon Personalize 定价

市场活动自动更新

创建市场活动时,您可以启用市场活动自动更新。通过自动更新,市场活动会自动更新以部署解决方案的最新自动或手动训练解决方案版本。这样您就能够更轻松地使市场活动保持最新状态。

例如,如果您的解决方案使用自动训练,每七天创建一个新的解决方案版本,则您的市场活动将自动更新为在每周训练中使用最新的解决方案版本。如果您不使用市场活动自动更新,则必须手动更新市场活动以部署最新的已训练模型。

  • 要在使用 Amazon Personalize 控制台创建市场活动时启用市场活动自动更新,请在市场活动详细信息中选择自动更新以使用解决方案的最新解决方案版本。您可以在市场活动详细信息页面上找到最新更新的时间戳。

    有关更多信息,请参阅 创建市场活动(控制台)

  • 要在使用 CreateCampaign API 操作时启用市场活动自动更新,请在 SolutionVersionArn 参数中以 SolutionArn/$LATEST 格式指定解决方案的 Amazon 资源名称(ARN)。在 campaignConfig 中,将 enableMetadataWithRecommendations 设置为 true

    要获取最新市场活动更新的时间戳,您可以使用 DescribeCampaign API 操作并查看响应中的 latestCampaignUpdate 详细信息。

    有关向您展示如何启用自动更新的代码示例,请参阅创建市场活动 (Amazon CLI)创建市场活动 (Amazon SDKs)

预调配的最低每秒事务数和自动扩缩

重要

minProvisionedTPS 会增加您的成本。我们建议从 1 开始设置 minProvisionedTPS(默认值)。使用 Amazon CloudWatch 指标跟踪您的使用情况,并在必要minProvisionedTPS时增加使用量。

在创建 Amazon Personalize 市场活动时,您可以为该市场活动指定预置的每秒最低事务数 (minProvisionedTPS)。这是 Amazon Personalize 为该市场活动预置的基准事务吞吐量。它会设置市场活动处于活动状态时的最低账单费用。事务是单个 GetRecommendationsGetPersonalizedRanking 请求。默认 minProvisionedTPS 为 1。

如果您的 TPS 增加到超过 minProvisionedTPS,则 Amazon Personalize 会自动纵向扩展和缩减预置容量,但从不会低于 minProvisionedTPS。增加容量时会有短时间延迟,这可能会导致事务丢失。当您的流量减少时,容量将恢复到 minProvisionedTPS

您需要为预置的最低 TPS 付费,或者,如果您的请求超过 minProvisionedTPS,则需要为实际 TPS 付费。实际 TPS 是您发出的建议请求的总数。我们建议从低开始minProvisionedTPS,使用 Amazon CloudWatch 指标跟踪您的使用情况,然后minProvisionedTPS根据需要增加使用量。

有关市场活动成本的更多信息,请参阅 Amazon Personalize 定价

推荐中的物品元数据

重要

如果您使用 User-Personalization-v 2 或 Personalized-Ranking-v 2 配方,则元数据不会产生额外的费用。对于所有其他配方和所有域应用场景,会产生额外费用。有关更多信息,请参阅 Amazon Personalize 定价

获得推荐后,您可以让 Amazon Personalize 在推荐结果中包括物品元数据。在请求中,可以从物品数据集选择要包括的列。Amazon Personalize 会在建议响应中返回每个物品的这些数据。

您可以使用元数据来丰富用户界面中的建议,例如将电影的类型添加到轮播中。或者,您可以用它来直观地评测建议质量。如果您在应用程序中使用生成式人工智能,则可以将元数据插入人工智能提示中,以生成相关性更高的内容。有关 Amazon Personalize 与生成式人工智能结合使用的更多信息,请参阅Amazon Personalize 和生成式人工智能

启用元数据

要向建议添加元数据,您必须拥有包含一列元数据的物品数据集。您不一定要在训练中使用元数据。有关创建数据集的信息,请参阅创建架构和数据集。有关更新数据的信息,请参阅训练后更新数据集中的数据

如果您使用 User-Personalization-v 2 或 Personalized-Ranking-v 2 配方,则新的广告系列会自动选择在推荐结果中包含商品元数据。您没有手动为市场活动启用元数据。对于所有其他配方和域应用场景,必须启用元数据选项:

创建市场活动(控制台)

重要

当市场活动处于活动状态时,会产生市场活动费用。为避免产生不必要的费用,请务必在市场活动结束后删除它。有关市场活动成本的信息,请参阅 Amazon Personalize 定价

在您的解决方案版本状态变为“活动”后,您就可以通过 Amazon Personalize 市场活动进行部署了。

创建市场活动(控制台)
  1. https://console.aws.amazon.com/personalize/家中打开 Amazon Personalize 控制台并登录您的账户。

  2. 选择包含要部署的解决方案版本的数据集组。

  3. 在导航窗格中,在自定义资源下选择市场活动

  4. 市场活动选项卡上,选择创建市场活动

  5. 创建新的市场活动页面上,对于市场活动详细信息,提供以下信息:

    • 市场活动名称 – 输入市场活动的名称。您在此处输入的文本将显示在市场活动控制面板和详细信息页面上。

    • 解决方案 – 选择您刚创建的解决方案。

    • 自动更新以使用解决方案的最新解决方案版本 - 选择此选项可让市场活动自动使用最新的活动解决方案版本。如果不选择此选项,则每次要部署新的解决方案版本时都必须手动更新市场活动。有关更多信息,请参阅 市场活动自动更新

    • 解决方案版本 ID - 如果不通过市场活动自动更新来使用最新的解决方案版本,请选择要部署的解决方案版本的 ID。

    • 每秒最低预配置交易量(中称为 minProvisionedTPs APIs)— 设置 Amazon Personalize 支持的每秒最低预配置交易量。较高的值会增加费用。我们建议从 1(默认值)开始设置。使用 Amazon CloudWatch 指标跟踪您的使用情况,并在必要minProvisionedTPS时增加使用量。有关更多信息,请参阅 预调配的最低每秒事务数和自动扩缩

    • 在推荐结果中返回物品元数据 - 如果您希望在推荐结果中包括元数据,请选择此选项。如果启用了此选项,则在获取建议时可以指定物品数据集中的列。有关更多信息,请参阅 推荐中的物品元数据

  6. 如果您使用了 User-Personalization 配方,则在市场活动配置中,可以选择输入浏览权重浏览项目中断时长的值。有关更多信息,请参阅 User-Personalization

  7. 对于标签,可以选择添加任何标签。有关标记 Amazon Personalize 资源的更多信息,请参阅为 Amazon Personalize 资源添加标签

  8. 选择创建市场活动

  9. 在市场活动详细信息页面上,当市场活动状态变为活动 时,您可以使用市场活动来获取建议并记录展示量。有关更多信息,请参阅 从 Amazon Personalize 获取建议

    当市场活动状态为“活动”时,市场活动即已准备就绪。如果您重新训练解决方案版本,或者想要更改市场活动设置,则必须更新您的市场活动。有关更多信息,请参阅 更新 Amazon Personalize 市场活动的配置

创建市场活动 (Amazon CLI)

重要

当市场活动处于活动状态时,会产生市场活动费用。为避免产生不必要的费用,请务必在市场活动结束后删除它。有关市场活动成本的信息,请参阅 Amazon Personalize 定价

在您的解决方案版本变为“活动”后,您就可以通过 Amazon Personalize 市场活动进行部署了。要使用创建活动 Amazon CLI,请使用create-campaign命令。

以下代码示例演示了如何创建市场活动。该示例部署了使用 User-Personalization 配方的解决方案的最新解决方案版本。它创建的市场活动会自动更新以使用未来的解决方案版本。该代码使用以下配置:

  • 它将市场活动配置为自动更新,以便使用适用于您的解决方案的最新解决方案版本:solution-version-arn 的格式为 solution ARN/$LATESTsyncWithLatestSolutionVersionTrue。要使用该代码,请将 solution ARN 替换为解决方案的 Amazon 资源名称(ARN)。

    要禁用自动 syncWithLatestSolutionVersion,请仅指定解决方案版本 ARN(不带 /$LATEST),并将 syncWithLatestSolutionVersion 设置为 False

  • 它将 enableMetadataWithRecommendations 选项设置为 True。这样会启用推荐请求选项,以便将物品数据集中的物品元数据与推荐结果一起包括在内。要禁用此选项,请将其设置为 False。有关更多信息,请参阅 推荐中的物品元数据

  • 它将 min-provisioned-tps 设置为 1(默认值)。我们建议从 1 开始设置 minProvisionedTPS(默认值)。使用 Amazon CloudWatch 指标跟踪您的使用情况,并在必要minProvisionedTPS时增加使用量。有关更多信息,请参阅 预调配的最低每秒事务数和自动扩缩

要获得所有参数的完整列表,请参阅CreateCampaign

aws personalize create-campaign \ --name campaign-name \ --solution-version-arn solution-arn/\$LATEST \ --min-provisioned-tps 1 \ --campaign-config "{"\"syncWithLatestSolutionVersion"\": "true", "\"enableMetadataWithRecommendations"\": "true"}"

当市场活动状态为“活动”时,市场活动即已准备就绪。要获取当前状态,请调用 DescribeCampaign 并检查 status 字段是否为 ACTIVE

如果您重新训练解决方案版本,但市场活动未自动更新为使用最新的解决方案版本,或者如果您想要更改市场活动设置,则必须更新您的市场活动。有关更多信息,请参阅 更新 Amazon Personalize 市场活动的配置

Amazon Personalize 为您提供用于管理市场活动的操作(如 ListCampaigns)以列出您创建的市场活动。您可以通过调用 DeleteCampaign 来删除活动。如果您删除一个市场活动,不会删除属于该市场活动的一部分的解决方案版本。

在创建市场活动后,可以使用它来进行推荐。有关更多信息,请参阅 从 Amazon Personalize 获取建议

创建市场活动 (Amazon SDKs)

重要

当市场活动处于活动状态时,会产生市场活动费用。为避免产生不必要的费用,请务必在市场活动结束后删除它。有关市场活动成本的信息,请参阅 Amazon Personalize 定价

在您的解决方案版本变为“活动”后,您就可以通过 Amazon Personalize 市场活动进行部署了。要使用创建广告系列 Amazon SDKs,请使用 CreateCampaign API 操作。

以下代码示例演示了如何创建市场活动。该代码部署了使用 User-Personalization 配方的解决方案的最新解决方案版本。它创建的市场活动会自动更新以使用未来的解决方案版本。该代码使用以下配置:

  • 它将市场活动配置为自动更新,以便使用适用于您的解决方案的最新解决方案版本:solutionVersionArn 的格式为 solution ARN/$LATESTsyncWithLatestSolutionVersionTrue。要使用该代码,请将 solution ARN 替换为解决方案版本的 Amazon 资源名称(ARN)。

    要禁用自动 syncWithLatestSolutionVersion,请仅指定解决方案版本 ARN(不带 /$LATEST),并将 syncWithLatestSolutionVersion 设置为 False

  • 它将 enableMetadataWithRecommendations 选项设置为 True。这样会启用推荐请求选项,以便将物品数据集中的物品元数据与推荐结果一起包括在内。要禁用此选项,请将其设置为 False。有关更多信息,请参阅 推荐中的物品元数据

  • 它将 minProvisionedTPS 设置为 1(默认值)。对于 minProvisionedTPS,我们建议从 1(默认值)开始设置。使用 Amazon CloudWatch 指标跟踪您的使用情况,并在必要minProvisionedTPS时增加使用量。有关更多信息,请参阅 预调配的最低每秒事务数和自动扩缩

要获得所有参数的完整列表,请参阅CreateCampaign

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') response = personalize.create_campaign( name = 'campaign name', solutionVersionArn = 'solution ARN/$LATEST', minProvisionedTPS = 1, campaignConfig = {"syncWithLatestSolutionVersion": True, "enableMetadataWithRecommendations": True} ) arn = response['campaignArn'] description = personalize.describe_campaign(campaignArn = arn)['campaign'] print('Name: ' + description['name']) print('ARN: ' + description['campaignArn']) print('Status: ' + description['status'])
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { CreateCampaignCommand, PersonalizeClient } from "@aws-sdk/client-personalize"; // create personalizeClient const personalizeClient = new PersonalizeClient({ region: "REGION" }); // set the campaign parameters export const createCampaignParam = { solutionVersionArn: "SOLUTION_ARN/$LATEST" /* required */, name: "NAME" /* required */, minProvisionedTPS: 1 /* optional */, campaignConfig: { /* optional */ syncWithLatestSolutionVersion: true, enableMetadataWithRecommendations: true, }, }; export const run = async () => { try { const response = await personalizeClient.send( new CreateCampaignCommand(createCampaignParam) ); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

当市场活动状态为“活动”时,市场活动即已准备就绪。要获取当前状态,请调用 DescribeCampaign 并检查 status 字段是否为 ACTIVE

如果您手动重新训练解决方案版本,或如果您想要更改市场活动设置,则必须更新您的市场活动。有关更多信息,请参阅 更新 Amazon Personalize 市场活动的配置

Amazon Personalize 为您提供用于管理市场活动的操作(如 ListCampaigns)以列出您创建的市场活动。您可以通过调用 DeleteCampaign 来删除活动。如果您删除一个市场活动,不会删除属于该市场活动的一部分的解决方案版本。

在创建您的市场活动后,请使用它来进行推荐。有关更多信息,请参阅 从 Amazon Personalize 获取建议