Skip to content

skyhackvip/risk_engine

Repository files navigation

天网决策引擎系统

License GoDoc Go Report Card

开源声明

本项目用于学习和参考,采用 Apache License, Version 2.0 开源,转载使用请说明出处。代码不定期迭代更新,欢迎 Star & Watch,如需交流请添加公众号“技术岁月”。

关于版本

最新更新稳定版本为 master 分支。

天网决策引擎系统介绍

决策引擎系统,是构建于规则引擎和流程引擎基础上,满足复杂业务决策的一套系统,可用于反欺诈、信用评估、风险决策、推荐系统、精准营销、内容审核、数据清洗等领域场景。

风控是决策引擎的一个重要应用场景,在金融、保险、电商、支付、游戏、社交等领域皆有应用,凡是和钱相关的业务都离不开风控决策引擎系统的支持保障。目前流行的“智能风控”,即是以决策引擎为核心驱动,以机器学习 / AI 为大脑,在大数据基础上构建的通用风控能力。而决策引擎作为风控的核心系统,承担着复杂规则和多样化决策需求,这款开源决策引擎即满足了这样的诉求。

功能列表

  • 规则、决策
  • 规则集
  • 决策树
  • 决策表
  • 决策矩阵(交叉决策表)
  • 评分卡
  • 决策流
  • 冠军挑战者
  • 条件分流
  • 支持特征类型:int、string、bool、date、array、map
  • 支持运算类型:>、>=、<、<=、==、!=、between、before、after、in、not in、contain、not contain、like、key exist、value exist
  • 支持自定义函数(udf):内建函数sum、avg、min、max
  • 支持并发执行和串行执行
  • 支持决策流执行短路(触发阻断规则或策略)

快速开始

  • 环境准备

go version go1.13 +

  • 代码下载
git clone [email protected]:skyhackvip/risk_engine.git
  • 访问下载:

https://github.com/skyhackvip/risk_engine/

  • Make 编译执行(推荐)
cd risk_engine/

#编译
make build

#启动
make run

#停止
make stop
  • Go 编译执行
cd risk_engine/

#编译
mkdir -p dist/conf dist/bin
cp cmd/risk_engine/config.yaml dist/conf
cp demo dist/demo -r
GO111MODULE=on CGO_ENABLED=0 go build -o dist/bin/risk_engine cmd/risk_engine/engine.go

#启动
cd dist/
nohup bin/risk_engine -c conf/config.yaml >nohup.out 2>nohup.out &

#停止
pkill -f bin/risk_engine
  • Docker 镜像制作启动
cd risk_engine/

#制作镜像
docker build -t risk_engine:v1 .

#启动镜像
docker run -d --name risk_engine -p 8889:8889 risk_engine:v1

#进入容器
docker exec -it risk_engine /bin/sh

#停止容器
docker stop risk_engine

支持 HTTP 接口执行

  • 获取决策流列表
  • 执行决策流

接口文档详情

实践案例(测试样例)

测试样例

DSL 语法结构

Dsl 语法详解

代码结构

├── api  http接口逻辑
├── configs  配置文件
├── docs 文档
├── core 决策引擎解析核心目录
├── service 执行逻辑
├── cmd 启动文件
├── global 全局配置
├── demo 测试样例 dsl 文件
├── internal
│  ├── dto 数据传输对象
│  ├── errcode 错误异常定义
│  ├── util 工具包
│  ├── udf 内建自定义函数
│  └── operator 表达式操作算子
├── test 测试用例

决策引擎架构图

本系统为决策引擎系统,未包含可视化管理界面部分

  • 业务架构图

决策引擎业务架构图

  • 技术架构图

决策引擎技术架构图

风控系列文章解读

扫码关注微信公众号 技术岁月 支持:

技术岁月