跳到主要内容

辅助组件

辅助组件提供实用工具函数,帮助您在流程中管理数据和执行简单任务。

计算器

计算器组件对数学表达式执行基本算术运算。 它支持加法、减法、乘法、除法和指数运算。

有关在流程中使用此组件的示例,请参阅Python 解释器组件

计算器参数

名称类型描述
expressionString输入参数。要计算的算术表达式,例如 4*4*(33/22)+12-20
resultData输出参数。作为包含已计算表达式的Data对象的计算结果。

当前日期

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

当前日期参数

名称类型描述
timezoneString输入参数。当前日期和时间的时区。
current_dateString输出参数。所选时区中的当前日期和时间结果。

消息历史

消息历史组件提供组合的聊天历史和消息存储功能。 它可以从Langflow 存储_或_专用的聊天记忆数据库(如 Mem0 或 Redis)中存储和检索聊天消息。

important

代理组件具有内置的聊天记忆功能,默认启用并使用 Langflow 存储。 对于大多数用例,此内置聊天记忆功能已足够。

在以下情况下使用消息历史组件:

  • 您需要为语言模型组件(而非代理)存储和检索聊天记忆。
  • 您需要在聊天上下文之外检索聊天记忆,例如检索和分析最近存储的记忆的情感分析流程。
  • 您希望将记忆存储在与 Langflow 存储分离的特定数据库中。

有关更多信息,请参阅存储聊天记忆

在流程中使用Message History组件

Message History 组件有两种模式,具体取决于您想在流程中的何处使用它:

  • 检索模式:组件从您的Langflow数据库或外部内存中检索聊天消息。
  • 存储模式:组件将聊天消息存储到您的Langflow数据库或外部内存中。

这意味着如果您想同时存储和检索聊天消息,您的流程中需要多个 Message History 组件。

以下步骤说明如何创建一个基于聊天的流程,该流程使用 Message History 组件来存储和检索来自您Langflow安装数据库的聊天记忆:

  1. 创建或编辑一个您想要使用聊天记忆的流程。

  2. 在流程开始时,添加一个 Message History 组件,然后将其设置为 检索 模式。

  3. 可选:在 Message History 组件的头部菜单 中,点击 Controls 来启用记忆排序、过滤和限制的参数。

  4. 添加一个 Prompt Template 组件,将 {memory} 变量添加到 Template 字段,然后将 Message History 输出连接到 memory 输入。

Prompt Template 组件为LLM提供指令和上下文,与通过 Chat Input 组件传递的聊天消息分开。 模板可以包含您想要提供给LLM的任何文本和变量,例如:


_10
You are a helpful assistant that answers questions.
_10
_10
Use markdown to format your answer, properly embedding images and urls.
_10
_10
History:
_10
_10
{memory}

模板中的变量 ({variable}) 会动态地向 Prompt Template 组件添加字段,以便你的工作流可以从其他地方(如其他组件、Langflow 全局变量或运行时输入)接收这些值的定义。

在此示例中,{memory} 变量由检索到的聊天记忆填充,然后传递给 Language ModelAgent 组件,为 LLM 提供额外的上下文。

  1. Prompt Template 组件的输出连接到 Language Model 组件的 System Message 输入。

    此示例使用 Language Model 核心组件作为中央聊天驱动程序,但你也可以使用其他语言模型组件或 Agent 组件。

  2. 添加一个 Chat Input 组件,然后将其连接到 Language Model 组件的 Input 字段。

  3. Language Model 组件的输出连接到 Chat Output 组件。

  4. 在工作流的末尾,添加另一个 Message History 组件,然后将其设置为 Store 模式。

    根据需要配置第二个 Message History 组件的任何其他参数,请注意此特定组件将存储聊天消息而不是检索它们。

  5. Chat Output 组件的输出连接到 Message History 组件的 Message 输入。

    LLM 的每个响应都会从 Language Model 组件输出到 Chat Output 组件,然后由最终的 Message History 组件存储在聊天记忆中。

Message History 参数

许多 Message History 组件的输入参数在可视化编辑器中默认是隐藏的。 您可以通过组件标题菜单中的 Controls 来切换这些参数。

NameTypeDescription
memoryMemory输入参数。从外部内存中检索消息。如果为空,则使用 Langflow 表格。
senderString输入参数。按发送者类型筛选。
sender_nameString输入参数。按发送者名称筛选。
n_messagesInteger输入参数。要检索的消息数量。
session_idString输入参数。要存储或检索的聊天记忆的 session ID。如果省略或为空,则使用流程运行的当前会话 ID。如果需要为运行相同流程的不同用户或应用程序隔离聊天记忆,请使用自定义会话 ID。
orderString输入参数。消息的顺序。
templateString输入参数。用于格式化数据的模板。它可以包含键 {text}{sender} 或消息数据中的任何其他键。
messagesMessage输出参数。作为 Message 对象检索的记忆,包括包含检索到的聊天消息文本的 messages_text。这是将记忆作为聊天消息传递给另一个组件的典型输出格式。
dataframeDataFrame输出参数。包含消息数据的 DataFrame。在需要以表格格式而非聊天消息形式检索记忆的情况下很有用。

传统辅助组件

以下组件是传统组件。 您可以在工作流中使用这些组件,但它们已不再维护,可能会在未来版本中被移除。 建议您尽快用推荐的替代方案替换传统组件。

创建列表

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

它接受以下参数:

NameTypeDescription
n_fieldsInteger输入参数。要添加到记录中的字段数量。
text_keyString输入参数。用作文本的键。
listList输出参数。具有指定字段数量的动态创建的列表。
ID 生成器

此组件生成一个唯一 ID。

它接受以下参数:

NameTypeDescription
unique_idString输入参数。生成的唯一 ID。
idString输出参数。生成的唯一 ID。
输出解析器

使用 结构化输出 组件解析器 组件 替换传统的 输出解析器 组件。 您需要的组件取决于解析任务的数据类型和复杂性。

输出解析器 组件使用 LangChain 的 CommaSeparatedListOutputParser 将语言模型的输出转换为逗号分隔值(CSV)格式,例如 ["item1", "item2", "item3"]结构化输出 组件是此组件的良好替代方案,因为它也支持自定义模式和更复杂的解析来格式化 LLM 响应。

解析 组件仅提供格式化指令和解析功能。 它们不包含提示词。 您必须将解析器连接到 提示模板 组件,以创建 LLM 可以使用的提示词。

  1. 打开一个包含 聊天输入语言模型聊天输出 组件的工作流。

  2. 输出解析器提示模板 组件添加到您的工作流中。

  3. 提示模板 组件的 模板 中定义您的 LLM 提示词,包括所有指令和预加载的上下文。 确保包含一个 {format_instructions} 变量,您将在其中注入来自 输出解析器 组件的格式化指令。 例如:


    _10
    您是一个提供信息列表的有用助手。
    _10
    _10
    {format_instructions}

    模板中的变量会动态向 提示模板 组件添加字段,以便您的工作流可以从其他组件、Langflow 全局变量或固定输入接收这些值的定义。

  4. 输出解析器 组件的输出连接到 提示模板 组件的 格式化指令 输入。

输出解析器 组件接受以下参数:

NameTypeDescription
parser_typeString输入参数。将解析器类型设置为 "CSV"。
format_instructionsString输出参数。传递给提示模板以包含 LLM 响应的格式化指令。
output_parserParser输出参数。可用于解析 LLM 响应的构建的输出解析器。
Search