LiteFlow 规则引擎集成

现有配置参考

可根据业务需求调整敏感词过滤和风控规则的配置参数。
spring:
  ai:
    knowledge:
      risk-control: # 风控
        sensitive-word: false # 是否开启敏感词过滤
        enabled: false
        times: 20  # 单账户每天最多调用多少次
        no-limit-usernames: # 不风控的账号列表
          - admin

业务背景

上图展示了用户调用大模型的基本处理流程。随着大模型应用场景的复杂化,传统的 if-else 判断已无法满足敏感词过滤、风控检测等多维度的判断需求。为此,我们引入了 LiteFlow 规则引擎来规范化大模型调用流程,提高代码可维护性。

了解更多

访问 LiteFlow 官方文档

规则引擎实现

通过 XML 配置文件定义规则的执行顺序和条件分支,使流程可视化且易于调整。

扩展指南:添加风控规则

1

添加并行规则

在 XML 配置中添加新的规则节点,并设置为并行执行。

2

实现规则逻辑

@Component("test")
public class TestRiskControlRule extends NodeComponent {

    @Override
    public void process() {
        ChatMessageContext messageContext = this.getContextBean(ChatMessageContext.class);
        // TODO 业务逻辑

        // 如果触发此规则,则暂停流转
        setIsEnd(true);
        messageContext.setErrorMessage("错误原因");
    }
}

创建规则实现类,编写判断逻辑和错误处理。