Blaflow 中的逻辑组件
逻辑组件提供路由、条件处理和流程管理功能。
在流程中使用逻辑组件
这个流程使用循环组件创建一个总结性的 "for each" 循环。
该组件遍历数据对象列表直到完成,然后 完成 循环聚合结果。
文件组件从您的本地机器加载文本文件,然后解析器组件将它们解析为结构化 数据 对象的列表。
循环组件将每个 数据 对象传递给提示词进行总结。
当循环组件用完 数据 时,完成循环激活,它计算页数并使用另一个提示词总结它们的语气。
这在 Blaflow 中通过将 解析数据 组件的数据列表输出连接到 循环 组件的 数据 循环输入来表示。

输出将类似于这样:
_10文档摘要_10已处理的总页数_10总页数:2_10文档的整体语气_10语气:信息性和指导性_10文档概述了微服务架构模式和最佳实践。_10它强调了服务隔离和服务间通信协议。_10建议使用异步消息模式以实现系统可扩展性。_10它包括 REST 和 gRPC 实现的代码示例,以演示集成方法。
条件分流(If-Else 组件)
此组件通过比较两个字符串来路由消息。它通过使用指定的运算符比较两个文本输入来评估条件,并将消息路由到 true_result 或 false_result。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| input_text | 字符串 | 操作的主要文本输入。 |
| match_text | 字符串 | 要比较的文本输入。 |
| operator | 下拉菜单 | 用于比较文本的运算符。选项:"equals"、"not equals"、"contains"、"starts with"、"ends with"、"regex"。默认:"equals"。 |
| case_sensitive | 布尔值 | 如果为 true,则比较区分大小写。此设置在正则表达式比较中被忽略。默认:false。 |
| message | 消息 | 要通过任一路由传递的消息。 |
| max_iterations | 整数 | (高级)条件路由器的最大迭代次数。默认:10。 |
| default_route | 下拉菜单 | (高级)达到最大迭代次数时采用的默认路由。选项:"true_result" 或 "false_result"。默认:"false_result"。 |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| true_result | 消息 | 条件为 true 时的输出。 |
| false_result | 消息 | 条件为 false 时的输出。 |
运算符行为
条件分流 组件包含一个比较运算符来比较 input_text 和 match_text 中的值。
除 regex 外,所有选项都遵循 case_sensitive 设置。
- equals:精确匹配比较
- not equals:精确匹配的反向
- contains:检查 match_text 是否在 input_text 中找到
- starts with:检查 input_text 是否以 match_text 开头
- ends with:检查 input_text 是否以 match_text 结尾
- regex:执行正则表达式匹配。它始终区分大小写并忽略 case_sensitive 设置。
数据条件路由器
此组件处于遗留状态,这意味着从 Blaflow 1.3 版本开始不再积极开发。
此组件基于应用于指定键的条件(包括布尔验证)路由 Data 对象。它可以处理单个 Data 对象或 Data 对象列表。
此组件在需要条件路由复杂数据结构的工作流中特别有用,能够基于数据内容进行动态决策。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| data_input | 数据 | 要处理的 Data 对象或 Data 对象列表。可以处理单个项目和列表。 |
| key_name | 字符串 | 要检查的 Data 对象中的键名。 |
| operator | 下拉菜单 | 要应用的运算符。选项:"equals"、"not equals"、"contains"、"starts with"、"ends with"、"boolean validator"。默认:"equals"。 |
| compare_value | 字符串 | 要比较的值。当运算符为 "boolean validator" 时不显示/使用。 |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| true_output | 数据/列表 | 满足条件时的输出。 |
| false_output | 数据/列表 | 不满足条件时的输出。 |
运算符行为
- equals:键的值与 compare_value 之间的精确匹配比较
- not equals:精确匹配的反向
- contains:检查 compare_value 是否在键的值中找到
- starts with:检查键的值是否以 compare_value 开头
- ends with:检查键的值是否以 compare_value 结尾
- boolean validator:将键的值视为布尔值。以下值被视为 true:
- 布尔值
true - 字符串:"true"、"1"、"yes"、"y"、"on"(不区分大小写)
- 任何其他值都使用 Python 的
bool()函数转换
- 布尔值
列表处理
处理 Data 对象列表时会发生以下操作:
- 列表中的每个对象单独评估
- 满足条件的对象转到 true_output
- 不满足条件的对象转到 false_output
- 如果所有对象都转到一个输出,则另一个输出为空
流程作为工具
此组件从 Blaflow 1.1.2 版本开始已弃用。 请改用 运行流程 组件
此组件从运行已加载流程的函数构造工具。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| flow_name | 下拉菜单 | 要运行的流程名称。 |
| tool_name | 字符串 | 工具的名称。 |
| tool_description | 字符串 | 工具的描述。 |
| return_direct | 布尔值 | 如果为 true,则直接从工具返回结果。 |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| api_build_tool | 工具 | 从流程构造的工具。 |
监听
此组件监听通知并检索其关联状态。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| name | 字符串 | 要监听的通知名称。 |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| output | 数据 | 与通知关联的状态。 |
循环
此组件遍历数据对象列表,一次输出一个项目并聚合来自循环输入的结果。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| data | 数据/列表 | 要遍历的初始 Data 对象列表。 |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| item | 数据 | 从数据列表中一次输出一个项目。 |
| done | 数据 | 迭代完成时触发,返回聚合结果。 |
通知
此组件生成供监听组件使用的通知。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| name | 字符串 | 通知的名称。 |
| data | 数据 | 要存储在通知中的数据。 |
| append | 布尔值 | 如果为 true,记录将附加到现有通知。 |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| output | 数据 | 存储在通知中的数据。 |
传递
此组件转发输入消息,保持不变。
输入
| 名称 | 显示名称 | 信息 |
|---|---|---|
| input_message | 输入消息 | 要向前传递的消息。 |
| ignored_message | 忽略的消息 | 要忽略的第二个消息。用作连续性的解决方法。 |
输出
| 名称 | 显示名称 | 信息 |
|---|---|---|
| output_message | 输出消息 | 转发的输入消息。 |
运行流程
此组件允许您运行存储在 Blaflow 数据库中的任何流程,而无需打开流程编辑器。
运行流程组件在连接到 Agent 时也可以用作工具。Agent 用于注册工具的 name 和 description 元数据会自动创建。
当您选择流程时,组件会获取流程的图结构并使用它来生成运行流程组件的输入和输出。
要将运行流程组件用作工具,请按照以下步骤操作:
- 将运行流程组件添加到基础智能体流程中。
- 在流程名菜单中,选择要运行的子流程。 运行流程组件的外观会改变以反映所选流程的输入和输出。
- 在运行流程组件上,启用工具模式。
- 将运行流程组件连接到 Agent 的工具输入。
您的流程现在应该看起来像这样:

- 运行流程。Agent 使用运行流程组件作为工具来运行选定的子流程。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| flow_name_selected | 下拉菜单 | 要运行的流程名称。 |
| flow_tweak_data | 字典 | 用于自定义流程行为的调整字典。 |
| dynamic inputs | 各种 | 基于所选流程生成的附加输入。 |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| run_outputs | 类型为 数据、消息 或 DataFrame 的 List | 所有输出都是从运行流程生成的。 |
Sub flow
此组件从 Blaflow 1.1.2 版本开始已弃用。 请改用 运行流程 组件