【JeecgBoot AIGC】AI 工作流配置与流程节点全解析
JeecgBoot 平台的 AIGC 功能模块,是一套类似 Dify 的 AIGC 应用开发平台 + 知识库问答 子系统,是一款基于 LLM 大语言模型 AI 应用平台和 RAG 的知识库问答系统。 其直观的界面结合了 AI 流程编排、RAG 管道、知识库管理、模型管理、对接向量库、实时运行可观察等,让您可以快速从原型到生产,拥有 AI 服务能力。
体验地址:https://boot3.jeecg.com
源码下载:https://github.com/jeecgboot/JeecgBoot
介绍
本小节介绍如何在系统中创建和管理 AI 工作流。
AI 工作流通过将复杂任务拆解为更小的步骤(即流程节点),从而降低系统复杂度,提高执行效率。通过合理的工作流编排,可以减少对 Prompt Engineering(提示词工程)和单次 LLM 推理的依赖,提升 AI 任务的稳定性、可解释性和容错能力。
流程管理
进入流程管理页面,您可以查看系统中的所有 AI 流程。
点击某个流程条目,即可进入流程编排页面,对流程进行调整和优化。

2.1 编排流程
点击 添加流程 ,进入新流程编排页面。默认情况下,系统会自动添加一个 开始节点。

在流程编排界面,点击现有节点后的 加号(+),可在该节点后新增流程节点。

此外,还可以按住鼠标 拖动连线,将不同节点连接在一起,形成完整的工作流。

如果需要调整流程,可以选中连线后点击 删除按钮,移除两个节点间的连接。

点击 节点右上角的"..." ,可打开节点的 更多选项 ,支持 复制 或 删除 节点。

点击某个 流程节点,右侧会弹出该节点的详细配置窗口,每个节点的配置方式有所不同,需根据实际业务场景进行调整。

右上角提供了 保存、调试、关闭 当前流程的功能,方便随时调整和测试。

2.2 流程节点
2.2.1 开始节点
开始节点 是流程的起点,用于接收外部输入。
设定输入参数,例如文本、数值或结构化数据。
触发流程的执行,确保数据正确传递到后续节点。
history 入参:当流程被聊天调用时,聊天的历史将存储在 history 中供 llm 使用。

2.2.2 LLM 节点
LLM(大语言模型)节点 负责调用 LLM(如 GPT、Qwen)进行文本生成或智能问答。
选择配置好的语言模型。
设定提示词,指引 LLM 输出预期结果。
配置模型参数,如温度(Temperature)和最大 Token 数。
如果 LLM 节点的入参中包含知识库节点输出的 data 时,将自动生成基于知识库的智能回答

如果您不确定如何编写提示词,可以通过点击生成按钮来进入提示词生成器。在该界面中,您可以填写您的需求,AI 将会自动帮助您生成合适的提示词。这种方式可以有效地帮助您获取所需的内容,节省时间和精力。请确保尽量详细地描述您的需求,以便生成器能够提供更准确的提示词。

2.2.3 分类器节点
分类器节点 用于让 LLM 对输入数据进行分类,并将其路由到不同的分支。
适用于意图识别、文本分类等场景。
设定提示词,指引 LLM 选择正确的分类。
可配置多个分类条件,并设定不同的处理路径。

2.2.4 知识库节点
知识库节点 负责在 AI 知识库中查询匹配的内容,以增强 AI 回答的准确性。
选择已经准备好的知识库,从该知识库中检索内容,检索条件是查询变量。
将输出文档列表和文档内容。
可以自定义配置知识库检索时的返回条目数和最低分数。

2.2.5 条件分支节点
条件分支节点 根据设定的条件,决定流程的下一步执行路径。
支持多种逻辑判断,如文本匹配、数值比较。

2.2.6 脚本执行节点
脚本执行节点 允许在流程中执行自定义的代码。
适用于自定义数据处理、API 调用等场景。
运行时可访问流程变量,实现灵活控制。
params 即节点的输入参数
输出变量,将从 return 的对象中获取。

支持代码类型:
javascript
groovy
kotlin
aviator
不同的脚本有两种写法,其中 JavaScript 和 Groovy 需要将业务代码写在默认定义好的函数中。以 JavaScript 为例,示例如下:

在代码中,需要定义一个 main 函数:
入参 :params 包含了节点配置的输入变量。
返回值:函数需要返回一个对象,该对象的每一个值都可以在输出变量中获取到。
2.2.7 Java 增强节点
Java 增强节点 允许调用 Java 代码或自定义组件,扩展流程功能。
适用于调用 Java 业务逻辑或处理复杂计算。
需提前编写并注册 Java 类,供流程调用。
java 增强类需要实现 IAiRagEnhanceJava 接口。
支持两种注册方式:
类路径:填写完整的 java 类路径
Spring Bean:填写 java 类的 SpringBean 名称

示例:
1.在项目中新增 java 类:TestAiragEnhance
2.新建流程

1.开始节点配置两个入参:问题 1、问题 2。

2.java 增强节点:

3.结束节点

4.调试流程:

2.2.8 子流程节点
子流程节点 允许流程嵌套,支持在当前流程中调用另一个已定义的流程。
适用于复用已有的业务逻辑,提升流程的模块化和可维护性。
可传递参数给子流程,并获取其返回结果。

2.2.9 http 节点
http 节点 允许在流程中调用 http 接口,并获取接口返回值输出给其他节点。。
适用于通过接口调用已有的业务逻辑。
支持自定义参数、请求头、请求体。
请求地址支持使用{{domainURL}}来获取当前系统域名
参数值、请求头、请求体都支持使用{{paramName}}来引用输入变量以及系统上下文变量

2.2.10 直接回复节点
直接回复节点,可以在文本编辑器中自由定义回复格式,包括自定义一段固定的文本内容、使用前置步骤中的输出变量作为回复内容、或者将自定义文本与变量组合后回复。
可随时加入节点将内容流式输出至对话回复,如:
输出 LLM 节点回复内容
输出纯文本

与结束节点的区别:
1.直接回复节点不会结束流程。
2.直接回复节点回复的内容只通过 SSE 返回(即使用 blocking 调用时无法获取)
2.2.11 结束节点
结束节点 标志流程执行完毕,输出最终结果。
可设定输出数据结构,如文本、JSON 等。
勾选返回文本,将输出文本类型的结果。
不勾选则输出 json 类型的结果。
支持将最终结果返回给调用者。

2.3 调试流程
完成流程编排后,可以使用调试功能测试流程的运行情况。
点击 运行按钮,进入调试界面。

输入运行参数,例如:
jeecg 是什么
调试界面将动态展示流程的执行路径。

您还可以查看每个节点的 输入 和 输出 数据,确保流程逻辑正确。

总结 AI
工作流通过模块化的流程节点,简化了复杂任务的执行逻辑,使得 AI 任务更加稳定、可解释,并易于维护。通过合理使用 LLM 节点、知识库节点、分类器节点等组件,用户可以高效搭建智能化的 AI 处理流程,提高系统的自动化能力和智能水平。
评论