跳转到主内容
版本:开发版

循环组件

该组件将文本输入分割成多个文本段,并对每个文本段迭代执行预定义的工作流。


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

应用场景

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

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

内部组件

循环项 (IterationItem)

每个**循环**组件都包含一个内部的**循环项** (IterationItem) 组件。**循环项**组件既是**循环**组件内工作流的起点,也是其输入节点。它管理着针对输入创建的所有文本段的工作流循环。

注意

**循环项** (IterationItem) 组件*仅*对当前**循环**组件封装的组件可见。

构建内部工作流

您可以在**循环**组件中拖入其他组件来构建一个内部工作流,这些“添加的内部组件”对于当前**循环**组件外部的组件不再可见。

重要

要从一个添加的内部组件引用创建的文本段,只需在该内部组件的**输入**部分添加一个等于 **IterationItem** 的**引用**变量即可。无需引用相应的外部组件,因为**循环项** (IterationItem) 组件管理着所有已创建文本段的工作流循环。

注意

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

配置

输入

**循环**组件使用输入变量来指定其数据输入,即待分段的文本。您可以为**循环**组件指定多个输入源。在**输入**部分点击**+ 添加变量**以包含所需的输入变量。输入变量有两种类型:**引用**和**文本**。

  • **引用**:使用一个组件的输出或用户输入作为数据源。您需要从下拉菜单中选择
    • **组件输出**下的一个组件 ID,或
    • **开始输入**下的一个全局变量,该变量在**开始**组件中定义。
  • **文本**:使用固定文本作为查询。您需要输入静态文本。

分隔符

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

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