Blaflow 中的辅助工具
辅助组件提供实用功能,帮助管理流程中的数据、任务和其他组件。
在流程中使用辅助组件
Blaflow 中的聊天记忆要么存储在带有 LCBufferMemory 的本地 Blaflow 表中,要么连接到外部数据库。
消息存储 辅助工具将聊天记忆存储为数据对象,而 消息历史 辅助组件将聊天消息作为数据对象或字符串检索。
这个示例流程使用 消息存储 和 聊天记忆 组件从 AstraDB 聊天记忆 组件存储和检索聊天历史。

批量运行
批量运行 组件在DataFrame文本列的每一行上运行语言模型,并返回一个包含原始文本和 LLM 响应的新 DataFrame。
响应包含以下列:
text_input:来自输入 DataFrame 的原始文本。model_response:模型对每个输入的响应。batch_index:处理顺序,使用基于0的索引。metadata(可选):关于处理的附加信息。
这些列在连接到解析器组件时,可以在花括号内用作变量。
要使用带有解析器组件的 批量运行组件,请按照以下步骤操作:
- 将模式 l组件连接到批量运行组件的语言模型端口。
- 将输出DataFrame的组件(如文件组件)连接到批量运行组件的DataFrame输入。
- 将批量运行组件的DataFrame输出连接到解析器组件的DataFrame输入。 流程如下所示:

- 在批量运行组件的列名字段中,根据从文件加载器加载的数据输入列名。例如,要处理
name列,输入name。 - 可选地,在批量运行组件的指令字段中,输入指令以指示连接的 LLM 如何处理您的文件。例如,
为每个名字创建一张名片。 - 在解析器组件的模版字段中,输入使用批量运行组件新DataFrame列的模板。 要使用批量运行组件的所有三列,请像这样包含它们:
_10record_number: {batch_index}, name: {text_input}, summary: {model_response}
- 要运行流程,在解析器组件中点击 。
- 要查看创建的 DataFrame,在解析器组件中点击 。
- 可选地,连接聊天输出组件,并打开试运行查看输出。
输入
| 名称 | 显示名称 | 类型 | 信息 |
|---|---|---|---|
| model | 语言模型 | HandleInput | 在此处连接来自 LLM 组件的 'Language 模式 l' 输出。必需。 |
| system_message | 系统消息 | MultilineInput | 用于 DataFrame 中所有行的多行系统指令。 |
| df | DataFrame | DataFrameInput | 其列被指定为文本消息的 DataFrame,由 'column_name' 指定。必需。 |
| column_name | 列名 | MessageTextInput | 要作为文本消息处理的 DataFrame 列的名称。默认='text'。必需。 |
| enable_metadata | 启用元数据 | BoolInput | 如果为 True ,则向输出 DataFrame 添加元数据。 |
输出
| 名称 | 显示名称 | 方法 | 信息 |
|---|---|---|---|
| batch_results | 批处理结果 | run_batch | 包含列的 DataFrame:'text_input'、'model_response'、'batch_index' 和可选的包含处理信息的 'metadata'。 |
Create List
此组件处于遗留状态,这意味着从 Blaflow 1.3 版本开始不再积极开发。
此组件动态创建具有指定字段数量的记录。
输入
| 名称 | 显示名称 | 信息 |
|---|---|---|
| n_fields | 字段数量 | 要添加到记录中的字段数量。 |
| text_key | 文本键 | 用作文本的键。 |
输出
| 名称 | 显示名称 | 信息 |
|---|---|---|
| list | 列表 | 具有指定字段数量的动态创建的列表。 |
当前日期
当前日期组件返回所选时区的当前日期和时间。此组件提供了一种灵活的方式在 Blaflow 管道中获取特定时区的日期和时间信息。
输入
| 名称 | 显示名称 | 信息 |
|---|---|---|
| timezone | 时区 | 选择当前日期和时间的时区。 |
输出
| 名称 | 显示名称 | 信息 |
|---|---|---|
| current_date | 当前日期 | 所选时区中的当前日期和时间结果。 |
ID 生成器
此组件生成唯一 ID。
输入
| 名称 | 显示名称 | 信息 |
|---|---|---|
| unique_id | 值 | 生成 的唯一 ID。 |
输出
| 名称 | 显示名称 | 信息 |
|---|---|---|
| id | ID | 生成的唯一 ID。 |
消息历史
在 Blaflow 1.1 之前,此组件被称为 聊天记忆 组件。
此组件从 Blaflow 表或外部记忆中检索和管理聊天消息。
输入
| 名称 | 显示名称 | 信息 |
|---|---|---|
| memory | 外部记忆 | 从外部记忆中检索消息。如果为空,将使用 Blaflow 表。 |
| sender | 发送者类型 | 按发送者类型过滤。 |
| sender_name | 发送者名称 | 按发送者名称过滤。 |
| n_messages | 消息数量 | 要检索的消息数量。 |
| session_id | 会话 ID | 聊天的会话 ID。如果为空,将使用当前会话 ID 参数。 |
| order | 顺 序 | 消息的顺序。 |
| template | 模板 | 用于格式化数据的模板。它可以包含键 {text}、{sender} 或消息数据中的任何其他键。 |
输出
| 名称 | 显示名称 | 信息 |
|---|---|---|
| messages | 消息 (Data) | 作为 Data 对象检索的消息。 |
| messages_text | 消息 (Text) | 格式化为文本的检索消息。 |
| lc_memory | 记忆 | 构造的 Langchain ConversationBufferMemory 对象 |
消息存储
此组件将聊天消息或文本存储到 Blaflow 表或外部记忆中。
它提供了在聊天系统中管理消息存储和检索的灵活性。
输入
| 名称 | 显示名称 | 信息 |
|---|---|---|
| message | 消息 | 要存储的聊天消息。(必需) |
| memory | 外部记忆 | 存储消息的外部记忆。如果为空,将使用 Blaflow 表。 |
| sender | 发送者 | 消息的发送者。可以是 Machine 或 User。如果为空,将使用当前发送者参数。 |
| sender_name | 发送者名 称 | 发送者的名称。可以是 AI 或 User。如果为空,将使用当前发送者参数。 |
| session_id | 会话 ID | 聊天的会话 ID。如果为空,将使用当前会话 ID 参数。 |
输出
| 名称 | 显示名称 | 信息 |
|---|---|---|
| stored_messages | 存储的消息 | 添加当前消息后存储的消息列表。 |
Output 解析器
此组件处于遗留状态,这意味着从 Blaflow 1.3 版本开始不再积极开发。
此组件将语言模型的输出转换为指定格式。它支持 CSV 格式解析,使用 Langchain 的 CommaSeparatedListOutput解析器 将 LLM 响应转换为逗号分隔的列表。
此组件仅提供格式化指令和解析功能。它不包含提示。您需要将其连接到单独的 提示词 组件以创建 LLM 使用的实际提示模板。
Output 解析器 和 结构化输出 组件都格式化 LLM 响应,但它们有不同的用例。
Output 解析器 更简单,专注于将响应转换为逗号分隔的列表。当您只需要项目列表时使用此组件,例如 ["item1", "item2", "item3"]。
结构化输出 更复杂和灵活,允许您定义具有多个不同类型字段的自定义模式。当您需要提取具有特定字段和类型的结构化数据时使用此组件。
要使用此组件:
- 创建 提示词 组件并将 Output 解析器 的
format_instructions输出连接到它。这确保 LLM 知道如何格式化其响应。 - 在 提示词 组件中编写您的实际提示文本,包括
{format_instructions}变量。 例如,在您的 提示词 组件中,模板可能如下所示:
_10{format_instructions}_10请列出三种水 果。
-
将
output_parser输出连接到您的 LLM 模型。 -
输出解析器将其转换为 Python 列表:
["apple", "banana", "orange"]。
输入
| 名称 | 显示名称 | 信息 |
|---|---|---|
| parser_type | 解析器 | 选择解析器类型。目前支持 "CSV"。 |
输出
| 名称 | 显示名称 | 信息 |
|---|---|---|
| format_instructions | 格式化指令 | 传递给提示模板以包含 LLM 响应的格式化指令。 |
| output_parser | 输出解析器 | 可用于解析 LLM 响应的构造输出解析器。 |
结构化输出
此组件将 LLM 响应转换为结构化数据格式。
在这个来自 Financial Support 解析器 模板的示例中,结构化输出组件将非结构化财务报告转换为结构化数据。

连接的 LLM 模型由结构化输出组件的 Format Instructions 参数提示,从 非结构化文本中提取结构化输出。Format Instructions 用作结构化输出组件的系统提示。
在结构化输出组件中,点击打开表格按钮查看 Output Schema 表。
Output Schema 参数使用具有以下字段的表定义模型输出的结构和数据类型:
- 名称:输出字段的名称。
- 描述:输出字段的用途。
- 类型:输出字段的数据类型。可用类型为
str、int、float、bool、list或dict。默认为text。 - 多值:此功能已弃用。目前,如果您期望单个字段有多个值,则默认设置为
True。例如,features的list设置为True以包含多个值,如["waterproof", "durable", "lightweight"]。默认值:True。
Parse DataFrame 组件将结构化输出解析为模板,以便在聊天输出中有序呈现。模板使用花括号接收来自 output_schema 表的值。
例如,模板 EBITDA: {EBITDA} , Net Income: {NET_INCOME} , GROSS_PROFIT: {GROSS_PROFIT} 在 试运行 中将提取的值呈现为 EBITDA: 900 million , Net Income: 500 million , GROSS_PROFIT: 1.2 billion。
输入
| 名称 | 显示名称 | 信息 |
|---|---|---|
| llm | 语言模型 | 用于生成结构化输出的语言模型。 |
| input_value | 输入消息 | 发送给语言模型的输入消息。 |
| system_prompt | 格式化指令 | 发送给语言模型的格式化输出指令。 |
| schema_name | 模式名称 | 输出数据模式的名称。 |
| output_schema | 输出模式 | 定义模型输出的结构和数据类型。 |
| multiple | 生成多个 | [已弃用] 始终设置为 True。 |