Skip to main content

Blaflow 中的辅助工具

辅助组件提供实用功能,帮助管理流程中的数据、任务和其他组件。

在流程中使用辅助组件

Blaflow 中的聊天记忆要么存储在带有 LCBufferMemory 的本地 Blaflow 表中,要么连接到外部数据库。

消息存储 辅助工具将聊天记忆存储为数据对象,而 消息历史 辅助组件将聊天消息作为数据对象或字符串检索。

这个示例流程使用 消息存储聊天记忆 组件从 AstraDB 聊天记忆 组件存储和检索聊天历史。

在 AstraDB 中存储聊天记忆的示例流程

批量运行

批量运行 组件在DataFrame文本列的每一行上运行语言模型,并返回一个包含原始文本和 LLM 响应的新 DataFrame。

响应包含以下列:

  • text_input:来自输入 DataFrame 的原始文本。
  • model_response:模型对每个输入的响应。
  • batch_index:处理顺序,使用基于 0 的索引。
  • metadata(可选):关于处理的附加信息。

这些列在连接到解析器组件时,可以在花括号内用作变量。

要使用带有解析器组件的 批量运行组件,请按照以下步骤操作:

  1. 模式 l组件连接到批量运行组件的语言模型端口。
  2. 将输出DataFrame的组件(如文件组件)连接到批量运行组件的DataFrame输入。
  3. 批量运行组件的DataFrame输出连接到解析器组件的DataFrame输入。 流程如下所示:

连接到 OpenAI 和 解析器 的 batch run 组件

  1. 批量运行组件的列名字段中,根据从文件加载器加载的数据输入列名。例如,要处理 name 列,输入 name
  2. 可选地,在批量运行组件的指令字段中,输入指令以指示连接的 LLM 如何处理您的文件。例如,为每个名字创建一张名片。
  3. 解析器组件的模版字段中,输入使用批量运行组件新DataFrame列的模板。 要使用批量运行组件的所有三列,请像这样包含它们:

_10
record_number: {batch_index}, name: {text_input}, summary: {model_response}

  1. 要运行流程,在解析器组件中点击
  2. 要查看创建的 DataFrame,在解析器组件中点击
  3. 可选地,连接聊天输出组件,并打开试运行查看输出。

输入

名称显示名称类型信息
model语言模型HandleInput在此处连接来自 LLM 组件的 'Language 模式 l' 输出。必需。
system_message系统消息MultilineInput用于 DataFrame 中所有行的多行系统指令。
dfDataFrameDataFrameInput其列被指定为文本消息的 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

important

此组件处于遗留状态,这意味着从 Blaflow 1.3 版本开始不再积极开发。

此组件动态创建具有指定字段数量的记录。

输入

名称显示名称信息
n_fields字段数量要添加到记录中的字段数量。
text_key文本键用作文本的键。

输出

名称显示名称信息
list列表具有指定字段数量的动态创建的列表。

当前日期

当前日期组件返回所选时区的当前日期和时间。此组件提供了一种灵活的方式在 Blaflow 管道中获取特定时区的日期和时间信息。

输入

名称显示名称信息
timezone时区选择当前日期和时间的时区。

输出

名称显示名称信息
current_date当前日期所选时区中的当前日期和时间结果。

ID 生成器

此组件生成唯一 ID。

输入

名称显示名称信息
unique_id生成的唯一 ID。

输出

名称显示名称信息
idID生成的唯一 ID。

消息历史

info

在 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 解析器

important

此组件处于遗留状态,这意味着从 Blaflow 1.3 版本开始不再积极开发。

此组件将语言模型的输出转换为指定格式。它支持 CSV 格式解析,使用 Langchain 的 CommaSeparatedListOutput解析器 将 LLM 响应转换为逗号分隔的列表。

note

此组件仅提供格式化指令和解析功能。它不包含提示。您需要将其连接到单独的 提示词 组件以创建 LLM 使用的实际提示模板。

Output 解析器结构化输出 组件都格式化 LLM 响应,但它们有不同的用例。 Output 解析器 更简单,专注于将响应转换为逗号分隔的列表。当您只需要项目列表时使用此组件,例如 ["item1", "item2", "item3"]结构化输出 更复杂和灵活,允许您定义具有多个不同类型字段的自定义模式。当您需要提取具有特定字段和类型的结构化数据时使用此组件。

要使用此组件:

  1. 创建 提示词 组件并将 Output 解析器 的 format_instructions 输出连接到它。这确保 LLM 知道如何格式化其响应。
  2. 在 提示词 组件中编写您的实际提示文本,包括 {format_instructions} 变量。 例如,在您的 提示词 组件中,模板可能如下所示:

_10
{format_instructions}
_10
请列出三种水果。

  1. output_parser 输出连接到您的 LLM 模型。

  2. 输出解析器将其转换为 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 参数使用具有以下字段的表定义模型输出的结构和数据类型:

  • 名称:输出字段的名称。
  • 描述:输出字段的用途。
  • 类型:输出字段的数据类型。可用类型为 strintfloatboollistdict。默认为 text
  • 多值:此功能已弃用。目前,如果您期望单个字段有多个值,则默认设置为 True。例如,featureslist 设置为 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

输出