逻辑
Langflow的 Logic 组件提供路由、条件处理和流程管理功能。
If-Else (条件路由器)
If-Else 组件是一个条件路由器,通过比较两个字符串来路由消息。
它使用指定的操作符比较两个文本输入来评估条件,然后根据评估结果将消息路由到 true_result
或 false_result
。
该操作符基于操作符和匹配文本 (match_text
) 在输入 (input_text
) 中查找单个字符串,但也可以通过匹配正则表达式来搜索多个单词。
可用操作符包括:
- equals: 精确匹配比较
- not equals: 精确匹配的反向比较
- contains: 检查
match_text
是否在input_text
中找到 - starts with: 检查
input_text
是否以match_text
开头 - ends with: 检查
input_text
是否以match_text
结尾 - regex: 对区分大小写的模式进行匹配
默认情况下,除 regex 外,所有操作符都不区分大小写。 regex 始终区分大小写,您可以在 If-Else 参数 中为所有其他操作符启用区分大小写。
在流程中使用 If-Else 组件
以下示例使用 If-Else 组件通过正 则表达式匹配检查传入的聊天消息,然后根据匹配结果为 true 或 false 输出不同的响应。
-
将 If-Else 组件添加到您的流程中,然后按如下方式配置它:
-
Text Input: 将 Text Input 端口连接到 Chat Input 组件或其他
Message
输入。如果您的输入不是
Message
格式,您可以使用其他组件进行转换,例如 Type Convert 组件 或 Parser 组件。 如果您的输入不适合Message
格式,请考虑使用其他组件进行条件路由,例如 Data Operations 组件。 -
Match Text: 输入
.*(urgent|warning|caution).*
,以便组件在传入输入中查找这些值。正则表达式匹配区分大小写,因此如果您需要查找warning
的所有变体,请输入warning|Warning|WARNING
。 -
Operator: 选择 regex。
-
Case True: 在 组件的头部菜单 中,点击 Controls,启用 Case True 参数,点击 Close,然后在字段中输入
New Message Detected
。当匹配条件评估为 true 时,Case True 消息会从 True 输出端口发送。
未为 Case False 设置消息,因此当条件评估为 false 时,组件不会发送消息。
-
-
根据当结果为 True 时您希望发生什么,向流程中添加组件来执行该逻辑:
-
将 Language Model、Prompt Template 和 Chat Output 组件添加到您的流程中。
-
在 Language Model 组件中,输入您的 OpenAI API 密钥或选择不同的提供商和模型。
-
将 If-Else 组件的 True 输出端口连接到 Language Model 组件的 Input 端口。
-
在 Prompt Template 组件中,输入评估为 true 时模型的指令,例如
Send a message that a new warning, caution, or urgent message was received
。 -
将 Prompt Template 组件连接到 Language Model 组件的 System Message 端口。
-
将 Language Model 组件的输出连接到 Chat Output 组件。
-
-
对 False 结果使用另一组 Language Model、Prompt Template 和 Chat Output 组件重复相同的过程。
将 If-Else 组件的 False 输出端口连接到第二个 Language Model 组件的 Input 端口。 在第二个 Prompt Template 中,输入评估为 false 时模型的指令,例如
Send a message that a new low-priority message was received
。 -
要测试流程,请打开 Playground,然后向流程发送一些包含和不包含您的正则表达式字符串的消息。 聊天输出应根据正则表达式评估反映您提示中的指令。
_10User: A new user was created._10_10AI: A new low-priority message was received._10_10User: Sign-in warning: new user locked out._10_10AI: A new warning, caution, or urgent message was received. Please review it at your earliest convenience.