在现代企业中,业务流程的自动化和智能化是提高运营效率的关键。智能决策体系通过结合工作流引擎、规则引擎和大语言模型(LLM),为企业提供了一种强大的决策支持工具。
智能决策引擎主要由三部分组成
- 工作流引擎:自动化管理业务流程的各个环节,确保流程的顺利执行和效率最大化。
- 规则引擎:基于预设的业务规则,自动执行决策,减少人为干预,提升决策的一致性和准确性。
- 大语言模型:通过LLM的深度学习能力,处理复杂的自然语言任务,如用户意图识别、文本分析等,进一步增强决策的智能化。
这一智能决策体系能够根据业务需求动态调整工作流,触发不同的规则事件,从而实现更精确、更及时的业务响应。
以下是基于drools和flowable实现的智能决策引擎的核心代码逻辑
/**
* 智能决策引擎执行入口
* 1、构建决策引擎环境
* 2、处理fact(决策事实对象,接收数据的对象实体类)
* 3、插入数据并执行决策规则
* 4、根据decisionRule中json afer配置和then的globalMap结果调用逻辑处理
* 5、结果处理,同步作出决策触发业务处理,异步通过工作流人工干预,人工处理完成之后回调业务处理
* @param executeParams
* @return
*/
@Override
@ShenyuDubboClient("/execute")
public Map<?, ?> execute(ExecuteParams executeParams) {
String eventCode = executeParams.getEventCode();
LambdaQueryWrapper<EventModel> warapper = new LambdaQueryWrapper<>();
warapper.eq(EventModel::getEventCode, eventCode);
EventModel eventModel = eventModelMapper.selectOne(warapper);
DecisionRule decisionRule = decisionRuleMapper.selectById(eventModel.getModelNo());
if(decisionRule == null){
throw new BusinessException("事件模型不存在");
}
// 1、构建决策引擎环境
KieSession kieSession = decisionEngineContextBuilder.buildDecisionEngine(decisionRule,
decisionRule.getKieBaseName() + "-session");
Map<String, Object> globalMap = new LinkedHashMap<>();
kieSession.setGlobal("globalMap", globalMap);
// 2、处理fact(事实对象,接收数据的对象实体类)
Map<String, Object> params = decisionEngineContextBuilder.buildDecisionFact(decisionRule, executeParams);
// 3、插入数据并执行规则
kieSession.insert(params);
kieSession.fireAllRules();
kieSession.destroy();
// 4、根据decisionRule中json afer配置和then的globalMap结果调用逻辑处理
decisionEngineContextBuilder.handleThenResult(decisionRule,globalMap);
return globalMap;
}
智能决策引擎应用场景
场景 | 描述 |
---|---|
财务决策 | 贷款发放,征信系统 |
库存管理 | 及时的供应链路 |
商品价格 | 根据商品生命周期动态条件价格 |
运营策略 | 根据库存数据规则,动态执行运营活动策略 |
风控系统 | 风控规则计算 |
促销平台系统 | 满减,打折,加价购 |
代码地址仅供参考: https://gitee.com/s11e-DAO/bsin-paas-os