⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考英文原版。

步骤 1:创建新工作流
- 前往 工作室,然后选择 从空白创建 > 工作流。
- 将工作流命名为
多平台内容生成器,然后点击 创建。你将自动进入工作流画布开始构建。
步骤 2:添加和配置工作流节点
保持未提及的设置为默认值。
1. 用户输入节点:收集终端用户的输入
首先,我们需要定义从用户那里收集什么信息,例如草稿文本、目标平台、期望的语调以及任何参考材料。用户输入节点是我们可以轻松设置这些的地方。我们在这里添加的每个输入字段都会成为所有下游节点可以引用和使用的变量。

参考材料 - 文本
参考材料 - 文本
- 字段类型:
段落 - 变量名:
draft - 标签名:
草稿 - 最大长度:
2048 - 必填:
否
参考材料 - 文件
参考材料 - 文件
- 字段类型:
文件列表 - 变量名:
user_file - 标签名:
上传文件 (≤ 10) - 支持文件类型:
文档、图片 - 上传文件类型:
两者 - 最大上传数量:
10 - 必填:
否
语音和语调
语音和语调
- 字段类型:
段落 - 变量名:
voice_and_tone - 标签名:
语音与语调 - 最大长度:
2048 - 必填:
否
目标平台
目标平台
- 字段类型:
短文本 - 变量名:
platform - 标签名:
目标平台 (≤ 10) - 最大长度:
256 - 必填:
是
语言要求
语言要求
- 字段类型:
选择 - 变量名:
language - 标签名:
语言 - 选项:
English日本語简体中文
- 默认值:
English - 必填:
是
2. 参数提取器节点:识别目标平台
由于我们的平台字段接受自由格式的文本输入,用户可能会以各种方式输入:
x 和 linkedIn、在 Twitter 和 LinkedIn 上发布,甚至 Twitter + LinkedIn please。然而,我们需要一个干净、结构化的列表,如 ["Twitter", "LinkedIn"],下游节点可以可靠地使用。这正是参数提取器节点的完美工作。它使用 LLM 来分析用户的自然语言,识别所有这些变化,并输出标准化的数组。
- 选择一个模型。
-
将
User Input/platform设置为输入变量。 -
添加一个提取参数:
- 名称:
platform - 类型:
Array[String] - 描述:
识别并提取用户想要创建定制内容的平台。 - 必填:
是
- 名称:
-
在指令字段中,粘贴以下内容来引导 LLM 进行参数提取:
指令注意,我们已指示 LLM 为无效输入输出特定的错误消息,这将在下一步中作为我们工作流的结束触发器。
3. IF/ELSE 节点:验证平台提取结果
如果用户输入了无效的平台名称,比如
ohhhhhh 或 BookFace 怎么办?我们不想浪费时间和令牌生成无用的内容。在这种情况下,我们可以使用 IF/ELSE 节点创建一个分支,提前停止工作流。我们将设置一个条件来检查参数提取器节点的错误消息;如果检测到该消息,工作流将直接路由到输出节点并结束。
- 在参数提取器节点之后,添加一个 IF/ELSE 节点。
-
在 IF/ELSE 节点的面板上,定义 IF 条件:
IF
Parameter Extractor/platform包含未识别到平台。请输入有效的平台名称。 - 在 IF/ELSE 节点之后,向 IF 分支添加一个输出节点。
-
在输出节点的面板上,将
Parameter Extractor/platform设置为输出变量。
4. 列表操作器节点:按类型分离上传的文件
我们的用户可以上传图像和文档作为参考材料,但这两种类型需要不同的处理:图像可以由启用视觉的模型直接解释,而文档必须首先转换为文本,LLM 才能理解其内容。为了管理这一点,我们将使用两个列表操作器节点来过滤和将上传的文件分成单独的分支——一个用于图像,一个用于文档。

- 在 IF/ELSE 节点之后,向 ELSE 分支添加两个列表操作器节点。
- 将一个节点重命名为
图像,另一个重命名为文档。 - 配置图像节点:
- 将
User Input/user_file设置为输入变量。 - 启用过滤条件:
{x}type在Image
- 将
- 配置文档节点:
- 将
User Input/user_file设置为输入变量。 - 启用过滤条件:
{x}type在Doc。
- 将
5. 文档提取器节点:从文档中提取文本
LLM 不能直接读取像 PDF 或 DOCX 这样的上传文件。要使用这些文档中的信息,我们必须首先将它们转换为 LLM 可以处理的纯文本。这正是文档提取器节点所做的。它将文档文件作为输入,并为下一步输出干净、可用的文本。
- 在文档节点之后,添加一个文档提取器节点。
- 在文档提取器节点的面板上,将
Document/result设置为输入变量。
6. LLM 节点:整合所有参考材料
当用户同时提供多种参考类型——草稿文本、文档和图像时,我们需要将它们整合成一个连贯的摘要。LLM 节点将通过分析所有分散的片段来处理此任务,创建一个指导后续内容生成的综合上下文。

- 在文档提取器节点之后,添加一个 LLM 节点。
- 将图像节点也连接到这个 LLM 节点。
- 点击 LLM 节点进行配置:
-
将其重命名为
整合信息。 - 选择一个支持视觉的模型(由眼睛图标表示)。
-
启用 视觉 并将
Image/result设置为视觉变量。 -
在系统提示字段中,粘贴以下内容:
系统
-
将其重命名为
7. 迭代节点:为每个平台创建定制内容
现在整合的参考和目标平台已准备就绪,让我们使用迭代节点为每个平台生成定制的帖子。该节点将遍历平台列表并为每个平台运行子工作流:首先分析特定平台的风格指南和最佳实践,然后基于所有可用信息生成优化的内容。

- 在整合信息节点之后,添加一个迭代节点。
- 在迭代节点内部,添加一个 LLM 节点并配置它:
-
将其重命名为
识别风格。 - 选择一个模型。
-
在系统提示字段中,粘贴以下内容:
系统
-
将其重命名为
- 在识别风格节点之后,添加另一个 LLM 节点并配置它:
-
将其重命名为
创建内容。 - 选择一个模型。
-
在系统提示字段中,粘贴以下内容:
系统
-
启用结构化输出。

- 在 输出变量 旁边,将 结构化 切换为开启。structured_output 变量将出现在下方。
- 在 structured_output 旁边,点击 配置。
-
在弹出的架构编辑器中,点击右上角的 从 JSON 导入,并粘贴以下内容:
-
将其重命名为
- 点击迭代节点进行配置:
-
将
Parameter Extractor/platform设置为输入变量。 -
将
Create Content/structured_output设置为输出变量。 -
启用 并行模式 并将最大并行度设置为
10。这就是为什么我们在用户输入节点的目标平台字段的标签名称中包含了(≤10)。
-
将
8. 模板节点:格式化最终输出
迭代节点为每个平台生成一个帖子,但其输出是原始数据数组(例如,
[{"platform_name": "Twitter", "post_content": "..."}]),不太可读。我们需要以更清晰的格式呈现结果。这就是模板节点的用武之地——它允许我们使用 Jinja2 模板将这些原始数据格式化为组织良好的文本,确保最终输出用户友好且易于理解。
- 在迭代节点之后,添加一个模板节点。
-
在模板节点的面板上,将
Iteration/output设置为输入变量。 -
粘贴以下 Jinja2 代码(记得删除注释)。
9. 输出节点:将结果返回给用户
- 在模板节点之后,添加一个输出节点。
- 在输出节点的面板上,将
Template/output设置为输出变量。
步骤 3:测试
你的工作流现在已完成!让我们测试一下。-
确保你的检查列表已清除。

- 对照开头提供的参考图检查你的工作流,确保所有节点和连接都匹配。
- 点击右上角的 运行,填写输入字段,然后点击 开始运行。 要使用缓存的输入运行单个节点,请点击其配置面板顶部的 运行此步骤 图标。 如果遇到任何错误,请检查相应节点的 最后运行 日志以确定问题的确切原因。
