1. 错误处理机制是什么
错误处理机制用于设置节点执行失败时的处理方式。
在工作流运行过程中,节点可能因为请求失败、权限不足、文档不存在、字段提取失败、配置错误等原因出错。通过错误处理机制,可以决定节点出错后如何继续处理,避免不必要地中断整个工作流。
不同节点支持的错误处理方式可能不同,具体以节点配置面板中展示的选项为准。
2. 常见错误处理方式
多数支持错误处理的节点,会提供以下三种处理方式:
- 不做处理:节点执行出错时,工作流运行将中断。
- 默认值:节点执行出错时,工作流继续运行,并使用预先配置的默认值作为该节点输出。
- 错误处理分支:节点执行出错时,中断当前路径,并转向已连接的错误处理分支。
3. 支持错误处理的节点
目前,以下节点支持错误处理机制:
- Flow Call
- 智能代理
- 大模型
- 知识检索
- 知识聚焦大模型
- 文档读取
- 文档写入
- 文档删除
- HTTP 请求
- 文本模板
- 代码执行
- JSON 变量提取器
- 自然语义分类器
- 自然语义变量提取器
- 工具
- App
不同节点支持的错误处理方式可能不同,具体以节点配置面板中展示的选项为准。
4. 默认值处理
当错误处理方式选择 默认值 时,节点出错后,工作流不会立即中断,而是会继续运行,并使用配置的默认值替代该节点的输出结果。
默认值配置项会根据该节点原本的输出变量生成。也就是说,节点原本会输出什么变量,错误处理中的默认值配置通常就会对应这些输出变量。
例如:
- 如果节点原本输出 Text,则默认值配置中会出现 Text。
- 如果节点原本输出 Result,则默认值配置中会出现 Result。
- 如果节点的输出变量由用户自定义,则默认值配置也会根据用户已配置的输出变量生成。
- 如果是工具或 App,默认值配置会根据该工具或 App 原本定义的输出变量生成。
如果某些默认值非必填,未填写时通常会输出空字符串,或忽略该输出变量。具体以页面提示为准。
5. 默认值生效范围
以下节点在选择 默认值 后,会提供 默认值生效范围 配置:
- 文档读取节点
- JSON 变量提取器节点
这是因为这两个节点都可能在一次执行中处理多个输出项,并出现“部分成功、部分失败”的情况。
例如,文档读取节点可以在同一个节点中读取多个文档。如果其中某个文档路径错误或文档不存在,可能只有该文档读取失败,其他文档仍然可以正常读取。
JSON 变量提取器节点在提取多个字段时,也可能出现某些字段提取成功、某些字段提取失败的情况。
此时,可以通过 默认值生效范围 控制默认值的应用方式:
- 仅出错项:只有失败的项目使用默认值,成功的项目保留真实结果。
- 所有项:只要有任一项目失败,所有项目都使用各自配置的默认值。
如果希望尽量保留成功结果,建议选择 仅出错项。
6. 文档写入和文档删除的特殊错误处理
文档写入、文档删除这类操作型节点,与多数节点不同,通常不使用「默认值」替代输出,而是通过 忽略错误 控制节点出错后的处理方式。
当选择 忽略错误 时,节点执行出错后,工作流会继续运行。
如果节点中配置了多个文档,还可以设置 忽略范围:
- 仅出错文档:只忽略操作失败的文档,其他文档仍正常处理。
- 整节点:任一文档操作失败时,按整个节点忽略错误处理。
该机制适用于一个节点中同时写入或删除多个文档的场景,可以减少单个文档失败对整体流程的影响。
7. 循环节点的错误处理
循环节点有独立的错误响应方法。
由于循环节点通常会处理多个元素,因此可能出现某个元素处理失败,但其他元素仍可继续处理的情况。
循环节点支持两种错误响应方法:
- 错误时终止:出现异常时,终止循环节点,并输出错误信息。
- 移除错误输出:忽略异常元素,继续处理剩余元素,最终输出中只保留正常结果。
如果不希望单个元素异常影响整个循环,可以选择 移除错误输出。
8. 不支持错误处理的节点
以下节点目前不提供错误处理配置:
- 进度更新
- 回复输出
- 条件跳转
- 分支聚合器
- 多分支选择
- 交互表单
- 暂停与恢复
- 延时
- 自动继续
- 变量赋值
这些节点不会展示「错误处理」配置项。
9. 使用建议
- 如果节点出错后不应该继续执行,选择 不做处理。
- 如果希望工作流继续运行,并提供一个兜底输出,选择 默认值。
- 如果希望对错误进行单独处理,例如发送提醒、记录日志或执行备用流程,选择 错误处理分支。
- 如果是文档写入、文档删除等操作型节点,并且希望部分失败不影响后续流程,可以选择 忽略错误。
- 如果是循环节点,并且不希望单个元素异常影响整体结果,可以选择 移除错误输出。
发表评论.