跳到主要内容

Langflow 中的助手组件

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

在流程中使用助手组件

Langflow 中的聊天记忆可以存储在带有 LCBufferMemory 的本地 Langflow 表中,或者连接到外部数据库。

Store Message 助手组件将聊天记忆存储为 数据 对象,而 Message History 助手组件将聊天消息检索为数据对象或字符串。

此示例流程使用 Store MessageChat Memory 组件从 AstraDBChatMemory 组件存储和检索聊天记录。

Sample Flow storing Chat Memory in AstraDB

批量运行

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

响应包含以下列

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

这些列连接到 Parser 组件时,可以在大括号内用作变量。

要将批量运行组件与 Parser 组件一起使用,请执行以下操作

  1. Model 组件连接到 批量运行 组件的 Language model 端口。
  2. 将输出 DataFrame 的组件(如 File 组件)连接到 批量运行 组件的 DataFrame 输入。
  3. 批量运行 组件的 Batch Results 输出连接到 Parser 组件的 DataFrame 输入。流程如下图所示

A batch run component connected to OpenAI and a Parser

  1. 批量运行 组件的 Column Name 字段中,输入基于您从 File 加载器加载的数据的列名。例如,要处理 name 列,输入 name
  2. 可选地,在 批量运行 组件的 System Message 字段中,输入一个 System Message 来指示连接的 LLM 如何处理您的文件。例如,为每个名字创建一个名片。
  3. Parser 组件的 Template 字段中,输入一个模板来使用 批量运行 组件的新 DataFrame 列。要使用 批量运行 组件的所有三列,请按如下方式包含它们

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

  1. 要运行流程,在 Parser 组件中,点击.
  2. 要查看您创建的 DataFrame,在 Parser 组件中,点击.
  3. 可选地,连接一个 Chat Output 组件,并打开 Playground 查看输出。
参数

输入

名称类型描述
modelHandleInput将 LLM 组件的“语言模型”输出连接到此处。必需。
system_messageMultilineInputDataFrame 中所有行的多行系统指令。
dfDataFrameInput其列被视为文本消息的 DataFrame,由“column_name”指定。必需。
column_nameMessageTextInput要视为文本消息的 DataFrame 列的名称。默认值='text'。必需。
enable_metadataBoolInput如果为 True,则将元数据添加到输出 DataFrame。

输出

名称类型描述
batch_resultsDataFrame一个包含以下列的 DataFrame:“text_input”、“model_response”、“batch_index”和可选的包含处理信息的“metadata”。

当前日期

当前日期组件返回选定时区的当前日期和时间。此组件提供了一种灵活的方式,可在 Langflow 流水线中获取特定时区的日期和时间信息。

参数

输入

名称类型描述
timezoneString当前日期和时间的时区。

输出

名称类型描述
current_dateString选定时区的当前日期和时间结果。

ID 生成器

此组件生成唯一的 ID。

参数

输入

名称类型描述
unique_idString生成的唯一 ID。

输出

名称类型描述
idString生成的唯一 ID。

消息历史

信息

在 Langflow 1.1 之前,此组件被称为聊天记忆组件。

此组件从 Langflow 表或外部记忆中检索聊天消息。

在此示例中,Message Store 组件将完整的聊天记录存储在本地 Langflow 表中,Message History 组件将其检索为 LLM 回答每个问题的上下文。

Message store and history components

有关在 Langflow 中配置记忆的更多信息,请参阅 记忆

参数

输入

名称类型描述
memoryMemory从外部记忆中检索消息。如果为空,则使用 Langflow 表。
senderString按发送者类型过滤。
sender_nameString按发送者名称过滤。
n_messagesInteger要检索的消息数量。
session_idString聊天的会话 ID。如果为空,则使用当前会话 ID 参数。
orderString消息的顺序。
templateString用于格式化数据的模板。它可以包含键 {text}{sender} 或消息数据中的任何其他键。

输出

名称类型描述
messages数据检索到的消息作为数据对象。
messages_textString格式化为文本的检索到的消息。
lc_memoryMemory构建的 Langchain ConversationBufferMemory 对象。

消息存储

此组件将聊天消息或文本存储在 Langflow 表或外部记忆中。

在此示例中,Message Store 组件将完整的聊天记录存储在本地 Langflow 表中,Message History 组件将其检索为 LLM 回答每个问题的上下文。

Message store and history components

有关在 Langflow 中配置记忆的更多信息,请参阅 记忆

参数

输入

名称类型描述
messageString要存储的聊天消息。(必需)
memoryMemory存储消息的外部记忆。如果为空,则使用 Langflow 表。
senderString消息的发送者。可以是 Machine 或 User。如果为空,则使用当前发送者参数。
sender_nameString发送者的名称。可以是 AI 或 User。如果为空,则使用当前发送者参数。
session_idString聊天的会话 ID。如果为空,则使用当前会话 ID 参数。

输出

名称类型描述
stored_messagesList[Data]添加当前消息后存储的消息列表。

结构化输出

此组件将 LLM 响应转换为结构化数据格式。

在来自 Financial Support Parser 模板的示例中,结构化输出组件将非结构化财务报告转换为结构化数据。

Structured output example

连接的 LLM 模型由 结构化输出 组件的 Format Instructions 参数提示,用于从非结构化文本中提取结构化输出。Format Instructions 用作 结构化输出 组件的系统提示。

结构化输出 组件中,单击 Open table 按钮以查看 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}Playground 中呈现提取的值为 EBITDA: 900 million , Net Income: 500 million , GROSS_PROFIT: 1.2 billion

参数

输入

名称类型描述
llmLanguageModel用于生成结构化输出的语言模型。
input_valueString发送给语言模型的输入消息。
system_promptString指示语言模型如何格式化输出的指令。
schema_nameString输出数据模式的名称。
output_schemaTable模型输出的结构和数据类型。
multipleBoolean[已弃用] 始终设置为 True

输出

名称类型描述
structured_output数据结构化输出是基于定义模式的数据对象。

旧版组件

旧版组件可供使用,但不再受支持。

创建列表

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

参数

输入

名称类型描述
n_fieldsInteger要添加到记录中的字段数量。
text_keyString用作文本的键。

输出

名称类型描述
listList包含指定字段数量的动态创建列表。

输出解析器

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

注意

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

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

使用此组件

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

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

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

  2. 输出解析器将其转换为 Python 列表:["apple", "banana", "orange"]

参数

输入

名称类型描述
parser_typeString解析器类型。目前支持“CSV”。

输出

名称类型描述
format_instructionsString传递给提示模板,以包含 LLM 响应的格式化指令。
output_parserParser构建的输出解析器,可用于解析 LLM 响应。
Search