跳到主要内容
版本: DEV

Iteration 组件

一个将文本输入分割成文本片段并为每个片段重复执行预定义工作流的组件。


一个 Iteration 组件可以将文本输入分割成文本片段,并对其每个片段应用其内置的组件工作流。

场景

当需要工作流循环且循环次数不是固定的,而是取决于特定智能体组件输出创建的片段数量时,Iteration 组件是必不可少的。

  • 例如,如果您计划将几个段落输入到大型语言模型(LLM)中生成内容,每个段落都有其独立的重点,并且一次性将它们全部输入给大型语言模型可能会造成混淆或矛盾,那么您可以使用一个封装了 Generate 组件的 Iteration 组件,为每个段落重复内容生成过程。
  • 另一个例子:如果您希望使用大型语言模型将一篇长论文翻译成目标语言而不超出其 token 限制,可以考虑使用一个封装了 Generate 组件的 Iteration 组件,将论文分解成更小的部分,并对每个部分重复翻译过程。

内部组件

IterationItem

每个 Iteration 组件都包含一个内部的 IterationItem 组件。IterationItem 组件充当 Iteration 组件内部工作流的起点和输入节点。它管理着针对从输入创建的所有文本片段的工作流循环。

注意

IterationItem 组件对当前 Iteration 组件所封装的组件可见。

Iterationitem

构建内部工作流

您可以将其他组件拖入 Iteration 组件中构建内部工作流,这些“添加的内部组件”对当前 Iteration 组件外部的组件不再可见。

重要

要从添加的内部组件中引用创建的文本片段,只需在该内部组件的 Input 部分添加一个等于 IterationItemReference 变量。无需引用对应的外部组件,因为 IterationItem 组件管理着针对所有创建的文本片段的工作流循环。

注意

添加的内部组件在必要时可以引用外部组件。

配置项

输入

Iteration 组件使用输入变量来指定其数据输入,即待分割的文本。您可以为 Iteration 组件指定多个输入源。点击 Input 部分的 + Add variable 来添加所需的输入变量。输入变量有两种类型:ReferenceText

  • Reference:使用组件的输出或用户输入作为数据源。您需要在下拉菜单中选择
    • Component Output 下的组件 ID,或
    • Begin input 下的全局变量,该变量在 Begin 组件中定义。
  • Text:使用固定文本作为查询。您需要输入静态文本。

分隔符

用于将文本输入分割成片段的分隔符

  • 逗号(默认)
  • 换行符
  • 制表符
  • 下划线
  • 正斜杠
  • 短划线
  • 分号

示例

探索我们的研究报告生成智能体模板,其中 Iteration 组件(组件 ID:Sections)接收来自 Subtitles 组件的副标题并为其生成章节内容

  1. 点击页面顶部中央的 Agent 标签页,访问 Agent 页面。
  2. 点击页面右上角的 + Create agent 打开 agent template 页面。
  3. agent template 页面上,将鼠标悬停在 Customer service 卡片上,然后点击 Use this template
  4. 为您的新智能体命名并点击 OK 进入工作流编辑器。
  5. 点击 Iteration 组件以显示其 Configuration 窗口。