跳到主要内容

辅助组件

辅助组件提供实用功能,帮助管理数据并在流程中执行简单任务。

Calculator

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

有关在流程中使用此组件的示例,请参见Python interpreter组件。

Calculator参数

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

Current Date

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

Current Date参数

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

Message History

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

它取代了遗留的Chat HistoryMessage Store组件。

important

Language ModelAgent组件具有内置的聊天记忆功能,默认启用并使用Langflow存储。

这种内置的聊天记忆功能对大多数用例都足够了。

只有在需要在聊天上下文之外访问聊天记忆时才使用Message History组件,例如检索和分析最近存储的记忆的情感分析流程,或者你想将记忆存储在特定数据库中,与Langflow存储分开。

有关更多信息,请参见Store chat memory

在流程中使用Message History组件

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

  • Retrieve模式:组件从你的Langflow数据库或外部记忆中检索聊天消息。
  • Store模式:组件在你的Langflow数据库或外部记忆中存储聊天消息。

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

以下步骤解释了如何创建一个基于聊天的流程,该流程使用Message History组件从你的Langflow安装数据库中存储和检索聊天记忆:

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

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

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

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

    Prompt Template组件向LLM提供指令和上下文,独立于通过Chat Input组件传递的聊天消息。 Prompt Template组件中的变量动态向Prompt Template组件添加字段,以便你的流程可以从其他组件、Langflow全局变量或固定输入接收这些值的定义。

    在这种情况下,{memory}变量由检索的聊天记忆填充,然后传递给Language ModelAgent组件以向LLM提供额外的上下文。

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

    此示例使用Language Model组件作为中央聊天驱动程序,但你也可以使用Agent组件。

  6. 添加Chat Input组件,然后将其连接到Language Model组件的Input输入。

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

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

    根据需要在第二个Message History组件中配置任何其他参数,考虑到这个特定组件将存储聊天消息而不是检索它们。

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

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

Message History参数

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

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

遗留辅助组件

以下组件是遗留组件。 你可以在流程中使用这些组件,但它们不再维护,可能在未来版本中被移除。 建议你尽快用推荐的替代方案替换遗留组件。

Create List

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

它接受以下参数:

名称类型描述
n_fieldsInteger输入参数。要添加到记录的字段数。
text_keyString输入参数。用作文本的键。
listList输出参数。具有指定字段数的动态创建列表。
ID Generator

此组件生成唯一ID。

它接受以下参数:

名称类型描述
unique_idString输入参数。生成的唯一ID。
idString输出参数。生成的唯一ID。
Output Parser

Structured Output组件Parser组件替换遗留的Output Parser组件。 你需要的组件取决于数据类型和解析任务的复杂性。

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

解析组件只提供格式化指令和解析功能。 它们不包含提示。 你必须将解析器连接到Prompt Template组件以创建LLM可以使用的提示。

  1. 打开具有Chat InputLanguage ModelChat Output组件的流程。

  2. 向你的流程添加Output ParserPrompt Template组件。

  3. Prompt Template组件的Template中定义你的LLM提示,包括所有指令和预加载的上下文。 确保包含{format_instructions}变量,你将在其中注入来自Output Parser组件的格式化指令。 例如:


    _10
    You are a helpful assistant that provides lists of information.
    _10
    _10
    {format_instructions}

    模板中的变量动态向Prompt Template组件添加字段,以便你的流程可以从其他组件、Langflow全局变量或固定输入接收这些值的定义。

  4. Output Parser组件的输出连接到Prompt Template组件的format instructions输入。

Output Parser组件接受以下参数:

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