常见问题解答

还有其他难题,或是您的问题未在下面列出?请报告 Bug 或提出功能请求,并在 Google 网上论坛Stack Overflow 讨论。

常规

1. 您是否有适用于零售业的 Vertex AI Search 或其他示例代码的客户端库?

符合。您可以在此处查看客户端库指南,了解每个库的设置和参考信息。

您还可以使用 Google API Discovery Service 代替原始 REST 调用。

2. 所有推荐模型是否都是个性化的?

“为您推荐”“其他您可能喜欢”和“再次购买”模型会根据用户历史记录提供个性化推荐。“常购商品”和“类似商品”模型不是个性化模式。

请参阅推荐模型简介

3. 我是会立即收到个性化建议,还是需要等待这些建议随着时间的推移得到改进?

随着您收集更多用户历史记录,推荐功能会越来越好。“为您推荐”模型会显示热门商品,“其他您可能喜欢”模型则主要根据其他用户的视图显示类似商品。这两种模型都会立即考虑用户行为,因此发送实时事件非常重要。请参阅推荐模型简介

用户事件需要实时或非常接近实时地发送,以保证其有效性。如果每天只提交一次用户事件,或者每天分批提交用户事件,那么个性化模型可能不会像实时事件那样发送。

4. 您是否在模型中使用 Google 用户受众特征数据?

这些模型仅使用您提供的目录和用户事件数据。如果要包含受众特征数据,您可以添加其他文本或数字信息,它们可能有助于用作自定义属性。数据在模型重新调优后将开始使用。

请勿包含个人身份信息 (PII),例如电子邮件地址或用户名。我们建议您对受众特征数据进行匿名化处理,例如对值进行哈希处理或使用组 ID。

5. 我可以根据一组用户的事件记录(而不是单个用户的历史记录)进行推荐吗?

目前,系统会根据单个访问者 ID 或用户 ID 生成建议。您需要发出单个请求,然后将结果组合以基于组历史记录提出建议。如果用户具有通用元数据特性,您可以使用组 ID 作为用户 ID 来提供组级别建议。

6. 我发现您可以为商品提交图片网址。这些模型是否会考虑产品图片?

目前不可以。提供这些字段以便您可以检索此元数据以及返回的建议结果,以帮助渲染建议结果。当您在 Search for Retail 控制台中预览模型的预测结果时,预测预览还会使用图片网址来显示图片。

7. 我的公司不是零售电子商务网站。我还可以使用建议来预测 x,y,z 吗?

我们的一些客户会使用推荐功能来推荐内容、在线播放视频、游戏及其他应用场景。但是,我们目前的内容和体验是根据零售电子商务用例设计的,可能尚不适合其他用例。

8. 我可以在我网站的任何页面上放置推荐内容吗?

可以,但每个模型都针对特定用例设计,并且可能仅在某些页面上才能实现最佳效果。请参阅推荐模型简介

“经常一起购买”和“您可能喜欢的其他商品”要求提供商品 ID,因此应该使用商品 ID 等功能,例如使用商品 ID 或购物车中的商品进行推荐。“经常一起购买的商品”页面通常在“加入购物车”页面或结账页面上效果最佳,而“其他您可能喜欢的商品”和“类似商品”在商品详情页面上效果最佳。“推荐”版块可以放置在任何网页上,因为它只需要访问者 ID 作为输入,但被设计为首页服务配置。“再次购买”可放置在任何网页上。

9. 我可以在电子邮件简报中使用建议功能吗?

符合。可通过使用访问者 ID 或用户 ID 调用 API 并将结果整合到电子邮件模板中来完成。如果您希望在电子邮件读取时动态加载这些项目,则需要使用中间端点,例如Google Cloud Functions 函数,发送预测请求。该 API 仅提供经过排序的商品 ID 和元数据的列表,因此您还需要编写自己的代码来渲染图片结果。

10. 我能否将 Vertex AI Search 用于零售业的其他非网站用例(移动应用、自助服务终端)?

符合。您可以设置一个端点(例如 Google Cloud Functions 函数)来获取应用的结果。您还需要类似的机制来发送实时事件。

11. 我没有 3 个月以上的事件数据。我还能为零售业使用 Vertex AI Search 吗?以后是否可以添加更多数据?

“相似商品”模型不使用用户事件数据,也不使用模型调整。如果您没有任何事件数据,只要您有清单数据,仍然可以创建和训练类似商品模型。

如果您可以为实时事件记录足够的流量,则近期数据可用于训练其他模型。如果您日后有额外的数据,可以在初始模型训练后上传。在每日重新训练期间,新回填的数据会合并到模型中。但是,如果数据与用于初始训练的事件明显不同,则可能需要调整模型。

大多数模型在至少三个月的产品页面浏览、首页浏览和“添加到购物车”事件(适用于所有模型)时效果最佳,并且最好是有一到两年的交易记录(对于“经常购买”模型而言)。

一到两周的详情页面浏览量足以开始训练“其他可能会喜欢”和“为您推荐”模型,而“经常一起购买”和“再次购买”模型通常需要更多时间,因为每天的购买量通常少于网页浏览量。数据越多,模型质量就越好;达到最低数量要求可能无法产生最佳结果。例如,一年的购买量可让模型更好地掌握季节性和流行趋势。

12. 我可以在产品之外推荐类别吗?

商品推荐目前仅返回商品推荐,但您可以在结果中获取每个商品的类别。

13. 您是否有用于从 SQL 数据库或其他系统(如 BigQuery)上传数据的集成?

符合。对于事件,可以从 BigQuery 中读取示例代码。请参阅适用于 BigQuery 的 Google Analytics(分析)示例数据集

14. 面向零售业的 Vertex AI Search 会使用 Cookie 吗?

不,它不使用 Cookie。但是,发送到零售专用 Vertex AI Search 的所有事件都必须指定访问者 ID,该 ID 通常是来自 Cookie 的会话标识符。

15. 我需要专用的 Google Cloud 项目吗?

您可以创建新的专用项目,也可以在现有项目中为零售业启用 Vertex AI Search。

16. 为什么我的凭据在使用 Cloud Shell 时不起作用?

检查您是否已完成 Vertex AI Search for Retail 的身份验证设置步骤。您应该使用已在环境中可用的服务账号。否则,您可能会收到如下错误:“您的应用已使用不受支持的 Google Cloud SDK 或 Google Cloud Shell 中的最终用户凭据进行身份验证”。

如需详细了解服务账号,请参阅 Google Cloud 文档的身份验证部分

17. 如何比较适用于零售业的 Vertex AI Search 与类似解决方案?

您可以执行 A/B 测试,将适用于零售业的 Vertex AI Search 的结果与其他产品的结果进行比较。

18. 我认为特征 x,y,z 会很棒。可以添加这个吗?

我们希望倾听您的宝贵意见!您可以通过客户支持团队、Google 支持或问题跟踪器提交功能请求。

19. 我还可以使用旧版 API 获取建议吗?

推荐已从 Recommendations Engine API 迁移到 Vertex AI Search for Retail。如果您在 Recommendations Engine API 处于 Beta 版阶段时使用的是该 API,我们建议您将推荐迁移到正式版 Vertex AI Search for Retail(服务端点 https://retail.googleapis.com)。

先前的 API(服务端点 https://recommendationengine.googleapis.com)及其文档仍然可用,但它们不再更新。

目录和商品

1. 建议如何处理新产品的冷启动?

对于没有任何交易记录的商品,我们会根据类似商品进行推荐。在这些情况下,请务必在目录中定义恰当的商品标题、类别和说明。

对于冷启动用户(没有历史记录的访问者),模型会从最热门的常规商品开始,并随着接收到更多用户事件而实时提高个性化程度。

请参阅目录和产品简介以及产品参考页面

2. 我可以使用 Merchant Center 目录查看建议吗?

可以,您可以使用 Merchant Center Data Transfer Service 将 Merchant Center 目录导出到 BigQuery。然后,我们可以直接从 BigQuery 读取目录。请参阅从 Merchant Center 导入目录数据

3. 还有什么方法可以导入我的目录?

  • Merchant Center:使用 Merchant Center 导入。如果您使用搜索功能,则可以使用控制台关联 Merchant Center,以便其目录自动同步。
  • BigQuery:直接从表或视图导入。
  • Cloud Storage:使用文本文件(每行一个 JSON 目录项)导入。
  • 内嵌导入:通过 API 调用导入(使用每行一个 JSON 目录项的文本文件)。
  • 创建商品项:使用 Products 创建方法。

4. 如何及时更新目录?目录的更新频率是多少?

请参阅及时更新目录

我们建议您每天更新目录。您可以从 Cloud Storage 或 BigQuery 进行全面更新,也可以执行增量更新(即,仅新建和更改的项目)。

如果可能,请实时更新价格和库存状况。这会影响通过搜索功能搜索新项的速度。

如果您有一种简单的方式来接收目录更改通知(例如通过 Pub/Sub、消息队列、事件等),则您可以使用import创建 API 方法。

例如,Cloud Scheduler 可用于进行每天 BigQuery 导入调用。

5. 是否规定了目录大小下限和上限?

没有最低大小要求,但非常小的产品目录大小(少于 100 个项目)可能会不利于推荐,因为推荐的商品数量非常少。

目录最多包含 4000 万项。

请参阅关于默认配额和限制以及如何请求更改配额的文档。

6. 我的公司在多个国家/地区运营网站。我应该为所有数据使用一个目录吗?

通常情况下,最好只使用一个包含所有项的目录。所有事件都必须使用单一币种提交。目前无法在同一项目中使用多个目录,但如果您使用实体,则可以为特定国家/地区指定搜索、推荐和自动补全行为。

如果各网站的目录差异很大,建议为每个网站创建单独的项目。此外,如果两个国家/地区有不同的语言,我们建议创建单独的项目,每种语言对应一个。

如果某些类似网站与主网站相比流量较低,但没有足够的事件为所有单个网站生成高质量模型,则最好使用单个目录。

如需使用单个目录,目录商品 ID 应保持一致,即同一商品在所有网站上应该只有一个商品 ID,这样清单中的商品就不会重复。

仅就建议而言,使用实体的替代方案是使用过滤标记过滤到特定网站。但是,过滤条件标记最多可能需要 8 小时才能更新,因此,如果有特定于国家/地区的库存状况(缺货)要求,则通常需要由业务规则进行处理,以在预测响应后滤除结果。

7. 适用于零售业的 Vertex AI Search 是否支持每个目录使用多种货币?

不可以,每个目录仅支持一种货币类型。事件必须使用单一币种上传。

如果您打算使用 Search for Retail 控制台来获取收入指标,请确保事件都使用单一币种或全部转换为同一币种,然后再上传事件。

8. 我有多个使用共享目录或类似内容的网站。推荐功能是否可以提供跨网站推荐功能?

我们通常建议只在网站存在明显重叠时使用单个目录;他们应该共享很多或所有相同产品。然后,与多区域网站一样,您可以使用实体过滤标记,针对特定预测调用仅返回网站专用项。

如果网站未共享多个目录项或未共享任何目录项,则应使用多个目录。使用多个目录需要为每个目录使用单独的 Google Cloud 项目。

9. 添加更多元数据是否可改进模型?模型是否会考虑字段 x,y,z 吗?

如需了解必填字段,请参阅必需的目录项信息

其他元数据字段为选填字段(例如 images 和 itemAttributes)。它们可用于预测预览、结果分析、训练和调节。建议添加颜色、大小、材质等有用的属性。您可以通过指定 returnProduct:true 将这些字段作为predict结果的一部分返回,因此这些字段对呈现结果很有帮助。图片和商品属性用于 Search for Retail 控制台中的预测预览

10. 目录项的哪些属性会用作模型训练的输入?

结合使用用户行为和商品属性。所使用的主要字段包括 ID、标题、类别层次结构、价格和网址。您可以添加在 Product.attributes[] 中可能有用的其他自定义键值对特性。

图片网址更便捷,您可以通过指定 returnProduct:true 来将此元数据作为预测结果的一部分返回,这样可以节省额外的调用以检索此信息。拥有图片网址后,当您在 Search for Retail 控制台中预览模型的预测结果时,预测预览便可以显示图片。

11. 我的商品支持哪些语言?

  • 建议:支持大多数语言。模型会自动检测文本语言。如需查看可自动检测的所有语言的列表,请参阅紧凑语言检测器 GitHub 自述文件

  • 搜索:支持以下语言:阿拉伯语、荷兰语、英语、法语、德语、意大利语、日语、韩语、波兰语、葡萄牙语、西班牙语和土耳其语。您可以在上传目录时设置语言。目录应仅使用一种语言,并且查询应以同一种语言发送。在目录中使用多种语言会降低模型性能。例如,如果目录语言为西班牙语,而搜索查询语言为英语,则系统不会将该查询翻译成西班牙语。

12. 我的目录包含主要/变体或父级/子 SKU。是否支持这些格式?

符合。这与 Merchant Center 中的 item_group_id 类似。您需要确定希望重新获得建议的方式(父级或子级),以及事件是父级还是子级级别的。

请参阅商品级别,详细了解商品级别。

在发送任何项或事件之前,先确定并设置了正确的商品级别。您可以更改商品级别,但需要重新加入项并重新调整模型。

13. 我可以从目录中删除不再可用的产品吗?

如果商品不再是最新状态,我们建议您将其状态设置为 OUT_OF_STOCK,而不是删除它,这样,引用该项目的先前用户事件就不会失效。

用户事件

1. 我需要收集哪些用户事件?

如需查看用户事件类型的列表以及用户事件要求和最佳实践,请参阅用户事件简介

2. 如何在模型创建过程中排查数据质量问题?

在 Search for Retail 控制台中,转到数据质量页面,查看有关所注入目录和用户事件的数据质量指标。

3. 我可以与 Google Analytics 360 集成吗?

您可以使用 Google Analytics 360 (GA360) 中的历史数据。与 Merchant Center 数据类似,您可以将 GA360 数据导出到 BigQuery,然后 Vertex AI Search for Retail 可以直接从 BigQuery 读取事件。

对于实时事件,我们建议将跟踪像素与 Google 跟踪代码管理器集成,因为事件会从 GA360 延迟。

4. 我想从 Google Analytics 360 导入用户事件。它是否提供了所需的所有用户事件?

Google Analytics 360 原生支持 Vertex AI Search 用于零售业的所有用户事件,搜索事件除外。您仍然可以从 Analytics 360 导入搜索用户事件,但请注意,面向零售业的 Vertex AI Search 会根据搜索查询和商品展示(如果存在)构建搜索用户事件。

5. 如何将事件馈送到 Recommendations AI 中?

用户通常使用 Cloud Storage 或 API 导入功能导入历史事件,然后使用 JavaScript Pixel 或跟踪代码管理器代码中的实时事件或后端的写入方法流式传输实时事件。

6. 如果我无法发送模型要求列出的所有用户事件类型,该怎么办?每个模型需要的最低事件类型有哪些?

每个模型和优化目标的要求略有不同。请参阅用户事件数据要求

通常每个目录项的事件数量越多,模型性能越好。对于流量较大并且目录较少的网站,您可以从少量的历史事件开始,但通常仍至少需要数周的历史数据和后续的实时事件。

7. 我有一些“添加到购物车”和“购买完成”事件没有针对收入或数量的值。我应该提交什么?

如果您没有数量值,可以传递不影响模型结果的默认值 1。商品应始终设置 displayPrice(可以是向用户显示的任何值,例如折扣价格)。originalPrice 和费用为可选项。

8. 我的数据仅涵盖有限类型的事件。我还能为零售业使用 Vertex AI Search 吗?

如需了解每种模型类型的最低数据要求,请参阅用户事件数据要求

搜索结果

1. 搜索结果会个性化吗?

符合。Google 搜索可以提供个性化结果。 系统会根据访问者 ID 对搜索结果进行个性化设置。 如需了解详情,请参阅个性化

2. 如何在搜索请求中包含背景信息(例如用户正在购物的商店)?

基于商店 ID 的可用性和履单选项是商品目录的特性。履单选项是“在线配送”、“在线购买”和“店内取货”等特性。

特性可以作为搜索请求中的参数发送。因此,对于此示例,搜索请求可以指定用户的商店 ID。可以根据请求中的商店 ID 进行过滤结果或让结果排名靠前。

3. 我可以在搜索结果中隐藏商品吗?

符合。filter 参数可以根据其标记过滤掉结果。

4. 能否根据多个条件(例如库存状况和价格)进行排名?

是,[boostSpec] 允许复杂的排名规则。

5. 能否对某些属性进行分组以提供具有多个分面的结果?例如,对于原产地,将同一国家/地区中的城市分组。

商品特性不是分层的。但是,您可以使用多个自定义特性来实现此目的。在此示例中,您可以将自定义特性同时用于生产国家/地区和生产城市。

6. “建议”页是如何运作的?

建议是用户查询、重写的查询、产品名称等组合。为了生成高质量的自动补全建议,您应该提取足够的搜索事件以及目录。

预测结果

1. 我可以返回的预测数量有限制吗?

默认情况下,预测请求会在响应中返回 20 个项。您可以通过提交 pageSize 值来增加或减少此数值。

如果您需要返回 100 多个项,请与 Google 支持团队联系以提高限额。但请注意,返回 100 多个项可能会增加响应延迟时间。

2. 我能否查看模型提出特定产品建议的原因?

目前不能。

3. 我可以下载和缓存预测结果吗?

由于预测结果会实时响应您网站上的用户活动,因此我们不建议使用已缓存的预测。该模型每天都会重新训练模型,将更改纳入目录,并对可以改变结果的用户事件中的新趋势做出回应。

4. 我需要根据业务规则对返回的建议进行重新排名。系统是否支持本功能?

符合。虽然您可以根据业务规则重新调整返回的建议的优先级,但请注意,重新排序建议或过滤推荐结果可能会降低模型的整体优化效果。

价格重新排序会从返回的推荐集中首先列出相关的高价商品,作为“其他您可能喜欢”和“为您推荐”和“为您推荐”模型的内置自定义功能。

请参阅价格重排序

5. 我可以创建和使用的过滤器标记的数量是否有限制?

您可以创建或可使用的唯一标记数量没有硬性限制。不过,该系统并非旨在为每个项目处理多个过滤器标签。如果可能,我们建议为每个目录项最多保留 10 个过滤器标记。在整个目录中都可以使用超过 10 个值;这是针对每件商品的限制。总标记(所有项标签的数量总和)上限为 1 亿。

请参阅 Vertex AI Search 零售配额和限制文档。

6. 我可以获得多样化的建议吗?

符合。多样化可以在投放配置中指定,也可以在预测请求参数中指定。由于多样性程度低,预测中可能包含属于同一类别的相似商品。多样化程度较高时,结果将包含其他类别的商品。

7. 我可以按价格确定建议的优先级吗?

可以。价格重排序会导致推荐概率相近的推荐商品按价格进行排序,价格最高的商品列在第一位。相关性仍会用于订购商品,因此启用价格重排序与按价格排序不同。可以在投放配置或预测请求参数中指定价格重排序。

模型

1. 我已上传目录和事件,但当调用预测 API 时仍收到此响应:“推荐模型尚未准备就绪。您可以在预测请求中将“dryRun”设置为 true 以进行集成,这会从目录中返回任意目录项(请勿用于生产流量)。”

这通常意味着您的模型尚未完成训练。如果您模型创建已超过 10 天,但仍收到此响应,请与支持团队联系。

2. 训练模型需要多长时间?

初始模型训练和调整需要 2-5 天才能完成,但对于大型数据集,可能需要更长时间。此后,除非停用,否则每天会自动重新训练模型。请参阅暂停和继续模型训练

3. 我可以下载或导出模型吗?

不需要

4. 我可以在新项目中使用现有项目中创建的模型吗?

不会。您需要在新项目中创建并重新训练模型。

5. 我想为类别页面使用模型。可以这样做吗?

符合。“为你推荐”在类别页面上非常有用。 类别页与首页相似,区别于前者只能显示属于该类别的商品。您可以使用推荐给您的带有过滤器标签的标准模型来实现此目的。例如,您可以向目录中的项添加自定义过滤器标记(对应于每个类别页面)。发送预测请求时,将用户事件对象设置为 category-page-view,并在 filter 字段中指定特定类别页面的标记。仅返回与所请求的过滤条件标记匹配的建议结果。在此用例中应停用多样性,因为多样性可能会与基于类别的过滤标记冲突。

6. 我可以停用模型个性化功能吗?

默认情况下,系统会针对“您可能喜欢的其他商品”“为您推荐”和“再次购买”建议模型类型,按用户个性化预测结果。

我们不建议停用个性化功能,因为这会对模型性能产生负面影响。

如果您需要显示与正在浏览的商品相关的目录项,而不是根据用户之前与您网站的互动情况,可以在预测请求中使用随机唯一身份访问者 ID 来接收非个性化推荐。请确保只针对您不想个性化的投放配置中的请求执行此操作。

Search for Retail 控制台

1. 我清除了许多事件,但信息中心仍然显示这些事件类型的计数。

这是正常现象。Search for Retail 信息中心会显示特定时间段内提取的事件数量,但不会显示当前事件数量或事件数。

通常情况下,在记录用户事件后,您应妥善保留。不建议清除事件。如果您打算完全重置用户事件,请考虑创建新项目。

如果您确实需要完全清除未正确记录的事件,请参阅移除用户事件文档。事件完全清除最长可能需要几天才能完成。

2. 如何判断目录事件或用户事件是否存在错误?

如果存在语法问题或者由于某种原因无法处理请求,则目录项更新或用户事件的大多数 API 调用都会返回错误。

Search for Retail 信息中心会显示未联接事件的百分比,这也是发现目录或事件问题的实用指标。如果的目录中不包含指定项目 ID,则会发生未联接的事件(或未连接的预测调用)。这通常意味着目录过期,需要上传新的或已更改的目录项,但也可能由于传递了错误项目 ID。请检查您的请求,确保项目 ID 正确映射到相应的目录,然后检查您上传的目录以确保项存在。

Cloud MonitoringCloud Logging 可用于监控事件的状态。例如,如果在某个时间段内没有事件或者预测调用低于特定阈值,您将收到提醒。

3. 为什么我的推荐服务配置显示为无效?如何激活它们?

如需使用推荐服务配置,您首先需要提交目录用户事件数据以训练相应的模型。模型训练完成后,信息中心会指示模型已可供查询。

4. Search for Retail 会采用哪种货币报告收入指标?

以您上传的数据所用的货币搜索 Retail 报告指标。适用于零售业的 Vertex AI Search 不支持每个目录使用多种货币,也不转换货币。

如果您计划使用 Search for Retail 控制台来获取收入指标,请确保所有事件都使用单一币种或将其转换为同一币种,然后再将其上传到 Vertex AI Search for Retail。