1. 什么是 InsightFlow?
InsightFlow 是 GoInsight.AI 的核心模块,它通过拖放界面帮助企业可视化设计和自动化业务流程,实现跨系统操作编排、数据传输、条件逻辑以及其他业务流程的自动化管理。
每个工作流由多个节点组成,例如知识库检索、大模型 (LLM) 和 HTTP 请求节点,它们通过逻辑链接相互连接。节点间动态数据传输,让非技术用户也能轻松配置复杂业务流程,无需编程即可构建企业级自动化。

核心概念
- 节点:节点是工作流中的核心组件,每个节点负责执行特定任务。
- 变量:变量用于工作流中存储和传递数据,在不同节点之间共享信息。
快速指南:
- 入门:从内置模板开始。
- 基本配置:包括创建、连接和配置节点。
- 测试工作流:调试工作流,通过核对清单确保所有关键配置正确无误,并查看调试历史记录。
- 运行:保存、发布并分享您的工作流。
2. 节点
节点是工作流中的独立操作单元,代表特定的任务、事件或决策点。每个节点执行特定功能,并根据其配置和输入条件决定下一个执行路径。
节点通过链接连接,组成一个完整的工作流结构,使数据和操作在工作流中顺畅流转。
2.1 基础节点
GoInsight.AI 提供以下基础节点。每个节点都具备独特功能,用户可以灵活组合,设计出满足各类业务需求的工作流。
-
开始节点开始节点是工作流的入口点,主要用于初始化工作流,并为后续节点提供所需的输入信息。您可以在此添加不同类型的变量,以便后续节点正确处理和使用数据。
结束节点该节点仅适用于服务式工作流。作为工作流的终点,结束节点允许您选择上游节点的输出变量。每个工作流至少需要一个结束节点来确保完整性,并支持多分支设计以构建更复杂的工作流逻辑。
进度更新该节点仅适用于对话式工作流。当工作流运行至此节点时,将输出工作流的执行进度。
回复输出该节点仅适用于对话式工作流,用于输出经过处理的数据或消息。
智能代理此节点具备“智能决策 + 工具调用”功能,支持大模型 (LLM) 在运行时根据代理策略自主选择并调用工具,从而完成多步推理或操作。
大模型 (LLM)使用大模型处理输入数据并生成高级自然语言输出。此节点灵活支持多角色设置和提示词格式,助您精确配置模型行为。
知识库检索检索与输入问题相关的工作区文档信息并返回结果。这些结果可由其他节点(如 LLM 节点)进一步处理。您可以通过设置相关性阈值和 TopK,获取最相关的知识内容,从而支持下游决策和信息获取。
文档读取文档读取节点从工作区读取文档内容,并将其存储到变量中,供工作流中的后续节点使用。
文档删除删除指定的工作区文档。
文档写入文档写入节点将信息写入知识库文档,可轻松在工作流中创建或更新知识库文档内容。
HTTP 请求通过发送 HTTP 请求并处理响应数据与外部 API/服务交互。通过此节点,您可以灵活访问和操作远程资源。您可以选择不同的 HTTP 方法并配置请求 URL、标头、参数和正文,以与外部 API/服务进行交互。
知识聚焦大模型该节点仅适用于对话式工作流。GoInsight.AI 的大模型专为安全的文档特定问答而设计。它不会回答超出您数据范围的问题,并受到未经授权指令的保护。
条件跳转用于根据不同条件选择分支。它支持使用 AND/OR 组合多个条件。通过特定的条件检查,您可以控制工作流执行路径并构建更灵活的控制逻辑。
自然语义分类器将输入文本分类到预定义类别。此节点使用大模型推理来识别文本所属类别,帮助您快速路由和处理相关问题。
分支聚合器合并工作流中不同分支的结果。它将每个分支的变量值聚合为统一输出,以便下游处理。此节点通常在条件跳转或多分支选择器之后使用。
多分支选择根据输入变量的值选择分支。您可以定义多个案例(条件)。节点通过将输入值与每个案例进行比较来决定执行哪个分支。
循环根据计数或集合多次运行子流程,将指定数据逐轮传递到子流程并聚合输出。这对于批量处理、批量调用或生成数据列表非常有用。
互动表单在工作流中定义结构化表单以收集数据。当工作流运行到此节点时,它会根据您的配置在后端生成一个表单实例——此节点不会将表单发送给用户。它仅定义表单的结构/内容并生成表单访问链接。此节点通常与“暂停与恢复”节点一起使用,先暂停工作流,然后当表单提交、取消、超时或撤销后,沿指定分支继续。
暂停与恢复暂停(挂起)当前工作流并等待外部操作结果。在发生提交/取消/超时/撤销事件后,它将根据预设的恢复条件和分支继续执行。
延迟在继续之前将工作流延迟指定的时间。
自动继续使用“自动继续”节点决定:如果不需要人工干预,智能代理自动继续;如果需要,则将决策留给人工。
文本模板通过定义模板和输入变量,动态生成文本输出。支持 Jinja2 和 Go Text Template 语法。
代码执行运行自定义代码以执行特定的计算或数据处理任务。
JSON 变量提取器从 JSON 格式数据中提取特定变量或值。
变量赋值为变量设置特定值。
自然语义变量提取器设置或更新工作流中用于后续节点的变量值。
自然语言参数提取器调用大模型识别和分析自然语言输入,然后提取并输出您预定义的结构化变量/参数值。
工具调用动态调用账户下现有工具。
2.2 工具
工具是 GoInsight.AI 的核心组成部分,扩展了企业工作流的能力。GoInsight.AI 提供丰富的内置工具,并内置工作流引擎,使企业能够根据自身需求创建自定义工具。
2.3 服务
服务允许用户将复杂的工作流发布为可重复使用的服务,这些服务可以被其他工作流调用。
3. 变量
变量用于在工作流中存储和传递数据,使不同节点间能够共享信息。根据其范围和用途,变量可分为不同类型。
3.1 系统变量
系统变量是工作流中预定义的系统级参数,可被其他节点全局访问。
对话式工作流提供以下系统变量:
| Variables | Data Type | 描述 |
|---|---|---|
| Query | String | 用户输入的问题/内容。 |
| Date | String | 当前工作流开始运行时的日期,使用 UTC 时间,格式为 yyyy-MM-dd |
| Time | String | 当前工作流开始运行时的时间,使用 UTC 时间,格式为 HH:mm:ss |
| TimeOffset | Number | 用户(浏览器)相对于 UTC 的时区偏移量,单位为分钟。例如,UTC+8 为 480。如果无法获取,则为 0(对应 UTC 时间)。 |
| $LastAnswer | String | 存储上一轮的输出。 |
| $LastAnswerRole | String | 存储上一轮 Answer 中使用的角色名称。 |
| $Round | Number | 在自动继续对话中,表示当前是第几轮。 |
| $IsAutoContinue | Bool | 表示当前对话是否处于自动继续模式。 |
| $ChatHistory | Array[Object] | 聊天历史,包括历史问答和 token 数量。 |
| $UserFiles | Array[File] | 用户上传的文件。关闭按钮后,聊天界面中的文件上传入口将被隐藏。 |
| $TargetWorkflowID | String | 在协作工作台中,通过 @ 指定的工作流 ID。在协作工作台中,通过 @ 指定的工作流 ID。 |
| $IsCollaboration | String | “True” 表示群聊;否则表示协作工作台中的普通单用户聊天。 |
| $BrowserIP | String | 用户浏览器的 IP 地址。 |
| $BrowserUserAgent | String | 用户浏览器的 UserAgent。 |
| $WorkflowID | String | 当前正在执行的工作流的唯一标识符。 |
| $BatchID | String | 本次工作流执行的批次 ID。 |
| $UserID | String | 用于标识用户的唯一 ID;可用于在多个会话中追踪同一用户。 |
| $UserDisplayName | String | 用户的显示名称。 |
| $UserInfo | String | 用户信息。 |
| BrowserLang | String | 用户的浏览器语言,例如 zh-CN/en-US。 |
| $SessionID | String | 当前问答会话。 |
| $PersonalDataPath | String | 当前工作流执行器文档中的 “Personal Data” 目录路径。 |
服务式工作流提供以下系统变量:
| Variables | Data Type | 描述 |
|---|---|---|
| UTCDate | String | 当前工作流开始运行时的日期,使用 UTC 时间,格式为 yyyy-MM-dd |
| UTCTime | String | 当前工作流开始运行时的时间,使用 UTC 时间,格式为 HH:mm:ss |
| $BrowserIP | String | 用户浏览器的 IP 地址。 |
| $BrowserUserAgent | String | 用户浏览器的 UserAgent。 |
| $ABEvent | Object | 当 AirDroid Business 警报被触发时,包含设备详情、触发原因和自动化执行结果。你可以使用这些信息进行进一步的 AI 分析,并运行更复杂的自动化流程。 |
| $WorkflowID | String | 工作流 ID。 |
| $BatchID | String | 本次工作流执行的批次 ID。 |
| $UserID | String | 用于标识用户的唯一 ID;可用于在多个会话中追踪同一用户。 |
| $UserDisplayName | String | 用户的显示名称。 |
| $UserInfo | String | 用户信息。 |
| BrowserLang | String | 用户浏览器的语言,例如 zh-CN/en-US。 |
| $SessionID | String | 当前问答会话。 |
| $PersonalDataPath | String | 当前工作流执行器文档中的 “Personal Data” 目录路径。 |
3.2 会话变量
会话变量用于在每次工作流执行期间存储和传递数据。每个工作流会话拥有独立的会话变量,彼此之间互不影响。
3.3 内部变量
内部变量仅在工作流内部可访问和可见,无法从外部访问或调用。
主要用于存储工作流执行期间的临时数据、中间状态或配置信息,例如以下几种情况:
- 工作流循环中使用的计数器,或工具调用的临时缓存。
- 节点间传递但不对外暴露的中间计算结果。
- 默认工作流配置,例如超时设置或内部状态标志等。
设计内部变量的目的是为了以下几点:
- 封装性:隐藏工作流的实现细节,防止外部用户因意外修改而影响工作流逻辑。
- 安全性:避免敏感的中间数据或配置信息被外部访问。
- 简化性:通过让用户只需关注输入和输出,无需了解内部执行逻辑,从而减少外部调用的复杂性。
当工作流被外部调用时,内部变量(受保护)的访问将受到限制,且不会被暴露或传递给外部。

发表评论.