From 48f5a0fb6fe27c0837f8088e0523517c96acc034 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 9 Mar 2026 09:46:06 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=90=20Initial=20translations=20for=20P?= =?UTF-8?q?R=20#701?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auto-generated translations for documentation changes in PR #701. Last-Processed-Commit: cdb027b687bfb76dca406ec31e0a64679c4d66a8 Original-PR: #701 Languages: Chinese (zh), Japanese (ja) 🤖 Generated with GitHub Actions --- zh/use-dify/getting-started/quick-start.mdx | 758 ++++++++++---------- 1 file changed, 398 insertions(+), 360 deletions(-) diff --git a/zh/use-dify/getting-started/quick-start.mdx b/zh/use-dify/getting-started/quick-start.mdx index c822ef99f..634cfc56a 100644 --- a/zh/use-dify/getting-started/quick-start.mdx +++ b/zh/use-dify/getting-started/quick-start.mdx @@ -14,19 +14,50 @@ icon: "forward" 完整的工作流如下所示。在构建过程中,可以随时参考它以保持正轨,并了解所有节点如何协同工作。 -快速入门工作流概览 + + ![工作流概览](/images/deeper_dive_workflow_overview.png) + + +## 开始之前 + + + + + 前往 [Dify Cloud](https://cloud.dify.ai) 并免费注册。 + + Sandbox 计划的新账户包含 200 条消息额度,可用于调用 OpenAI、Anthropic 和 Gemini 等提供商的模型。 + + + 消息额度是一次性分配的,不会每月更新。 + + + + + + 前往 **设置** > **模型提供商** 并安装 OpenAI 插件。本教程使用 `gpt-5.2` 作为示例。 + + 如果你使用 Sandbox 额度,无需 API 密钥——插件安装后即可使用。你也可以配置自己的 API 密钥来使用。 + + + + + + 1. 在 **模型提供商** 页面的右上角,点击 **系统模型设置**。 + + 2. 将 **系统推理模型** 设置为 `gpt-5.2`。这将成为工作流中的默认模型。 + + + ## 步骤 1:创建新工作流 -1. 前往 **工作室**,然后选择 **从空白创建** \> **工作流**。 +1. 前往 **工作室**,然后选择 **从空白创建** > **工作流**。 + 2. 将工作流命名为 `多平台内容生成器`,然后点击 **创建**。你将自动进入工作流画布开始构建。 -## 步骤 2:添加和配置工作流节点 +3. 选择用户输入节点来开始我们的工作流。 + +## 步骤 2:编排和配置 保持未提及的设置为默认值。 @@ -36,22 +67,14 @@ icon: "forward" 为节点和变量提供清晰、描述性的名称,使它们在工作流中更容易识别和引用。 -### 1. 用户输入节点:收集终端用户的输入 +### 1. 收集用户输入:用户输入节点 - 首先,我们需要定义从用户那里收集什么信息,例如草稿文本、目标平台、期望的语调以及任何参考材料。 + 首先,我们需要定义从用户那里收集什么信息来运行我们的内容生成器,例如草稿文本、目标平台、期望的语调以及任何参考材料。 用户输入节点是我们可以轻松设置这些的地方。我们在这里添加的每个输入字段都会成为所有下游节点可以引用和使用的变量。 -用户输入节点 - 点击用户输入节点,打开其配置面板,然后添加以下输入字段。 @@ -59,7 +82,7 @@ icon: "forward" - 变量名:`draft` - 标签名:`草稿` - 最大长度:`2048` - - 必填:`否` + - 必填:`是` @@ -96,62 +119,70 @@ icon: "forward" - `English` - `日本語` - `简体中文` - - 默认值:`English` - 必填:`是` -### 2. 参数提取器节点:识别目标平台 + + ![用户输入](/images/deeper_dive_start.png) + + +### 2. 识别目标平台:参数提取器节点 - 由于我们的平台字段接受自由格式的文本输入,用户可能会以各种方式输入:`x 和 linkedIn`、`在 Twitter 和 LinkedIn 上发布`,甚至 `Twitter + LinkedIn please`。然而,我们需要一个干净、结构化的列表,如 `["Twitter", "LinkedIn"]`,下游节点可以可靠地使用。 + 由于我们的平台字段接受自由格式的文本输入,用户可能会以各种方式输入:`x 和 linkedIn`、`在 Twitter 和 LinkedIn 上发布`,甚至 `Twitter + LinkedIn please`。 + + 然而,我们需要一个干净、结构化的列表,如 `["Twitter", "LinkedIn"]`,下游节点可以可靠地使用。 - 这正是参数提取器节点的完美工作。它使用 LLM 来分析用户的自然语言,识别所有这些变化,并输出标准化的数组。 + 这正是参数提取器节点的完美工作。在我们的案例中,它使用 gpt-5.2 模型来分析用户的自然语言,识别所有这些变化,并输出标准化的数组。 -参数提取器 - 在用户输入节点之后,添加一个参数提取器节点并配置它: -1. 选择一个模型。 -2. 将 `User Input/platform` 设置为输入变量。 -3. 添加一个提取参数: - 1. 名称:`platform` - 2. 类型:`Array[String]` - 3. 描述:`识别并提取用户想要创建定制内容的平台。` - 4. 必填:`是` -4. 在指令字段中,粘贴以下内容来引导 LLM 进行参数提取: - - ```markdown 指令 - # 任务描述 - 解析输入中的平台名称并输出为 JSON 数组。 - - ## 处理规则 - - 支持多种分隔符:逗号、分号、空格、换行、"and"、"&"、"|" 等。 - - 标准化常见平台名称变体(twitter/X→Twitter,insta→Instagram 等)。 - - 删除重复和无效条目 - - 保留未知但合理的平台名称 - - ## 输出要求 - - 成功:["Platform1", "Platform2"] - - 未找到平台:[未识别到平台。请输入有效的平台名称。] - - ## 示例 - - 输入:"twitter, linkedin" → ["Twitter", "LinkedIn"] - - 输入:"x and insta" → ["Twitter", "Instagram"] - - 输入:"invalid content" → [未识别到平台。请输入有效的平台名称。] - ``` - - - 注意,我们已指示 LLM 为无效输入输出特定的错误消息,这将在下一步中作为我们工作流的结束触发器。 - - -### 3. IF/ELSE 节点:验证平台提取结果 +1. 在 **输入变量** 字段中,选择 `User Input/platform`。 + +2. 添加一个提取参数: + + - 名称:`platform` + + - 类型:`Array[String]` + + - 描述:`The platform(s) for which the user wants to create tailored content.` + + - 必填:`是` + +3. 在 **指令** 字段中,粘贴以下内容来引导 LLM 进行参数提取: + + ```markdown INSTRUCTION + # TASK DESCRIPTION + Parse platform names from input and output as a JSON array. + + ## PROCESSING RULES + - Support multiple delimiters: commas, semicolons, spaces, line breaks, "and", "&", "|", etc. + - Standardize common platform name variants (twitter/X→Twitter, insta→Instagram, etc.) + - Remove duplicates and invalid entries + - Preserve unknown but reasonable platform names + - Preserve the original language of platform names + + ## OUTPUT REQUIREMENTS + - Success: ["Platform1", "Platform2"] + - No platforms found: [No platforms identified. Please enter a valid platform name.] + + ## EXAMPLES + - Input: "twitter, linkedin" → ["Twitter", "LinkedIn"] + - Input: "x and insta" → ["Twitter", "Instagram"] + - Input: "invalid content" → [No platforms identified. Please enter a valid platform name.] + ``` + + + 注意,我们已指示 LLM 为无效输入输出特定的错误消息,这将在下一步中作为我们工作流的结束触发器。 + + + + + ![参数提取器](/images/deeper_dive_paramater_extractor.png) + + +### 3. 验证平台提取结果:IF/ELSE 节点 如果用户输入了无效的平台名称,比如 `ohhhhhh` 或 `BookFace` 怎么办?我们不想浪费时间和令牌生成无用的内容。 @@ -159,58 +190,64 @@ icon: "forward" 在这种情况下,我们可以使用 IF/ELSE 节点创建一个分支,提前停止工作流。我们将设置一个条件来检查参数提取器节点的错误消息;如果检测到该消息,工作流将直接路由到输出节点并结束。 -If 条件 + + ![IF 分支](/images/deeper_dive_if.png) + 1. 在参数提取器节点之后,添加一个 IF/ELSE 节点。 -2. 在 IF/ELSE 节点的面板上,定义 IF 条件: - **IF** `Parameter Extractor/platform` `包含` `未识别到平台。请输入有效的平台名称。` +2. 在 IF/ELSE 节点的面板上,定义 **IF** 条件: + + **IF** `Parameter Extractor/platform` **包含** `No platforms identified. Please enter a valid platform name.` + 3. 在 IF/ELSE 节点之后,向 IF 分支添加一个输出节点。 + 4. 在输出节点的面板上,将 `Parameter Extractor/platform` 设置为输出变量。 -### 4. 列表操作器节点:按类型分离上传的文件 +### 4. 按类型分离上传的文件:列表操作器节点 - 我们的用户可以上传图像和文档作为参考材料,但这两种类型需要不同的处理:图像可以由启用视觉的模型直接解释,而文档必须首先转换为文本,LLM 才能理解其内容。 + + 我们的用户可以上传图像和文档作为参考材料,但这两种类型在使用 `gpt-5.2` 时需要不同的处理:图像可以通过其视觉能力直接解释,而文档必须首先转换为文本,模型才能处理。 为了管理这一点,我们将使用两个列表操作器节点来过滤和将上传的文件分成单独的分支——一个用于图像,一个用于文档。 -列表操作器 - -1. 在 IF/ELSE 节点之后,向 ELSE 分支添加两个列表操作器节点。 -2. 将一个节点重命名为 `图像`,另一个重命名为 `文档`。 -3. 配置图像节点: - 1. 将 `User Input/user_file` 设置为输入变量。 - 2. 启用过滤条件:`{x}type` `在` `Image` -4. 配置文档节点: - 1. 将 `User Input/user_file` 设置为输入变量。 - 2. 启用过滤条件:`{x}type` `在` `Doc`。 - -### 5. 文档提取器节点:从文档中提取文本 + + ![列表操作器](/images/deeper_dive_list_operator.png) + + +1. 在 IF/ELSE 节点之后,向 ELSE 分支添加**两个**并行的列表操作器节点。 + +2. 将一个节点重命名为 `Image`,另一个重命名为 `Document`。 + +3. 配置 Image 节点: + 1. 将 `User Input/user_file` 设置为输入变量。 + + 2. 启用**过滤条件**:`{x}type` **在** `Image`。 + +4. 配置 Document 节点: + 1. 将 `User Input/user_file` 设置为输入变量。 + + 2. 启用**过滤条件**:`{x}type` **在** `Doc`。 + +### 5. 从文档中提取文本:文档提取器节点 - LLM 不能直接读取像 PDF 或 DOCX 这样的上传文件。要使用这些文档中的信息,我们必须首先将它们转换为 LLM 可以处理的纯文本。 + `gpt-5.2` 不能直接读取像 PDF 或 DOCX 这样的上传文档,所以我们必须首先将它们转换为纯文本。 这正是文档提取器节点所做的。它将文档文件作为输入,并为下一步输出干净、可用的文本。 -1. 在文档节点之后,添加一个文档提取器节点。 + + ![文档提取器](/images/deeper_dive_doc_extractor.png) + + +1. 在 Document 节点之后,添加一个文档提取器节点。 + 2. 在文档提取器节点的面板上,将 `Document/result` 设置为输入变量。 -### 6. LLM 节点:整合所有参考材料 +### 6. 整合所有参考材料:LLM 节点 当用户同时提供多种参考类型——草稿文本、文档和图像时,我们需要将它们整合成一个连贯的摘要。 @@ -218,86 +255,81 @@ icon: "forward" LLM 节点将通过分析所有分散的片段来处理此任务,创建一个指导后续内容生成的综合上下文。 -整合信息 + + ![整合信息](/images/deeper_dive_info_integrate.png) + 1. 在文档提取器节点之后,添加一个 LLM 节点。 -2. 将图像节点也连接到这个 LLM 节点。 + +2. 将 Image 节点也连接到这个 LLM 节点。 + 3. 点击 LLM 节点进行配置: - 1. 将其重命名为 `整合信息`。 - 2. 选择一个支持视觉的模型(由眼睛图标表示)。 - 3. 启用 **视觉** 并将 `Image/result` 设置为视觉变量。 - 4. 在系统提示字段中,粘贴以下内容: - - - 在提示中,要在 _提供的材料_ 中引用 `Doc Extractor/text` 和 `User Input/draft` 变量,请键入 `{` 或 `/` 并从列表中选择。 - - 引用变量 - - ```markdown 系统 {2,3} - # 提供的材料 - Doc Extractor/text - User Input/draft - - # 角色与任务 - 你是一名内容策略师。分析提供的材料并为多平台社交媒体优化创建综合内容基础。 - - # 分析原则 - - 仅使用提供的信息——不做外部假设 - - 专注于提取、综合和战略解释 - - 识别引人注目和可操作的元素 - - 准备可跨不同平台调整的见解 - - # 所需分析 - 提供结构化分析: - - ## 1. 核心信息 - - 中心主题、目的、目标 - - 传达的关键价值或利益 - - ## 2. 基本内容元素 - - 主要主题、事实、统计数据、数据点 - - 值得注意的引言、推荐、关键陈述 - - 提到的特性、利益、特征 - - 日期、地点、背景细节 - - ## 3. 战略见解 - - 使内容引人注目/独特的原因 - - 存在的情感/理性诉求 - - 可信度因素、证明点 - - 突出的竞争优势 - - ## 4. 参与机会 - - 出现的讨论点、问题 - - 建议的行动号召、下一步 - - 互动/参与机会 - - 涉及的热门主题 - - ## 5. 平台优化基础 - - 高影响力:快速、可分享的格式 - - 专业:以商业为重点的讨论 - - 社区:互动和分享 - - 视觉:通过强大的视觉效果增强 - - ## 6. 支持细节 - - 指标、数字、可量化的结果 - - 直接引言、推荐 - - 技术细节、规格 - - 可用的背景上下文 - ``` - -### 7. 迭代节点:为每个平台创建定制内容 + + 1. 将其重命名为 `Integrate Info`。 + + 2. 启用 **VISION** 并将 `Image/result` 设置为视觉变量。 + + 3. 在系统指令字段中,粘贴以下内容: + + ```markdown wrap + # ROLE & TASK + You are a content strategist. Analyze the provided draft and reference materials (if any), then create a comprehensive content foundation for multi-platform social media optimization. + + # ANALYSIS PRINCIPLES + - Work exclusively with provided information—no external assumptions + - Focus on extraction, synthesis, and strategic interpretation + - Identify compelling and actionable elements + - Prepare insights adaptable across different platforms + + # REQUIRED ANALYSIS + Deliver structured analysis with: + + ## 1. CORE MESSAGE + - Central theme, purpose, objective + - Key value or benefit being communicated + + ## 2. ESSENTIAL CONTENT ELEMENTS + - Primary topics, facts, statistics, data points + - Notable quotes, testimonials, key statements + - Features, benefits, characteristics mentioned + - Dates, locations, contextual details + + ## 3. STRATEGIC INSIGHTS + - What makes content compelling/unique + - Emotional/rational appeals present + - Credibility factors, proof points + - Competitive advantages highlighted + + ## 4. ENGAGEMENT OPPORTUNITIES + - Discussion points, questions emerging + - Calls-to-action, next steps suggested + - Interactive/participation opportunities + - Trending themes touched upon + + ## 5. PLATFORM OPTIMIZATION FOUNDATION + - High-impact: Quick, shareable formats + - Professional: Business-focused discussions + - Community: Interaction and sharing + - Visual: Enhanced with strong visuals + + ## 6. SUPPORTING DETAILS + - Metrics, numbers, quantifiable results + - Direct quotes, testimonials + - Technical details, specifications + - Background context available + ``` + 5. 点击 **添加消息** 添加一条用户消息,然后粘贴以下内容。输入 `{` 或 `/` 将 `Doc Extractor/text` 和 `User Input/draft` 替换为列表中对应的变量。 + + ```markdown USER + Draft: User Input/draft + Reference material: Doc Extractor/text + ``` + + + ![用户消息](/images/deeper_dive_user_message.png) + + +### 7. 为每个平台创建定制内容:迭代节点 现在整合的参考和目标平台已准备就绪,让我们使用迭代节点为每个平台生成定制的帖子。 @@ -305,158 +337,146 @@ icon: "forward" 该节点将遍历平台列表并为每个平台运行子工作流:首先分析特定平台的风格指南和最佳实践,然后基于所有可用信息生成优化的内容。 -迭代节点 + + ![迭代节点](/images/deeper_dive_iteration.png) + + +1. 在 Integrate Info 节点之后,添加一个迭代节点。 -1. 在整合信息节点之后,添加一个迭代节点。 2. 在迭代节点内部,添加一个 LLM 节点并配置它: - 1. 将其重命名为 `识别风格`。 - 2. 选择一个模型。 - 3. 在系统提示字段中,粘贴以下内容: - - - 在提示中,要在 _角色与任务_ 和 _输出格式示例_ 中引用 `Current Iteration/item` 变量,请键入 `{` 或 `/` 并从列表中选择。 - - ````markdown 系统 {2,40} - # 角色与任务 - 你是社交媒体专家。分析平台 "Current Iteration/item" 并提供内容创建指南。 - - # 所需分析 - 对于给定的平台,提供: - - ## 1. 平台概况 - - 平台类型和类别 - - 目标受众特征 - - ## 2. 内容指南 - - 最佳内容长度(字符/单词) - - 推荐语调(专业/休闲/对话) - - 格式最佳实践(换行、表情符号等) - - ## 3. 参与策略 - - 标签建议(数量和风格) - - 行动号召最佳实践 - - 算法优化提示 - - ## 4. 技术规格 - - 字符/单词限制 - - 视觉内容要求 - - 特殊格式需求 - - ## 5. 平台特定注意事项 - - 独特功能或最近的变化 - - 行业特定考虑 - - 社区参与方法 - - # 输出要求 - - 对于已识别的平台:提供特定指南 - - 对于未知平台:基于类似平台的建议 - - 专注于可操作、实用的建议 - - 简洁但全面 - - # 输出格式示例 - ```json - { - "platform_name": "Current Iteration/item", - "platform_type": "社媒/专业网络/视觉平台/微博客", - "content_guidelines": { - "max_length": "字符/单词限制", - "optimal_length": "推荐范围", - "tone": "专业/休闲/对话/权威", - "hashtag_strategy": "数量和位置指南", - "formatting": "换行、表情符号、提及指南", - "engagement_focus": "评论/分享/点赞/转发", - "call_to_action": "适当的 CTA 风格" - }, - "special_considerations": "任何独特的平台要求或最近的变化", - "confidence_level": "基于平台识别的高/中/低" - } - ```` -3. 在识别风格节点之后,添加另一个 LLM 节点并配置它: - 1. 将其重命名为 `创建内容`。 - 2. 选择一个模型。 - 3. 在系统提示字段中,粘贴以下内容: - - - 在提示中,要引用以下变量,请键入 `{` 或 `/` 并从列表中选择。 - - _平台指南_ 中的 `Identify Style/text` - - _来源信息_ 中的 `Integrate Info/text` - - _语音与语调(可选)_ 中的 `User Input/voice_and_tone` - - _语言要求_ 中的 `User Input/language` - - ```markdown 系统 {6,9,12,15} - # 角色与任务 - 你是专业的社交媒体内容创作者。生成符合平台指南、整合来源信息并遵循指定语音/语调和语言要求的发布就绪内容。 - - # 输入材料 - ## 1. 平台指南 - Identify Style/text - - ## 2. 来源信息 - Integrate Info/text - - ## 3. 语音与语调(可选) - Start/voice_and_tone - - ## 4. 语言要求 - - 专门使用以下语言生成所有内容:User Input/language - - 不得混用语言 - - 将平台术语调整为指定语言 - - # 内容要求 - - 严格遵循平台指南(格式、长度、语调、标签) - - 有效整合来源信息(关键信息、数据、价值主张) - - 一致地应用语音与语调(如果提供) - - 针对平台特定的参与进行优化 - - 确保指定语言的文化适当性 - - # 输出格式 - - 仅生成最终的社交媒体帖子内容。没有解释或元评论。内容必须立即可复制粘贴。 - - 最大标题级别:##(H2)- 永远不要使用 #(H1) - - 没有水平分隔符:避免 --- - - # 质量检查清单 - ✅ 遵循平台指南 - ✅ 整合来源信息 - ✅ 语音/语调一致(提供时) - ✅ 保持语言一致性 - ✅ 优化参与度 - ✅ 发布就绪 - ``` - 4. 启用结构化输出。 - - 结构化输出 - 1. 在 **输出变量** 旁边,将 **结构化** 切换为开启。structured_output 变量将出现在下方。 - 2. 在 **structured_output** 旁边,点击 **配置**。 - 3. 在弹出的架构编辑器中,点击右上角的 **从 JSON 导入**,并粘贴以下内容: - - ```json - { - "platform_name": "string", - "post_content": "string" - } - ``` + + 1. 将其重命名为 `Identify Style`。 + + 2. 在系统指令字段中,粘贴以下内容: + + ```markdown wrap + # ROLE & TASK + You are a social media expert. Analyze the platform and provide content creation guidelines. + + # ANALYSIS REQUIRED + For the given platform, provide: + + ## 1. PLATFORM PROFILE + - Platform type and category + - Target audience characteristics + + ## 2. CONTENT GUIDELINES + - Optimal content length (characters/words) + - Recommended tone (professional/casual/conversational) + - Formatting best practices (line breaks, emojis, etc.) + + ## 3. ENGAGEMENT STRATEGY + - Hashtag recommendations (quantity and style) + - Call-to-action best practices + - Algorithm optimization tips + + ## 4. TECHNICAL SPECS + - Character/word limits + - Visual content requirements + - Special formatting needs + + ## 5. PLATFORM-SPECIFIC NOTES + - Unique features or recent changes + - Industry-specific considerations + - Community engagement approaches + + # OUTPUT REQUIREMENTS + - For recognized platforms: Provide specific guidelines + - For unknown platforms: Base recommendations on similar platforms + - Focus on actionable, practical advice + - Be concise but comprehensive + ``` + 3. 点击 **添加消息** 添加一条用户消息,然后粘贴以下内容。输入 `{` 或 `/` 将 `Current Iteration/item` 替换为列表中对应的变量。 + + ```markdown USER + Platform: Current Iteration/item + ``` +3. 在 Identify Style 节点之后,添加另一个 LLM 节点并配置它: + + 1. 将其重命名为 `Create Content`。 + + 2. 在系统指令字段中,粘贴以下内容: + + ```markdown wrap + # ROLE & TASK + You are an expert social media content creator. Generate publication-ready content that matches platform guidelines, incorporates source information, and follows specified voice/tone and language requirements. + + # LANGUAGE REQUIREMENT + - Generate ALL content exclusively in the target language specified in the user message. You MUST write the entire post in that language, regardless of the language of any source materials. + - No mixing of languages whatsoever + - Adapt platform terminology to the target language + + # CONTENT REQUIREMENTS + - Follow platform guidelines exactly (format, length, tone, hashtags) + - Integrate source information effectively (key messages, data, value props) + - Apply voice & tone consistently (if provided) + - Optimize for platform-specific engagement + - Ensure cultural appropriateness for the specified language + + # OUTPUT FORMAT + - Generate ONLY the final social media post content. No explanations or meta-commentary. Content must be immediately copy-paste ready. + - Maximum heading level: ## (H2) - never use # (H1) + - No horizontal dividers: avoid --- + + # QUALITY CHECKLIST + ✅ Platform guidelines followed + ✅ Source information integrated + ✅ Voice/tone consistent (when provided) + ✅ Language consistency maintained + ✅ Engagement optimized + ✅ Publication ready + ``` + 3. 点击 **添加消息** 添加一条用户消息,然后粘贴以下内容。输入 `{` 或 `/` 将所有输入替换为列表中对应的变量。 + + ```markdown USER + Platform Name: Current Iteration/item + Target Language: User Input/language + Platform Guidelines: Identify Style/text + Source Information: Integrate Info/text + Voice & Tone: User Input/voice_and_tone + ``` + + 4. 启用结构化输出。 + + + 这允许我们以更可靠的方式从 LLM 的响应中提取特定的信息片段,这对于下一步格式化最终输出至关重要。 + + + + ![结构化输出](/images/deeper_dive_structured_output.png) + + + 1. 在 **输出变量** 旁边,将 **结构化** 切换为开启。`structured_output` 变量将出现在下方。点击 **配置**。 + + 2. 在弹出的架构编辑器中,点击右上角的 **从 JSON 导入**,并粘贴以下内容: + + ```json + { + "platform_name": "string", + "post_content": "string" + } + ``` + + ![从 JSON 导入](/images/deeper_dive_import_from_json.png) + + 4. 点击迭代节点进行配置: - 1. 将 `Parameter Extractor/platform` 设置为输入变量。 - 2. 将 `Create Content/structured_output` 设置为输出变量。 - 3. 启用 **并行模式** 并将最大并行度设置为 `10`。 - - 这就是为什么我们在用户输入节点的目标平台字段的标签名称中包含了 `(≤10)`。 - + 1. 将 `Parameter Extractor/platform` 设置为输入变量。 + + 2. 将 `Create Content/structured_output` 设置为输出变量。 -### 8. 模板节点:格式化最终输出 + 3. 启用 **并行模式** 并将最大并行度设置为 `10`。 + + + 这就是为什么我们在用户输入节点的目标平台字段的标签名称中包含了 `(≤10)`。 + + + + ![迭代配置](/images/deeper_dive_iteration_config.png) + + +### 8. 格式化最终输出:模板节点 迭代节点为每个平台生成一个帖子,但其输出是原始数据数组(例如,`[{"platform_name": "Twitter", "post_content": "..."}]`),不太可读。我们需要以更清晰的格式呈现结果。 @@ -464,33 +484,36 @@ icon: "forward" 这就是模板节点的用武之地——它允许我们使用 [Jinja2](https://jinja.palletsprojects.com/en/stable/) 模板将这些原始数据格式化为组织良好的文本,确保最终输出用户友好且易于理解。 -模板节点 + + ![模板节点](/images/deeper_dive_template.png) + 1. 在迭代节点之后,添加一个模板节点。 -2. 在模板节点的面板上,将 `Iteration/output` 设置为输入变量。 -3. 粘贴以下 Jinja2 代码(**记得删除注释**)。 - ``` - {% for item in output %} # 遍历输入数组中的每个平台-内容对 - # 📱 {{ item.platform_name }} # 显示平台名称作为带有手机表情符号的 H1 标题 - {{ item.post_content }} # 显示为此平台生成的内容 - # 在平台之间添加空行以提高可读性 - {% endfor %} # 结束循环 - ``` +2. 在模板节点的面板上,将 `Iteration/output` 设置为输入变量并命名为 `output`。 + +3. 粘贴以下 Jinja2 代码: + + ``` + {% for item in output %} + # 📱 {{ item.platform_name }} + {{ item.post_content }} - - 虽然 LLM 也可以处理输出格式化,但它们的输出可能不一致且不可预测。对于不需要推理的基于规则的格式化,模板节点以更稳定可靠的方式完成任务,且成本为零令牌。 + {% endfor %} + ``` - LLM 非常强大,但知道何时使用正确的工具是构建更可靠和经济高效的 AI 应用程序的关键。 - + - `{% for item in output %}` / `{% endfor %}`:遍历输入数组中的每个平台-内容对。 + - `{{ item.platform_name }}`:显示平台名称作为带有手机表情符号的 H1 标题。 + - `{{ item.post_content }}`:显示为此平台生成的内容。 + - `{{ item.post_content }}` 和 `{% endfor %}` 之间的空行在最终输出中的平台之间添加间距。 + + + 虽然 LLM 也可以处理输出格式化,但它们的输出可能不一致且不可预测。对于不需要推理的基于规则的格式化,模板节点以更稳定可靠的方式完成任务,且成本为零令牌。 + + LLM 非常强大,但知道何时使用正确的工具是构建更可靠和经济高效的 AI 应用程序的关键。 + -### 9. 输出节点:将结果返回给用户 +### 9. 将结果返回给用户:输出节点 1. 在模板节点之后,添加一个输出节点。 2. 在输出节点的面板上,将 `Template/output` 设置为输出变量。 @@ -501,22 +524,41 @@ icon: "forward" 1. 确保你的检查列表已清除。 - 检查检查列表 + + ![检查检查列表](/images/deeper_dive_checklist_clear.png) + + 2. 对照开头提供的参考图检查你的工作流,确保所有节点和连接都匹配。 -3. 点击右上角的 **运行**,填写输入字段,然后点击 **开始运行**。 - 要使用缓存的输入运行单个节点,请点击其配置面板顶部的 **运行此步骤** 图标。 +3. 点击右上角的 **测试运行**,填写输入字段,然后点击 **开始运行**。 + + 如果你不确定输入什么,可以尝试这些示例输入: + + - **草稿**:`We just launched a new AI writing assistant that helps teams create content 10x faster.` + + - **上传文件**:留空 + + - **语音与语调**:`Friendly and enthusiastic, but professional` + + - **目标平台**:`Twitter and LinkedIn` + + - **语言**:`English` + +成功运行会产生格式化的输出,每个平台有一个单独的帖子,如下所示: + + + ![测试输出](/images/deeper_dive_test_output.png) + - - 要测试节点对来自先前节点的不同输入的反应,你不需要重新运行整个工作流。只需点击画布底部的 **查看缓存变量**,从列表中找到要更改的变量,然后编辑其值。 - - 如果遇到任何错误,请检查相应节点的 **最后运行** 日志以确定问题的确切原因。 + + 你的结果可能因使用的模型而异。能力更强的模型通常会产生更好的输出质量。 + + + + 要测试节点对来自先前节点的不同输入的反应,你不需要重新运行整个工作流。只需点击画布底部的 **查看缓存变量**,从列表中找到要更改的变量,然后编辑其值。 + + +如果遇到任何错误,请检查相应节点的 **最后运行** 日志以确定问题的确切原因。 ## 步骤 4:发布和共享 @@ -524,8 +566,4 @@ icon: "forward" 如果你稍后进行任何更改,请始终记住再次发布,以便更新生效。 - - - - 发布后,你可以在实时环境中运行快速的端到端测试,以确认一切工作与 **工作室** 中相同。 - + \ No newline at end of file