免责声明:这不是 Google 官方产品。
FeedGen 最适合最多 30k 个项目。希望进一步扩大规模?加入Product Studio API alpha (请联系 [email protected])或考虑在 BigQuery 中处理您的 Feed。
概述 • 入门 • 它解决什么问题 • 工作原理 • 如何贡献 • 社区聚焦
gemini-1.5-pro
和gemini-1.5-flash
的支持structured_title
和structured_description
而不是分别使用title
和description
。有关详细信息,请参阅这些说明。gemini-1.5-pro-preview-0409
。请注意,型号名称将来可能会发生(重大)更改。gemini-1.0-pro
和gemini-1.0-pro-vision
gemini-pro
和gemini-pro-vision
)gemini-pro-vision
)v1
并在main
上切换至 JS/TS FeedGen是一款开源工具,它使用 Google Cloud 最先进的大型语言模型 (LLM) 来改进产品标题、生成更全面的描述并填充产品 Feed 中缺失的属性。它可以使用生成式人工智能以简单且可配置的方式帮助商家和广告商发现并解决其 Feed 中的质量问题。
该工具依靠 GCP 的 Vertex AI API 在 GCP 的基础 LLM 上提供零样本和少样本推理功能。通过少量提示,您可以使用自己购物源中的最佳 3-10 个样本来自定义模型对您自己的数据的响应,从而实现更高的质量和更一致的输出。通过使用您自己的专有数据微调基础模型,可以进一步优化这一点。在本指南中了解如何使用 Vertex AI 微调模型以及这样做的好处。
注意:在使用 FeedGen 之前,请检查您的目标 Feed 语言是否是 Vertex AI 支持的语言之一,如果不是,请联系您的 Google Cloud 或客户代表。
开始使用 FeedGen:
Getting Started
工作表中详细说明进行操作优化购物 Feed 是每个与 Google Merchant Center (MC) 合作的广告客户的目标,以改善查询匹配、增加覆盖范围并最终提高点击率 (CTR)。然而,在 MC 中筛选不批准的产品或手动修复质量问题很麻烦。
FeedGen 使用生成式 AI 解决了这个问题,允许用户以自动化的方式发现并修复质量问题,并填补提要中的属性空白。
FeedGen 是一个基于 Apps 脚本的应用程序,在 Google 表格中作为 HTML 侧边栏(有关详细信息,请参阅 HtmlService)运行。关联的 Google Sheets 电子表格模板是所有魔法发生的地方;它保存需要优化的输入源,以及控制内容生成方式的特定配置值。该电子表格还用于(可选)人工验证以及在 Google Merchant Center (MC) 中设置补充 Feed 。
一般来说,Vertex AI 中的生成语言是一项新兴功能/技术。我们强烈建议手动检查和验证生成的标题和描述。 FeedGen 通过为标题和描述(以及详细组件)提供代表生成内容“好”程度的分数,以及通过数据过滤器批量批准生成内容的 Sheets 原生方式,帮助用户加快这一过程。
首先,复制模板电子表格并按照“入门”部分中定义的说明进行操作。第一步是通过“初始化”按钮向 Apps 脚本环境验证您自己的身份,如下所示。
然后,导航到配置工作表以配置源设置、Vertex AI API 设置(包括对将产生的成本的估计)以及控制内容生成的设置。
描述生成的工作原理是采用配置表中给出的提示前缀,附加来自输入的一行数据并将结果作为提示发送给 LLM。这为您提供了极大的灵活性来塑造措辞、风格和您可能有的其他要求。输入源中的所有数据都将作为提示的一部分提供。
如果输入源中提供了网页链接,您还可以选中Use Landing Page Information
复选框以加载产品网页的经过清理的内容并将其传递到提示中。所有span
和p
标签均从获取的 HTML 内容中提取并连接在一起,形成附加的信息段落,并在提示中传递给 LLM,以及有关如何使用此附加信息的专用说明。 JSON Web 响应将按原样使用,无需额外解析。此外,使用 Apps Script 的 CacheService 将获取的网页信息缓存 60 秒,以避免重新获取和重新解析内容以生成标题(这是对 Vertex AI API 的单独调用)。
可选:您还可以在“少量示例”部分中提供描述示例(见下文)。这些也将附加到提示前缀中,并告知模型良好的描述是什么样子的。
结果直接输出为生成的描述
由于法学硕士有产生幻觉的倾向,因此可以选择询问模型(在同一提示中的后续说明中)生成的描述是否符合您的标准。该模型评估它刚刚生成的描述,并以数字分数和推理进行响应。提供了示例验证标准和评分,以给出有关如何指示模型评估描述的一些提示 - 例如,它包括标准以及示例评分值。
标题使用少镜头提示;一种技术,人们可以从自己的输入源中选择样本,如下所示,以自定义模型对其数据的响应。为了帮助完成此过程,FeedGen 提供了一个实用的 Google Sheets 公式:
= FEEDGEN_CREATE_CONTEXT_JSON( ' Input Feed ' !A2)
与其他表格公式一样,它可用于通过向下拖动来填充几次提示示例表中的“上下文”信息字段。此“上下文”表示来自该项目的输入源的整行数据,它将作为提示的一部分发送到 Vertex AI API。
之后,您必须手动填写少数提示示例表的剩余列,这些列定义了 LLM 的预期输出。这些示例非常重要,因为它们为法学硕士学习如何为其余输入提要生成内容提供了基础。最好的选择示例是以下产品:
我们建议您在 Feed 中为每个唯一类别至少添加一个示例,尤其是在理想的标题构成有所不同的情况下。
FeedGen 默认使用输入提要中的属性而不是生成的属性值来组成标题,以避免 LLM 幻觉并确保一致性。例如,特定提要项的输入提要属性Color中的值Blue
将用于其相应的标题,而不是生成的值Navy
。此行为可以通过“标题提示设置”的“高级设置”部分中的Prefer Generated Values
复选框来覆盖,并且在输入源本身包含错误或质量差的数据时非常有用。
在同一部分中,您还可以指定可以在生成的标题中输出的安全词列表,即使它们事先不存在于您的提要中。例如,如果您想为Size
属性的所有值添加前缀(即“Size M”而不是“M”),则可以将单词“Size”添加到此列表中。
最后,您还可以使用Use LLM-generated Titles
复选框指定是否希望 LLM 为您生成标题。这允许 LLM 检查生成的属性值并选择将哪些属性值连接在一起 - 避免重复 - 而不是将所有属性值缝合在一起的默认逻辑。此功能应该比 PaLM 2 更适合 Gemini 模型,因为 Gemini 模型具有更好的推理功能,使它们能够比 PaLM 2 模型更好地提示指令。此外,LLM 生成的标题允许您在提示中指定所需的标题长度(Merchant Center 最多 150 个字符),这在以前是不可能的。
与描述一样,您也可以选择从提供的网页链接加载信息并将其传递给法学硕士以生成更高质量的标题。这可以通过Use Landing Page Information
复选框来完成,选中后,从网页数据中提取的所有功能将列在名为“网站功能”的新属性下。现有属性未涵盖的新单词将添加到生成的标题中。
现在您已完成配置并准备好优化您的 Feed。使用顶部导航菜单启动 FeedGen 侧边栏并开始在生成内容验证工作表中生成和验证内容。
您通常会在此视图中工作,以了解、批准和/或重新生成每个源项目的内容,如下所示:
完成所有必要的批准并对输出感到满意后,单击导出到输出源将所有批准的源项目传输到输出源工作表。
最后一步是将电子表格连接到 MC 作为补充源,这可以按照此帮助中心文章(适用于标准 MC 帐户)和此帮助中心文章(适用于多客户帐户 (MCA))中的说明来完成。
请注意,输出提要中有一个att-p-feedgen列。该列名称完全灵活,可以直接在输出工作表中更改。它将自定义属性添加到补充提要中,以用于报告和绩效衡量目的。
由于 Gemini ( gemini-pro-vision
) 是一个多模式模型,因此我们能够额外检查产品图像并使用它们来生成更高质量的标题和描述。这是通过向现有标题和描述生成提示添加附加指令来完成的,以便从提供的图像中提取可见的产品特征。
对于标题,提取的特征有两种使用方式:
对于描述,模型使用提取的特征来生成更全面的描述,突出产品的视觉方面。这对于视觉吸引力至关重要的领域尤其重要;产品的关键细节以视觉方式传达,而不是以提要中的结构化文本格式。其中包括时装、家居装饰和家具、香水和珠宝等。
最后,需要注意以下限制(此信息在 Gemini公共预览期间有效):
Image Link
列中指定网络图像和/或 Google Cloud Storage (GCS) 文件 URI。 GCS URI 按原样传递给 Gemini(因为模型本身支持它们),而首先下载 Web 图像并作为模型输入的一部分内联提供。image/png
和image/jpeg
MIME 类型。得分低于Min. Evaluation Approval Score
不会被预先批准。您可以通过过滤“描述分数”并删除“生成验证”选项卡中的“状态”值来重新生成这些值。
FeedGen 为生成的标题提供介于 -1 和 1 之间的分数,作为质量指标。正分表示不同程度的良好质量,而负分表示生成内容的不确定性。与描述一样,您可以指定希望 FeedGen 预先批准的最低分数(默认为 0)。
让我们仔细看看一些虚构的例子,以更好地理解标题的评分:
让我们看一下同一产品的另一个示例:
<Brand> <Gender> <Category> <Product Type>
<Brand> <Gender> <Category> <Product Type> <Size>
Product Type
属性的组件以更糟糕的方式发生了变化,因此得分为负。FeedGen 的评分比较保守;每当任何单词被删除时,它都会分配 -0.5 的分数,即使这些单词是促销短语,例如
get yours now
或while stocks last
,根据 Merchant Center (MC) 概述的最佳实践,这些单词不应成为标题的一部分。
好吧,那么什么才是一个好的标题呢?让我们看另一个例子:
最后,理想的情况是什么?让我们看最后一个例子:
总而言之,评分系统的工作原理如下:
是否出现幻觉? | 我们删除了任何文字吗? | 一点变化都没有吗? | 我们优化了标题吗? | 我们是否填补了缺失的空白或提取了新的属性? |
---|---|---|---|---|
-1 | -0.5 | 0 | 添加0.5 | 添加0.5 |
FeedGen 还应用一些基本的 MC 合规性检查,例如标题和描述不得分别超过 150 个和 5000 个字符。如果生成的内容未通过这些检查,则“状态”列中将输出值Failed compliance checks
。如上所述,每当单击“生成”按钮时,FeedGen 将首先尝试重新生成Failed
项目。
FeedGen 不仅可以填补 Feed 中的空白,还可以创建输入 Feed中未提供的全新属性。这可以通过配置表中的几次提示示例进行控制;通过提供这些示例中的输入中不存在的“新”属性,FeedGen 将尝试从输入提要中的其他值中提取这些新属性的值。让我们看一个例子:
原标题 | 原标题中的产品属性 | 生成标题中的产品属性 | 生成的属性值 |
---|---|---|---|
ASICS 女式高性能七分裤紧身裤 | 品牌、性别、产品类型 | 品牌、性别、产品类型、适合度 | ASICS,女式性能,跑步七分裤,紧身 |
请注意这里Fit属性是如何从Product Type中提取出来的。 FeedGen 现在将尝试对 Feed 中的所有其他产品执行相同的操作,例如,它将从标题Agave Men's Jeans Waterman Relaxed
中提取值Relaxed
as Fit 。如果您不想创建这些属性,请确保仅使用输入提要中存在的属性来进行几次提示示例。此外,这些全新的 feed 属性将在输出 Feed中以feedgen-为前缀(例如 feedgen-Fit),并将排序到工作表的末尾,以便您在不想使用它们时更容易找到和删除它们。
我们根据您的业务领域推荐以下标题模式:
领域 | 推荐的标题结构 | 例子 |
---|---|---|
服饰 | 品牌+性别+产品类型+属性(颜色、尺寸、材质) | Ann Taylor 女式毛衣,黑色(6 码) |
消耗品 | 品牌+产品类型+属性(重量、数量) | TwinLab Mega CoQ10,50 毫克,60 粒胶囊 |
硬货 | 品牌+产品+属性(尺寸、重量、数量) | Frontgate 柳条露台椅套装,棕色,4 件套 |
电子产品 | 品牌+属性+产品类型 | 三星 88 英寸 4K 3D 曲面屏智能 LED 电视 |
图书 | 标题 + 类型 + 格式(精装书、电子书)+ 作者 | 1,000 份意大利食谱食谱,精装本,作者 Michele Scicolone |
您可以依靠这些模式来生成 FeedGen Config
工作表中定义的少量提示示例,这将相应地引导模型生成的值。
我们还提出以下建议:
请参阅 Vertex AI 定价以及配额和限制指南以了解更多信息。
自 2024 年 4 月 9 日起,根据更新后的 Merchant Center 产品数据规范,用户需要披露是否使用生成式 AI 来策划标题和说明的文本内容。这样做的主要挑战是用户无法在同一个 feed 中同时发送title
和structured_title
,或者description
和structured_description
,因为原始列值将始终胜过structured_
变体。因此,在将批准的生成导出到 FeedGen 的“输出 Feed”选项卡后,用户需要执行一系列额外的步骤:
title
和description
列分别重命名为structured_title
和structured_description
。trained_algorithmic_media:
添加到所有生成的内容中。我们将很快为您自动执行步骤 #3 和 #4 - 敬请期待!
感谢 Glen Wilson 和 Solutions-8 团队提供的详细信息和图像。
除了我们的贡献指南中概述的信息之外,您还需要按照以下附加步骤在本地构建 FeedGen:
npm install
。npx @google/aside init
并单击提示。Script ID
。您可以通过单击目标工作表顶部导航菜单中的Extensions > Apps Script
,然后导航到生成的“应用程序脚本”视图中的Project Settings
”(齿轮图标)来找到此值。npm run deploy
来构建、测试和部署(通过 clasp)所有代码到目标电子表格/Apps 脚本项目。