扳手 ByAgent智能体搭建手册(2025年)

目 录

一、 快速上手:创建你的第一个智能体 1

二、 基础界面与操作 5

(一) 界面布局 5

(二) 基本操作 7

三、 节点说明 8

(一) 开始 8

(二) 全局变量 19

(三) 结束 21

(四) 子流程 24

(五) 插件 25

(六) 大模型 25

(七) MCP 30

(八) 知识库 31

(九) QA知识库检索 36

(十) 网页内容 37

(十一) 数据库连接 40

(十二) 向量库 41

(十三) HTTP请求 42

(十四) 文档提取器 45

(十五) 意图识别 46

(十六) 条件分支 49

(十七) 参数提取器 53

(十八) 自定义组件 57

(十九) 变量赋值 58

(二十) 长期记忆 59

(二十一) 知识库写入 60

(二十二) 临时知识库写入 62

(二十三) 图生文 63

(二十四) 小程序 64

(二十五) 外部智能体 67

(二十六) 循环 69

(二十七) 变量聚合器 72

(二十八) 列表操作 75

一、快速上手:创建你的第一个智能体

我们将创建一个简单的“文本扩写”智能体,让你快速熟悉整个流程。

目标:接收用户输入的一句话,让智能体帮你扩写成一段更丰富的描述。

所需节点:开始→大模型→结束

操作步骤:

  1. 添加并连接节点
  • 从左侧 “基础功能” 区,拖拽一个“大模型”节点和一个“结束”节点到中间画布。
  • 将“开始”节点的输出点连接到“大模型”节点的输入点。
  • 将“大模型”节点的输出点连接到“结束”节点的输入点。

  1. 配置“大模型”节点
  • 点击“大模型”节点。
  • 选择模型:从“模型”下拉菜单中,选择一个适用或想用的模型。
  • 设置温度:将“温度”滑块设置为0.2。这会让智能体的回答更确定、更保守。
  • 编写提示词:在“提示词”输入框中,写入指令:请你将用户提供的句子扩写成一段更生动、更丰富的描述。
  • 关联用户问题:点击“用户问题”输入框右边的图标,下拉并选择“开始 / 用户问题”变量。这表示我们要将“开始”节点里用户提出的问题,作为智能体扩写的对象。

  1. 配置“结束”节点
  • 点击“结束”节点。
  • 在右侧配置面板中,点击“添加”按钮。
  • 在弹出的变量选择框中,选择“大模型_1 / 模型”输出。这表示我们要把智能体扩写后的结果,作为最终的回复展示给用户。

  1. 保存与调试
  • 点击右上角的“保存”按钮。
  • 点击右上角的“铃铛”图标(问题清单),检查是否有配置错误。如果为空,说明配置无误。
  • 点击右下角的蓝色“调试”图标,进入调试页面。
  • 点击“发送”按钮,你将看到右侧的输出区域显示出智能体扩写后的文本,例如:她开心地笑了,那笑容像春天里盛开的花朵,明媚而灿烂,瞬间温暖了周围的一切。

恭喜!你已经成功创建并运行了你的第一个智能体。

二、基础界面与操作

(一)界面布局

这个界面是用来搭建高级智能体的工作台。

  1. 左侧是功能组件区,相当于工具库,各功能组件按需分类,方便选取搭建智能体:
  • 基础核心工具类:是搭建智能体的基石。
  • 数据/知识库类:为智能体提供知识储备和数据交互能力。
  • 逻辑控制类:让智能体像人一样会动脑子、做选择。
  • 业务处理类:啥业务都能搞定,啥需求都能满足。
  1. 中间是搭建智能体流程的核心区域:

所有节点的摆放、连接都在这里完成,默认有一个开始节点。

  1. 左下角有三个按钮,用于缩放控制:
  • + / -:放大 / 缩小画布。
  • 适应画布:一键缩放至整个流程都可见。
  1. 右上角有两个按钮:
  • 保存按钮:保存当前智能体的所有配置,便于之后使用或进一步修改。
  • 铃铛按钮:在智能体搭建过程中,点击该按钮会弹出问题清单面板,列出当前智能体搭建存在的问题,比如节点数量是否符合要求、节点之间是否正确关联、有没有结束节点等。点击“定位问题”,可快速发现并定位搭建中的问题,并进行修改和重新配置,确保智能体能够正常上线或调试。

  1. 右下角蓝色图标,用于调试:

若配置问题清单已为空,可以点击右下角的蓝色图标,进入调试页面,系统会模拟智能体的运行过程,你可以查看智能体在接收输入(比如开始节点中的用户名、用户问题等变量)后,各个节点是不是都按计划走,该做的都做了没,输出是否符合要求。

(二)基本操作

  1. 拖拽节点

从左侧功能组件区用鼠标选中所需节点,按住鼠标左键,将其拖拽至中间工作区合适位置。

  1. 连接节点

鼠标放在节点右侧的连接点上(输出点),待出现黑色十字架后,点击并拉出一条虚线,拖向并连接至目标节点左侧的连接点(输入点)。

  1. 重命名节点

点击节点名称右边的修改按钮,重命名。

三、节点说明

(一)开始

  1. 定义

“开始”节点是整个智能体流程的起点,在这里可以设置流程需要的输入信息,作为后续节点处理的基础数据。

  1. 配置节点

在开始节点的设置页,你可以看到两部分,分别是预设的“系统变量”和可添加的“高级变量”。

系统变量

变量名称 数据类型 说明 备注
用户名 String 用户在系统中的名称标识
用户ID String 分配给每个应用用户的唯一标识符,用以区分不同的对话用户
用户角色 String 标识用户在系统中所具有的角色,如管理员、普通用户等
应用ID String 区分不同的应用,并通过此参数记录当前应用的基本信息
用户问题 String 用户所提出的问题内容
文件列表 Array[File] 存储用户初始使用应用时上传的图片 点击 “文件列表” 右侧的齿轮形状设置图标,会弹出 “上传设置” 弹窗
图片列表 Array[File] 存储相关图片文件的列表 点击 “图片列表” 右侧的齿轮形状设置图标,会弹出 “上传设置” 弹窗

高级变量

点击 “+ 添加高级变量” 按钮。

弹出 “高级变量” 配置界面。左侧是控件区域,用鼠标选中所需控件,按住鼠标左键,将其拖拽至中间使用。放置后右侧控件属性区域显示对应控件的属性调整项,可对每个控件进行精细化的设置与管理。

共有控件属性

  • id:控件的唯一标识。
  • 标签:显示在输入框 / 选项左边的文字,用于说明该输入框 / 选项的用途,例如“姓名”标签,让用户知道要在输入框中输入姓名。
  • 默认提示内容:输入框 / 选项为空时显示的提示文字,起到提示用户输入的作用,比如“请输入姓名”,引导用户在输入框中输入相关内容。
  • 默认值:在用户没有输入 / 选择时,输入框 / 选项会显示该默认值,比如输入框默认显示 “张三”,可作为输入示例或常用值。
  • 必填:若勾选,标签左边出现星号,用户必须在该输入框 / 选项中输入 / 选择内容,否则无法提交。

控件和控件特有属性

  • 输入框:用于输入简短的文本信息,比如输入姓名“张三”等。

  1. 最大长度:限制用户输入内容的最大字符数。
  • 文本框:用于输入较长的文本内容,比如输入用户性格描述“我性格乐观开朗,善于沟通”。

  1. 最大长度:限制用户输入内容的最大字符数。
  2. 自适应内容高度:设置文本框高度是否随输入内容自动调整,比如设置最小行数和最大行数,让文本框能根据输入的兴趣爱好内容自动改变高度,方便查看全部内容。
  3. 是否设置为用户问题输入:若选 “是”,该文本框的内容会作为用户问题传递给后续节点(如大模型节点),用于特定的问题输入场景。
  4. 是否配置选项:若选 “是”,可配置文本框的选项内容,丰富输入形式。
  • 数字输入框:专门用于输入数字类数据,比如输入年龄“25”。

  1. 最小值:限制输入数字的最小范围,比如设置最小值为 0,确保输入的年龄为非负数。
  2. 最大值:限制输入数字的最大范围,比如设置最大值为 120,符合人类年龄合理范围。
  3. 数值精度:设置数字的小数精度,如精度为 0,说明只能输入整数年龄。
  • 下拉选择器:提供预设的下拉选项列表,用户可从中选择一个选项,比如用户所属会员等级选择,下拉选项有 “普通会员”“黄金会员”“钻石会员”,用户选择 “黄金会员”。

  1. 配置选项:设置下拉选择器的选项,如 “普通会员”“黄金会员”“钻石会员”,为用户提供选择范围。选项可添加、删除。
  2. 操作属性:
  3. 多选:勾选,用户可在下拉选择器中选择多个选项;不勾选,只能选择一个选项。
  4. 禁用:勾选,下拉选择器将处于不可操作状态,用户无法点击和选择选项。
  5. 搜索:勾选,下拉选择器会提供搜索功能,当选项数量较多时,用户可通过输入关键词快速搜索到想要的选项,提升选择效率。
  • 单选框:提供多个选项,用户只能选择其中一个,比如性别选择,选项有 “男”“女”,用户选择 “男”。

  1. 选项类型:可选择 “默认” 或 “按钮” 样式,改变单选框的显示形式。
  2. 配置选项:设置单选框的选项,如 “男”“女”,供用户单选。选项可添加、删除。
  • 复选框:提供多个选项,用户可以选择多个,比如兴趣爱好选择,选项有 “阅读”“运动”“音乐”,用户选择 “阅读” 和 “运动”。

  1. 选项类型:可选择 “默认” 或 “按钮” 样式,改变复选框的显示形式。
  2. 配置选项:设置复选框的选项,如 “阅读”“运动”“音乐”,供用户多选。选项可添加、删除。
  • 日期选择框:用于选择日期,比如选择活动举办日期 “2025-10-01”。

  1. 时间格式:用于设置日期选择器显示和返回的日期格式,比如 “YYYY-MM-DD”。
  2. 操作属性:
  3. 日期范围:勾选,日期选择器可用于选择一个日期范围(如从某天到某天)。
  4. 可清除:勾选,用户可清除已选择的日期,重新进行选择。
  5. 禁用:勾选,日期选择器将处于不可操作状态,用户无法点击和选择日期。
  • 上传文件:用于上传各类文件,比如上传合同文档“合作协议.docx”。

  1. 最大上传数量:限制用户最多可上传的文件数量,确保上传文件数量在合理范围,避免因上传过多文件给系统带来过大压力。
  2. 单个文件大小:限制单个上传文件的大小,单位为 MB,防止上传过大的文件影响系统性能或超出存储。
  3. 是否解析文件:若选择 “是”,系统会对上传的文件进行解析处理,提取文件内容;选择 “否” 则仅存储文件,不进行内容解析。
  4. 操作属性:
  5. 多选:勾选,用户可同时选择多个文件上传;不勾选,一次只能上传一个文件。
  6. 禁用:勾选,上传文件控件将处于不可操作状态,用户无法点击和上传文件。
  7. 是否留存文件:勾选,上传的文件会被留存下来,方便后续查看、使用;不勾选,可能仅在当前流程中临时使用文件,之后不做留存。
  • 上传图片:用于上传图片文件,比如上传产品图片“手机.jpg”。

  1. 最大上传数量:限制用户最多可上传的图片数量,确保上传图片数量在合理范围,避免因上传过多图片给系统带来压力。
  2. 单个文件大小:限制单个上传图片的大小,单位为 MB,防止上传过大的图片影响系统性能或超出存储。
  3. 操作属性:
  4. 多选:勾选,用户可同时选择多张图片上传;不勾选,一次只能上传一张图片。
  5. 禁用:勾选,上传图片控件将处于不可操作状态,用户无法点击和上传图片。
  • 字典:可用于构建键值对形式的数据结构,组织相关联的信息。
  • 分割线:界面分隔,让界面布局更清晰。

  1. 标签位置:用于设置标签相对于分割线的位置,可选择 “左边”“中间”“右边”。
  • 提示词:用于在界面上显示提示信息,给用户操作指引。比如在表单最后提示“注意隐私安全”。

  1. 类型:用于设置提示词的类型,不同类型会对应不同的颜色。比如“消息”类型以绿色显示;“成功”类型以绿色显示,提示操作成功;“警告”类型以黄色显示,提醒用户注意潜在问题;“错误”类型以红色显示,起到警示作用。
  2. 文本提示:用于输入具体的提示文字内容,比如 “温馨提示,注意隐私安全”。

然后是右侧表单属性区域:

  • 表单名称:便于识别这个高级变量表单的用途;
  • 排列方式:可选择”水平”或“垂直”,决定控件在表单里的排列方向;
  • 标签布局:在水平排列生效时,可选择“固定”或“栅格”;
  • 标签宽度(px):调整标签显示的宽度;
  • 表单位置: 可选择“左侧”或“对话框上方”,确定表单在界面上的位置;
  • 提交按钮名称:可自定义,比如改成“确认提交”,方便用户知道点击按钮的作用。

最后,点击预览,点击保存。

(二)全局变量

  1. 定义

全局变量是用户存储所需要的上下文信息,如用户偏好、对话历史等。它是可读写的。支持定义String、Number、Object,以及这三种类型的数组。

全局变量在会话过程中不会被清空,直至新增会话。

  1. 配置步骤

点击蓝色“fx”图标,进行添加全局变量,定义好中文名、英文名、变量类型、默认值等。

(三)结束

  1. 定义

标记一个流程的结束,后续不再有其他节点的执行。

  1. 配置步骤

  • 接收上游节点输出:

“结束” 节点可以接收来自前面节点(比如这里的 “大模型_1” 节点)的输出内容(如 “大模型_1 / 模型输出”),将其作为整个流程最终的结果载体。

  • 配置输出形式(可选):
  1. 输出小程序:搭配小程序节点使用,可以通过小程序节点自定义可视化的操作前端页面。
  2. 应用卡片:搭配应用知识库进行使用,可以将应用类型的知识库以应用卡片的形式进行展示应用的名称、图标等。
  3. 是否启用文件下载:开启后,通过设置模板,设置填充的变量,可以实现生产内容填充至文档中。
  4. 链接跳转:设置链接打开,设置自动打开链接的规则,如果命中规则,自动打开链接。
  5. 应用场景

长工作流中,结束节点配置的变量为上游代码节点的输出。

  • 单路执行示例

  • 多路执行示例

(四)子流程

  1. 定义

将一段常用的、复杂的逻辑的工作流发布封装成一个节点,方便在多个主流程中复用,让主流程更简洁。

  1. 配置步骤

(五)插件

  1. 定义

用于扩展流程的功能,通过添加不同类型的插件(比如计算器、代码执行器、搜索插件等),来实现数学计算、代码运行、网络搜索等特定操作。

  1. 配置步骤

  • 将节点拖拽至中间区域,弹出添加插件弹窗。
  • 点击想要添加的插件,再点击插件下方的“添加”,即可成功将插件挂载在智能体上。

(六)大模型

  1. 定义

调用大语言模型,让模型根据输入内容生成相应的输出,比如回答问题、生成文本等。

  1. 配置步骤

  • 与上一个节点连接

比如与“开始”节点连接,获取用户的输入信息,作为模型处理的原始数据。

  • 选择模型

点击“模型”下拉框 ,从列表里选择适合业务场景的 AI 模型。不同模型在功能、性能、适用领域等方面存在差异,有些模型擅长文本生成,有些在专业知识问答方面表现出色。

  • 设置温度

大模型的“温度”是一个控制生成文本随机性的参数,可以理解为调节模型“脑洞大小”的旋钮,一般取值在 0-1 之间:

  1. 当取值较低接近 0 时,预测的随机性会较低,产生更保守、可预测的文本,不太可能生成意想不到或不寻常的词。
  2. 当取值较高接近 1 时,预测的随机性会较高,所有词被选择的可能性更大,会产生更有创意、多样化的文本,更有可能生成不寻常或意想不到的词。
  • 编写提示词

在“提示词”输入框中,输入引导模型生成期望回答的文本。

提示词的编写其实很简单,下面是一张提示词的通用模板:

  1. 先定身份:比如这里 “角色:百事通助手”,就是告诉大模型你现在得扮演校园百事通的角色,让它有个明确的“身份定位”。
  2. 再给背景:像 “用户在校园生活中遇到各种问题……”,这是给大模型讲讲 “啥场景下要干活”,让它知道问题的大前提。
  3. 接着说能干啥、要干啥:“概述、技能、目标” 这些部分,就是跟大模型 “说清楚你得有啥本事,要达成啥目的”,比如得能从知识库找答案,还得回答准确。
  4. 然后设限制:“仅使用知识库中的信息……”,这是给大模型画红线,告诉它 “啥能做,啥不能做”,别瞎发挥。
  5. 再规定输出样儿:“输出格式:回答应清晰、准确……”,就是命令大模型 “最后给的答案得是啥样的”,比如得通俗易懂,有图片还得展示出来。
  6. 最后列步骤:“步骤流程” 里的 1、2、3,就是手把手教大模型 “该咋一步步解决问题”,例如:先识别部门,再结合知识库,最后总结回答。
  • 关联用户问题

“用户问题” 输入框可以关联上游节点(如“开始”节点)传递过来的向模型询问的问题,这样模型就能基于用户的实际问题进行回答。正常情况下就是选择用户问题,也可以自由选择其他变量作为问题,也可以手动输入文字固定用户问题。

  • 开启流式输出(可选)

用于控制模型的输出方式。

若开启(如左图),模型会边生成回答边返回结果,用户可以更快看到部分内容,提升交互体验,适用于对响应及时性要求较高的场景,如实时对话;若关闭(如右图),模型会在完整生成回答后一次性返回结果,适用于对回答完整性要求高,不追求实时反馈的场景。

  • 测试与调试

配置好大模型节点后,可以进行测试。模拟几个用户会提的问题,观察模型的输出结果是否符合预期。如果结果不理想,可尝试调整模型选择、温度值、提示词内容等,重新测试,直到获得满意的结果。

  • 与其他节点连接

大模型节点通常需要继续与其他节点配合使用。

  1. 应用场景

例如,需要对一段文本内容进行扩写。

  • 大模型节点:拖拽出大模型技能节点,然后下面提示词通过引用开始变量-用户问题节点作为任务说明,提示词如上“请你扩写下文本内容”,并设置{{开始/用户问题}}为用户输入的问题。
  • 结束节点:直接引用前面大模型的输出作为返回用户的内容。

(七)MCP

  1. 定义

MCP 是 Anthropic 提出的开源标准协议。支持在工作流中进行配置。

  1. 配置节点
  • 将节点拖拽至中间区域,弹出添加mcp弹窗。
  • 点击想要添加的mcp服务,再点击下方的“添加”,即可成功将改mcp挂载在智能体上。

(八)知识库

  1. 定义

从预设的知识库中检索信息,匹配用户提出的问题并生成回答。

  1. 配置步骤

  • 输入用户问题

在 “用户问题” 输入框右边,点击”添加“按钮,选择需要查询的用户问题。这是知识库检索的核心依据,系统会基于这个问题去知识库中寻找匹配的信息。

  • 添加知识库

点击知识库区域的 “+” 按钮,添加所需的知识库,可以添加多个。只有添加了对应的知识库,系统才能从该知识库中检索信息。

  • 选择检索方式
  1. 语义检索:注重问题的语义含义,能听懂你问的大概意思,然后去资料库里找相关的内容来回答你,它不会死抠字眼,而是抓住你问题的核心意思来帮忙找答案。
  2. 全文检索:会对知识库中的全文内容进行检索,更注重文字的完全匹配。
  3. 混合检索:结合了语义检索和全文检索的优点,能更全面、准确地检索到匹配内容。
  • 设置引用上限

设置从知识库中引用内容的上限值(例如最大值为 14000),这个值决定了从知识库中获取的内容量的上限,避免获取过多或过少的内容,主要取决的于大模型的长下文长度限制,如果大模型的长下文长度越大,知识库的引用上限数值可相应扩大。

  • 调整最低相关度

通过拖动 “最低相关度” 的滑块,调整检索结果与用户问题的最低相关程度。滑块数值范围在 0.01 到 1 之间,数值越高,要求检索结果与用户问题的相关度越高,检索出的结果会更精准,但可能数量更少;数值越低,检索出的结果范围会更广,但精准度可能降低。

  • 设置 Top K

拖动 “Top K” 的滑块,设置返回的最相关结果的数量。滑块范围在 0 到 50 之间,比如设置为 5,就会返回与用户问题最相关的 5 条结果。

  1. 应用场景

例如,需要从指定知识检索相关内容并返回。

  • 知识库检索节点:引用开始节点的“用户问题”参数作为检索条件,在选择知识库前选择知识库的检索方式为混合检索,再点击“+”添加测试数据集作为检索知识库
  • 结束节点:引用知识库节点的输出作为返回内容。

(九)QA知识库检索

  1. 定义

从专门的问答(QA)类型知识库中检索信息,匹配用户提出的问题并生成回答。

  1. 配置节点

  • 输入用户问题

具体步骤同知识库节点。

  • 添加知识库

具体步骤同知识库节点。

  • 选择检索方式

具体步骤同知识库节点。

  • 调整最低相关度

具体步骤同知识库节点。

  1. QA知识库检索节点和知识库节点的区别
  • 知识存储形式:QA 知识库检索节点针对的是问答形式的知识库,以问题 - 答案对为主要存储结构;知识库节点内容种类更多,存储形式多样,不仅有问答对,还包括文档、条目等。
  • 检索目标:QA 知识库检索节点专门检索问答对,精准匹配用户问题和答案;知识库节点则是从通用知识库中检索各类信息,检索范围更广,不限于问答形式。
  • 加工处理:QA知识库检索节点可以不要大模型节点再进行加工,可以直接回答QA中的“回答”。
  • 应用场景:QA 知识库检索节点适合快速解答常见问题,比如客服系统的自动回复;知识库节点适用于需要整合、查询多种知识的场景,像知识管理、信息挖掘等。

(十)网页内容

  1. 定义

用于精准提取指定网页的数据并输出。

  1. 配置步骤

  • 填写网址链接

填写需要提取数据的网页地址。如果有多个不同网址,通过换行来分隔。

  • 设置更新频率

根据需求选择网页内容的更新频率,可选项有“每天”“每 3 天”“每 7 天”“每 30 天” 和 “不更新”。若选择 “不更新”,则仅提取一次网页内容;选择其他频率,会按照设定的时间间隔定期更新提取的网页数据。

  • 选择抓取深度

选择抓取网页内容的深度,比如 “抓取当前网页内容”,确定要提取的网页范围。

  1. 应用场景

例如,需要从下面两个网页捕获数据并输出,可以使用网页内容插件编排工作流。

需要捕获的网页一:https://top.baidu.com/board?platform=pc&sa=pcindex_entry

需要捕获的网页二:https://news.baidu.com/

配置网页内容节点

输入:在网址链接文本框输入需要捕获的网址,作为该节点的输入。

输出:为了快速查看捕获网页的输出效果,将该节点的输出作为结束节点的输入内容。

如果需要将捕获的数据整理成更清晰的结构,可以在网页内容节点后面添加一个数据整理大模型,大模型接收网页捕获的数据并进行整理,然后输出给结束节点作为返回内容。

(十一)数据库连接

  1. 定义

用于连接指定数据库,选择通过大模型,将用户输入的内容转为sql查询语句,查询数据库中的数据,并输出。

  1. 配置步骤

  • 输入数据库的相关信息

填写数据库类型、数据库名称、主机地址、端口号、用户名和密码等。

  • 填写高级配置信息
  1. 配置sql语句:通过填写各种参考的sql语句,让大模型参考学习,提高大模型编写sql的准确度。

  2. 配置DDL:即建表语句,能够让大模型理解每张表每个字段的含义,提高大模型编写sql的准确度。

  3. 配置描述:通过文本描述,提供额外的信息,供大模型进行参考,让大模型更易理解表的数据结构等,提高大模型编写sql的准确度。

(十二)向量库

  1. 定义

向量库节点是通过在工作流中配置对应知识数据源连接信息,根据语义查询知识数据源中相似片段数据。

  1. 配置步骤

  1. 要进行查询检索的变量内容
  2. 选择向量数据库类型
  3. 向量库配置。配置向量数据的的链接地址,配置例如:

{"url":"http://IP地址:端口号"}

  1. 模型配置

{"type":"bywin","host_base_url":"xxx","model":"bge-m3"}

集合名称。就是向量数据库中用来逻辑隔离不同数据集合的“名字”,是最上层的数据划分单位,相当于传统数据库里的“库名”。

(十三)HTTP请求

  1. 定义

HTTP 请求节点支持用户通过 HTTP 协议调用外部服务,以实现数据获取、提交与接口交互。该节点涵盖多种 HTTP 请求方法,并支持对请求参数、请求头、鉴权信息及请求体进行灵活配置,满足多样化的数据交互场景。此外,节点还提供超时设置等控制选项,有效保障请求的可靠性与数据处理的准确性。

该节点支持常见的 HTTP 请求方法:

GET:用于请求服务器返回指定资源。

POST:用于向服务器提交数据,通常用于创建资源或执行操作。

  1. 配置步骤

在使用 HTTP 请求节点实现数据获取、提交等功能时,通常需要配置 API、请求参数、请求头、鉴权、请求体等参数

配置项 说明
API 配置 API 请求地址和方法,支持以下请求方法: GET:用于请求从外部服务获取数据,例如调用 API 获取用户信息、天气数据等。 POST:用于向服务器提交数据,例如提交表单。
请求参数 请求参数是附加在 URL 后面的键值对,用于向服务器传递额外的信息。例如,在搜索请求中,可以通过请求参数传递搜索关键词。
请求头 请求头包含客户端的信息,如 User-Agent、Accept 等。通过配置请求头,可以指定客户端的类型、接受的数据格式等信息。
请求体 请求体是 POST 请求中包含的数据,可以是表单数据、JSON 数据等。根据不同的请求类型和数据格式,可以选择相应的请求体格式,例如 form-data、x-www-form-urlencoded、raw text、JSON 等。
超时设置 通过配置超时设置,可以避免长时间等待,提高系统的响应速度。
输出 输出变量包括响应体、状态码和响应头。
  1. 配置示例

(十四)文档提取器

  1. 定义

大模型自身无法直接读取或解释文档的内容。因此需要将用户上传的文档,通过文档提取器节点解析并读取文档文件中的信息,转化文本之后再将内容传给大模型以实现对于文件内容的处理。

  1. 配置步骤

在“输入变量”下拉框中,选择包含用户上传文件的变量,这里选择的是“文件列表”,该变量存储着需要解析的文档文件。

(十五)意图识别

  1. 定义

自动分辨用户问的是什么问题,然后走不同的处理流程。

  1. 配置步骤

  • 选择模型

在 “模型”下拉框中,选择合适的意图识别模型。

  • 填写背景知识

在 “背景知识” 输入框中,填写有助于意图识别的背景信息,比如相关领域的定义、概念等,为模型识别用户意图提供更多参考依据。

  • 输入用户问题

在 “用户问题” 输入框中,填写需要进行意图识别的用户问题。

  • 配置分类

在 “分类 1”“分类 2”“分类 3” 等输入框中,分别填写不同的分类内容,让模型能根据用户问题将其归类到对应的分类中,进而执行不同的操作路径。可以添加、删除分类。

  1. 应用场景

常见的使用情景包括客服对话意图分类、产品评价分类、邮件批量分类等。

例如,需要搭建一个智能导服智能体,通过接收用户问题,后台自动判断用户意图并进行意图分类。

  • 意图识别节点:选择模型,在背景知识处输入如上文本,告诉大模型分类的任务。在下面分类1、分类2等输入需要大模型分类的类型,然后将每个分类连接不同的结束节点。
  • 结束节点:拖拽多个结束节点,并将每个结束节点链接意图识别技能节点的不同分类链接点,然后将不同分类的意图判断结果作为返回内容。

(十六)条件分支

  1. 定义

根据设定的IF/ELSE IF/ELSE条件逻辑,将流程拆分成多个分支,走不同处理流程。

  1. 节点功能

条件分支的运行机制包含以下六个路径:

  • IF 条件:选择变量,设置条件和满足条件的值;
  • IF 条件判断为 True,执行 IF 路径;
  • IF 条件判断为 False,执行 ELSE 路径;
  • ELIF 条件判断为 True,执行 ELIF 路径;
  • ELIF 条件判断为 False,继续判断下一个 ELIF 路径或执行最后的 ELSE 路径;

条件类型

支持的条件类型取决于变量的数据类型

数字变量:

  • 大于
  • 大于等于
  • 小于
  • 小于等于

字符串/数字/对象变量:

  • 包含
  • 不包含
  • 开始为
  • 结束为
  • 等于
  • 不等于
  • 为空
  • 不为空

布尔值变量:

  • 等于 - 真/假
  • 不等于 - 真/假

布尔值数组变量:

  • 包含 - 真/假
  • 不包含 - 真/假
  • 为空
  • 不为空
  1. 配置步骤

  • 设置 IF 条件

在 “IF” 区域,通过选择 “变量”(可从流程中的变量里选取,比如 “用户名”“用户 ID” 等)、“操作”(如等于、大于、包含等逻辑操作)以及填写 “值”,来定义条件。例如,设置 “如果用户角色等于‘教职工’” 这样的条件。

  • 添加条件(可选)

点击 “+ 添加条件”,可以添加多个条件。

  • 配置 IF 分支操作

在 IF 条件满足时,可在对应的分支下添加后续的操作节点。

  • 配置 ELSE 分支(可选)

在 “ELSE” 区域,点击 “添加分支”,设置当 IF 条件不满足时执行的操作路径,同样可以添加相应的操作节点。

  1. 应用场景

例如,在校园智能服务场景中,需要根据用户角色(教职工或学生),为其查询不同的知识库内容,教职工可查询教学资源、教职工福利等相关知识库,学生可查询课程安排、校园活动等相关知识库。只有当用户角色为“教职工”时,系统回复“已为您查询教职工知识库,您可查看教学资源、教职工福利等相关信息:...”;否则,回复“已为您查询学生知识库,您可查看课程安排、校园活动等相关信息:...”。

IF部分引用开始节点的“用户角色”变量,设置如上图条件,当用户角色=“学生”,链接一个学生知识库,再链接一个结束节点,ELSE部分直接链接另外一个结束节点作为返回内容。

(十七)参数提取器

  1. 定义

参数提取器可以将用户的自然语言转换为工具可识别的参数,方便工具调用。工作流内的部分节点有特定的数据格式传入要求,参数提取器可以从流程中抽取参数,方便的实现结构化参数的转换,进行处理或用于其他操作。

  1. 配置步骤

  • 选择变量

在 “变量” 下拉框中,选择需要从中提取参数的变量,这些变量包含了流程中的相关数据。

  • 选择模型

在 “模型” 下拉框中,选择合适的模型。

  • 设置提取参数方式

在 “提取参数” 区域,可选择 “整体” 或 “拆分” 方式。

“整体” 是对变量整体进行参数提取相关操作;“拆分” 则是将变量拆分为部分来提取参数。点击 “+” 按钮可以添加具体的提取参数。

  • 输入指令(可选)

在 “指令” 输入框中,输入相关指令,用于指导参数提取的具体逻辑或操作。

  1. 应用场景

例如,需要从指定的文本内容中提取姓名、手机号等信息。

  • 开始节点:添加高级变量中的文本框来接收文本内容,并选择开始节点的文本内容字段作为提取对象。这里为了演示方便默认文本内容。
  • 模型:选择一个基础模型或自定义的模型
  • 提取参数:通过“+”号添加需要提取的参数中文名称、英文名称、类型与描述,并设置参数输出的方式。这里提取的两个参数分别为姓名和年龄、手机号码等,参数输出方式设置为“拆分”,该节点输出以3个变量分别输出参数值。如果设置为“整体”,则该节点将以一个字段输出参数值。

(十八)自定义组件

  1. 定义

自定义组件节点支持通过编写代码来生成返回值。支持在节点内使用 IDE 工具,编写自定义代码逻辑,来处理输入参数并返回响应结果

  1. 配置步骤

  • 输入

声明代码中需要使用的变量。添加输入参数时需要设置参数名和变量值,其中变量值支持设置为固定值或引用上游节点的输出参数。

  • 代码

直接使用输入参数中的变量,通过return一个对象来输出处理结果

  • 输出

代码运行成功后,输出的参数。你可以根据实际需求,在输出结构中只保留必要的参数。

(十九)变量赋值

  1. 定义

对全局变量进行变量赋值操作。通过变量赋值节点,可以将工作流内的全局变量进行,并可以在后续对话中持续引用。

  1. 配置步骤

  1. 选择要操作的全局变量,可进行以下操作:覆盖、设置、清空、追加。

覆盖:将流程中的变量赋值给全局变量;

设置:输入任意内容,将全局变量设置为该值;

清空:将全局变量的值清空;

追加:(仅支持数组类型的数据)将设置的变量的值添加至数组中进行累计,不清除原有内容。

加减乘除:(仅支持数字类型的数据)支持对数字类型的全局变量,进行加减乘除操作,填对应的数字,即代表在原来全局变量数值上进行增加、乘以、除以、减去对应输入的数字。

(二十)长期记忆

  1. 定义

用于记录聊天页面的聊天内容。

  1. 配置步骤

  • 添加输入

点击 “输入” 区域的 “+ 添加” 按钮,你可以把想长期记住的东西加进来。

  • 设置记忆轮次

在 “记忆轮次” 输入框中,输入记忆的轮次数值,这个数字决定了智能体能记住之前多少轮对话的内容,会影响到它怎么存和怎么用这些记忆。

  • 选择模式

在 “模式” 下拉框中,选择 “记忆模式” 或 “总结模式”。

“记忆模式” 主要是对聊天内容进行常规的记忆存储;“总结模式” 则可能会对聊天内容进行总结后再存储,更便于后续快速获取核心信息。

(二十一)知识库写入

  1. 定义

用于将数据文件写入指定知识库。

  1. 配置步骤
  • 输入内容

在 “输入” 区域,引用要写入知识库的变量值,作为知识库的新增知识来源。

  • 添加知识库

点击 “知识库” 区域的 “+” 按钮,添加要写入的目标知识库。

  • 选择数据处理方式

智能分段:平台自动智能切割。简单有效,固定大小分段上下文,适合内容不复杂的场景。

递归分段:适用于结构清晰的文档,先按文档的自然分隔(比如段落或章节)分成大块,如果某块太大(超过限额大小),就再细分成一段。

语义分段:适用于需要上下文语义相同但是不在同一个段落内的文档。将根据内容的“意思”来切,如果内容相似,就合并成一段;如果差异较大,就分不同段进行切割。

自定义切割:灵活定制,支持自定义分段规则,分段长度及预处理规则

  • 设置附加选项(可选)

若有需要,可勾选 “解析图片内容” 等选项,让节点在处理数据时,能解析图片中的内容并纳入知识库;也可根据需求选择是否 “替换掉连续的空格、换行符和制表符”“删除文档中的链接和电子邮箱地址”等。

(二十二)临时知识库写入

  1. 定义

对文档进行分段并进行向量化处理,转为临时知识库,需要通过知识库节点对临时知识库内容进行召回。

由于大模型长下文长度限制,当文档字数超过长下文长度限制的时候,无法使用文档提取器,需要使用临时知识库。

  1. 配置步骤
  • 输入内容

具体步骤同知识库写入节点。

  • 选择数据处理方式

具体步骤同知识库写入节点。

  • 设置附加选项(可选)

具体步骤同知识库写入节点。

  • 连接知识库节点

使用临时知识库,只是将文档内容分块并转为向量,临时存起来,需要该节点后方连接“知识库”节点,通过语义检索、关键词检索及混合检索召回相关的片段。

(二十三)图生文

  1. 定义

利用多模态模型,输入图片变量,结合提示词生成文本内容。

  1. 配置步骤

  • 选择模型

在 “模型” 下拉框中,选择合适的多模态模型。

  • 调整温度

通过拖动 “温度” 滑块,调整生成文本的创造性等特性,温度越高,生成的文本越具创造性;温度越低,生成的文本越趋于保守、稳定。

  • 输入提示词

在 “提示词” 输入框中,输入用于引导文本生成的提示词,提示词越详细、精准,生成的文本越符合需求。

  • 输入用户问题

在 “用户问题” 输入框中,输入用户的问题,作为文本生成的参考依据之一。需要加工处理的图片变量,也要放在用户问题这边。

(二十四)小程序

  1. 定义

用于设计并且将设计好的小程序功能与其他业务流程或系统对接起来。

  1. 配置步骤

  • 设置输入变量

在 “输入变量” 区域,点击 “+” 按钮添加输入变量,为每个输入变量设置变量名和变量值,这些输入变量可作为小程序运行时的参数来源。

  • 进入设计界面

点击 “去设计” 按钮,进入小程序的设计界面(如第二张图),在该界面中可以编写 HTML、CSS 和 JavaScript 代码,用于定制小程序的页面结构、样式和交互逻辑。

  • 预览与确定

在设计界面中,可通过 “预览” 区域查看小程序的效果,调整代码直到满足需求,然后点击 “确定” 按钮保存设计。

  1. 应用场景

例如,输入修改密码,展示修改密码的小程序页面。

  • 小程序节点:引入开始节点用户问题作为该节点页面设计需要的变量question ,点击“去设计”按钮进入设计页面,编写定制化页面前端代码。

(二十五)外部智能体

  1. 定义

对接外部平台的智能体服务。

  1. 配置步骤

在 “来源平台” 下拉框中,选择外部智能体所在的平台,例如图中选择 “Dify 平台”。

输入项

  1. Dify平台地址
  2. 应用标识
  3. Dify的智能体类型
  4. Dify搭建的系统自带的变量,例如用户问题,需要选择与扳手agnet平台哪个变量进行对应。
  5. 其他变量,即为dify智能体搭建者自己定义的变量,需要选择与扳手agent平台哪个变量进行对应。

(二十六)循环

  1. 定义

用于重复执行一段流程,直到满足退出条件或达到最大循环次数。

  1. 配置步骤

  • 选择循环类型

在 “循环类型” 下拉框中,可选择 “使用数组循环”(基于数组元素数量进行循环,数组有多少个元素就循环多少次)或 “指定循环次数”(手动设置具体的循环次数)。

  • 若选择 “使用数组循环”

在 “输入变量” 区域,点击 “+” 添加输入变量,设置变量名、变量类型,并选择变量值(通常为要循环处理的数组),数组中的每个元素会触发一次循环执行。

  • 若选择 “指定循环次数”

在 “循环次数” 输入框中,输入具体的循环次数数值,确定流程要重复执行的次数。

  • 配置输出变量(可选)

在 “输出变量” 区域,设置变量名和选择变量值的来源等,用于存储循环执行过程中或执行后的相关数据,方便后续节点使用。

  • 添加循环内流程

在循环节点的流程区域内(“开始”和“结束”之间),添加需要重复执行的节点,这些节点会按照设定的循环次数重复运行。

(二十七)变量聚合器

  1. 定义

把多个分支的变量合并成一个,这样后面节点用起来就方便多了。变量聚合节点(原变量赋值节点)是工作流程中的一个关键节点,它负责整合不同分支的输出结果,确保无论哪个分支被执行,其结果都能通过一个统一的变量来引用和访问。这在多分支的情况下非常有用,可将不同分支下相同作用的变量映射为一个输出变量,避免下游节点重复定义。

  1. 场景

通过变量聚合,可以将诸如问题分类或条件分支等多路输出聚合为单路,供流程下游的节点使用和操作,简化了数据流的管理。

  • 问题分类后的多路聚合

未添加变量聚合,分类1 和 分类 2 分支经不同的知识库检索后需要重复定义下游的 LLM 和直接回复节点。

添加变量聚合,可以将两个知识检索节点的输出聚合为一个变量。

  • IF/ELSE 条件分支后的多路聚合

  1. 格式要求

变量聚合器支持聚合多种数据类型,包括字符串(String)、数字(Number)、文件(File)对象(Object)以及数组(Array)。

  • 变量聚合器只能聚合同一种数据类型的变量

若第一个添加至变量聚合节点内的变量数据格式为String,后续连线时会自动过滤可添加变量为String类型。

  • 聚合分组

开启聚合分组后,变量聚合器可以聚合多组变量,各组内聚合时要求同一种数据类型。

(二十八)列表操作

  1. 定义

对数组内容进行过滤或排序等操作。文件列表变量支持同时上传文档文件、图片、音频与视频文件等多种文件。应用使用者在上传文件时,所有文件都存储在同一个数组类型变量内,不利于后续单独处理文件。列表操作节点可以在数组变量内提取单独的元素,便于后续节点处理。

  1. 节点功能

列表操作节点可以对文件的格式类型、文件名、大小等属性进行过滤与提取,将不同格式的文件传递给对应的处理节点,以实现对不同文件处理流的精确控制。例如在一个应用中,允许用户同时上传文档文件和图片文件两种不同类型的文件。需要使用列表操作节点进行分拣,将不同的文件类型交由不同流程处理。

列表操作节点一般用于提取数组变量中的信息,通过设置条件将其转化为能够被下游节点所接受的变量类型。它的结构分为输入变量、过滤条件、排序(可选)、取前 N 项(可选)、输出变量。

输入变量

列表操作节点仅接受以下数据结构变量:

  • Array[string]
  • Array[number]
  • Array[file]

过滤条件

处理输入变量中的数组,添加过滤条件。从数组中分拣所有满足条件的数组变量,可以理解为对变量的属性进行过滤。举例:文件中可能包含多重维度的属性,例如文件名、文件类型、文件大小等属性。过滤条件允许设置筛选条件,选择并提取数组变量中的特定文件。支持提取以下变量:

  • type:文件类别,包含图片,文档,音频和视频类型
  • size:文件大小
  • name:文件名
  • url:指的是应用使用者通过 URL 上传的文件,可填写完整 URL 进行筛选
  • extension:文件拓展名
  • mime_type:MIME 类型是用来标识文件内容类型的标准化字符串。示例: “text/html” 表示 HTML 文档

排序

提供对于输入变量中数组的排序能力,支持根据文件属性进行排序。

  • 升序排列:默认排序选项,按照从小到大排序。对于字母和文本,按字母表顺序排列(A - Z)
  • 降序排列:由大到小排序,对于字母和文本,按字母表倒序排列(Z - A)

取前 N 项

可以在 1-20 中选值,用途是为了选中数组变量的前 n 项。

输出变量

满足各项过滤条件的数组元素。过滤条件、排序和限制可以单独开启。如果同时开启,则返回符合所有条件的数组元素。

  • Result,过滤结果,数据类型为数组变量。若数组中仅包含 1 个文件,则输出变量仅包含 1 个数组元素;
  • first_record,筛选完的数组的首元素,即 result[0];
  • last_record,筛选完的数组的尾元素,即 result[array.length-1]。