Skip to main content

Blaflow 中的逻辑组件

逻辑组件提供路由、条件处理和流程管理功能。

在流程中使用逻辑组件

这个流程使用循环组件创建一个总结性的 "for each" 循环。

该组件遍历数据对象列表直到完成,然后 完成 循环聚合结果。

文件组件从您的本地机器加载文本文件,然后解析器组件将它们解析为结构化 数据 对象的列表。 循环组件将每个 数据 对象传递给提示词进行总结。

循环组件用完 数据 时,完成循环激活,它计算页数并使用另一个提示词总结它们的语气。 这在 Blaflow 中通过将 解析数据 组件的数据列表输出连接到 循环 组件的 数据 循环输入来表示。

循环总结器示例流程

输出将类似于这样:


_10
文档摘要
_10
已处理的总页数
_10
总页数:2
_10
文档的整体语气
_10
语气:信息性和指导性
_10
文档概述了微服务架构模式和最佳实践。
_10
它强调了服务隔离和服务间通信协议。
_10
建议使用异步消息模式以实现系统可扩展性。
_10
它包括 REST 和 gRPC 实现的代码示例,以演示集成方法。

条件分流(If-Else 组件)

此组件通过比较两个字符串来路由消息。它通过使用指定的运算符比较两个文本输入来评估条件,并将消息路由到 true_resultfalse_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_textmatch_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 设置。

数据条件路由器

important

此组件处于遗留状态,这意味着从 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
  • 如果所有对象都转到一个输出,则另一个输出为空

流程作为工具

important

此组件从 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 用于注册工具的 namedescription 元数据会自动创建。

当您选择流程时,组件会获取流程的图结构并使用它来生成运行流程组件的输入和输出。

要将运行流程组件用作工具,请按照以下步骤操作:

  1. 运行流程组件添加到基础智能体流程中。
  2. 流程名菜单中,选择要运行的子流程。 运行流程组件的外观会改变以反映所选流程的输入和输出。
  3. 运行流程组件上,启用工具模式
  4. 运行流程组件连接到 Agent 的工具输入。 您的流程现在应该看起来像这样: 运行流程 组件
  5. 运行流程。Agent 使用运行流程组件作为工具来运行选定的子流程。

输入

名称类型描述
flow_name_selected下拉菜单要运行的流程名称。
flow_tweak_data字典用于自定义流程行为的调整字典。
dynamic inputs各种基于所选流程生成的附加输入。

输出

名称类型描述
run_outputs类型为 数据消息DataFrameList所有输出都是从运行流程生成的。

Sub flow

important

此组件从 Blaflow 1.1.2 版本开始已弃用。 请改用 运行流程 组件