跳到主要内容

Java增强节点

Java增强节点用于在工作流中运行系统中的 Java 代码,从而实现 AI 流程中对系统功能的调用,或扩展更丰富的能力。


应用场景

脚本执行节点可广泛应用于以下场景:

  • 数据解析:解析复杂嵌套结构的 JSON,对结构化或非结构化数据进行清洗和抽取。
  • 计算统计:实现自定义逻辑的数值计算、统计汇总等。
  • 变量处理:合并多个变量,或将变量进行统一格式化处理。
  • 调用系统中的业务功能: 通过java增强调用系统中的业务功能,或者扩展更丰富的能力。

节点配置详解

输入变量配置

在节点右侧配置面板中,可以设置该脚本节点的输入变量:

  • 左侧输入框:填写变量名;
  • 右侧下拉框:选择变量来源节点,变量必须来自当前节点之前的节点,不能引用后续或并行节点。

代码编写:

在项目中新建一个java类,编写需要执行的代码逻辑。

  • java类需要实现org.jeecg.modules.airag.flow.component.enhance.IAiRagEnhanceJava接口.
  • 业务代码需要写在Map<String, Object> process(Map<String, Object> inputParams)方法中.
    • 该方法入参为Map<String, Object>类型,包含了所有输入变量的值;
    • 该方法返回值为Map<String, Object>类型,返回的Map中的每个字段都可以作为输出变量使用。
  • 可以使用@Component注解将该类注册为SpringBean,方便依赖和调用其他业务代码。
package org.jeecg;

import org.jeecg.modules.airag.flow.component.enhance.IAiRagEnhanceJava;
import org.springframework.stereotype.Component;

import java.util.Collections;
import java.util.Map;

/**
* @Description:
* @Author: chenrui
* @Date: 2025/3/6 11:42
*/
@Component("testAiragEnhance")
public class TestAiragEnhance implements IAiRagEnhanceJava {
@Override
public Map<String, Object> process(Map<String, Object> inputParams) {
Object arg1 = inputParams.get("arg1");
Object arg2 = inputParams.get("arg2");
return Collections.singletonMap("result",arg1.toString()+"java拼接"+arg2.toString());
}
}

增强类路径配置

配置已经编写好的java类的路径或者SpringBean,以上文示例代码为例,可以设置:

  • 类路径: org.jeecg.TestAiragEnhance
  • SpringBean: testAiragEnhance

注意: 增强类需要与工作流的代码在一个项目中,否则将无法找到增强类

输出变量配置

脚本节点返回的结果为一个对象,其中每个字段都可以作为输出变量使用。

例如:若返回结果为:{"result": "处理后的文本"}

则在输出变量中配置变量名 result,即可获取对应值用于下游节点使用。