Skip to content
目录

节点详解

节点是工作流的关键构成,通过连接不同功能的节点,执行工作流的一系列操作

节点概览

工作流节点详解

本部分将详细介绍工作流画布中可用的所有节点,解释它们的核心功能和主要配置项,帮助你构建功能强大的应用。

一、 模型

这类节点主要用于调用大型语言模型(LLM)的核心能力。

大模型
  • 功能介绍: 这是工作流中最核心的节点之一,用于调用大语言模型进行对话、问答、文本生成或对自然语言进行各种处理。
  • 核心配置:
    • 模型: 选择你希望使用的具体大语言模型,例如Taichu、Qwen等。
    • 提示词: 设计和编写输入给模型的指令。你可以使用 { 快速插入变量,构建动态的提示词。
    • 知识库引用 : 将知识库的检索结果作为上下文信息提供给模型,使其能够基于特定知识进行回答。
    • 视觉输入: 对于支持多模态的模型,可以输入图片等视觉信息。
    • 输出: 节点会输出模型生成的内容。

大模型

二、 智能决策

这类节点赋予工作流根据上下文进行判断和选择的能力。

工具调用
  • 功能介绍: 此节点允许大语言模型根据用户的请求,自主决策并调用一个或多个外部工具(插件)来完成复杂任务。它模拟了一个智能代理(Agent)的行为。
  • 核心配置:
    • 工具调用方式 : 选择模型调用工具的策略,这将影响多步推理的机制。
    • 模型 : 选择具备工具调用能力的特定模型。
    • 插件箱 : 选择授权给模型使用的工具(插件)集合。
    • 最大迭代次数: 限制模型进行工具调用和推理的最大轮次,防止无限循环。

工具调用

意图识别
  • 功能介绍: 用于对用户的输入进行分类,判断其属于哪一种预定义的意图。你可以根据不同的意图,引导工作流走向不同的分支。
  • 核心配置:
    • 意图: 添加并定义多个意图分类。每个意图都应包含名称和具体的描述,以便模型理解。
    • 模型 : 选择用于执行分类任务的模型。
    • 指令 : 可以提供额外的指令,帮助模型更准确地进行分类。
    • 输出: 节点会输出匹配到的意图名称。

意图识别

三、 知识库与信息获取

这类节点帮助工作流从内部知识库或外部世界获取信息。

知识检索
  • 功能介绍: 允许你从已创建的知识库中,根据用户输入查询并召回最相关的文本内容或数据分段。
  • 核心配置:
    • 输入: 指定一个变量(通常是用户输入)作为查询的内容。
    • 知识库 : 选择要从中进行检索的知识库。
    • 输出: 输出召回的知识分段列表。

知识检索

文档解析
  • 功能介绍: 用于处理用户上传的文档(如 PDF, TXT, Markdown等),将其内容解析为纯文本格式,以便下游的“大模型”等节点进行理解和处理。
  • 核心配置:
    • 输入: 接收一个文件类型的变量。
    • 输出: 输出从文档中提取的纯文本内容。

文档解析

HTTP 请求
  • 功能介绍: 使你的工作流能够与外部API进行通信。你可以发送GET, POST等请求来获取数据或触发外部服务。
  • 核心配置:
    • API 地址: 输入请求的目标URL,支持在URL中插入变量以及导入cURL。
    • 请求方法: 选择 HTTP 请求方法 (GET, POST, PUT, DELETE等)。
    • 请求头/参数/体: 配置请求的详细信息,支持键值对编辑。
    • 鉴权: 支持配置 API Key鉴权方式。
    • 输出: 输出HTTP响应的内容、状态码和响应头等信息。

http请求节点1

http请求节点2

四、 业务逻辑

这类节点用于实现工作流中的条件判断、数据处理、循环执行等复杂的业务逻辑。

文本处理
  • 功能介绍: 使用 Jinja2 模板语法,将多个输入变量进行格式化处理,最终组合成一个字符串。非常适合用于动态生成复杂的文本内容。
  • 核心配置:
    • 输入 : 定义可以在模板代码中使用的输入变量。
    • 代码: 编写 Jinja2 模板。
    • 输出: 输出经过模板转换后的字符串内容。

文本处理

变量赋值
  • 功能介绍: 用于向一个可写入的变量(例如会话变量)进行赋值或修改。你可以覆盖、追加或清空变量的值。
  • 核心配置:
    • 赋值的变量: 选择一个要进行操作的会话变量。
    • 写入模式: 选择操作类型,如覆盖清空设置
    • 设置变量: 设置要赋给变量的值。

变量赋值节点

条件选择器
  • 功能介绍: 根据一个或多个条件的判断结果(真或假),将工作流拆分为两个分支(if 分支和 else 分支),实现条件逻辑。
  • 核心配置:
    • 条件: 设置判断条件。你可以选择一个变量,一个操作符(如包含、等于、为空等),并输入一个值进行比较。支持添加多个 andor 条件。

条件选择器节点

批处理
  • 功能介绍: 对一个列表(Array)类型的变量进行遍历。节点内的子流程会为列表中的每一个元素执行一次。
  • 核心配置:
    • 输入: 选择一个数组类型的变量作为要遍历的列表。
    • 并行模式: 可选择开启并行模式,同时处理列表中的多个项目,以提高效率。
    • 输出: 输出所有迭代执行完成后产生的结果集合。

批处理节点

循环
  • 功能介绍: 重复执行节点内的一段逻辑,直到满足设定的结束条件或达到最大循环次数上限。
  • 核心配置:
    • 循环结束条件: 设置一个条件,当该条件为真时,循环停止。
    • 最大循环次数: 设置一个循环执行次数的上限,防止无限循环。

循环节点

代码运行
  • 功能介绍: 允许你直接在工作流中执行一段 Python 或 NodeJS 代码,以实现高度自定义的逻辑。
  • 核心配置:
    • 输入: 定义传入代码中可以使用的变量。
    • 代码: 编写你的 Python 或 NodeJS 代码。
    • 输出: 定义代码执行后输出的变量。

代码运行节点

五、 变量聚合器

变量聚合器
  • 功能介绍: 当工作流中有多个分支(例如在“条件选择器”之后),并且你希望将这些不同分支产生的变量合并成一个统一的变量供下游节点使用时,可以使用此节点。它解决了多路分支输出不一致的问题。
  • 核心配置:
    • 输入: 连接多个上游分支节点。
    • 输出: 将聚合后的统一变量输出给下游节点。

变量聚合节点

六、 输入和输出

这类节点定义了工作流的起点、终点和最终的回复形式。

指定回答
  • 功能介绍: 这是对话型应用中常用的输出节点,用于定义最终回复给用户的文本内容。工作流执行到此节点时,会立即将内容响应给用户。
  • 核心配置:
    • 回复的内容: 输入要回复的文本,支持插入变量。

指定回答节点

(隐式节点) 流程开始
  • 功能介绍: 每个工作流的起点,用于定义整个流程启动时接收的输入参数,例如用户的提问、上传的文件等。这些参数会作为全局变量在整个工作流中传递。

流程开始节点

(隐式节点) 结束
  • 功能介绍: 代表工作流的正常执行结束。