risk_engine icon indicating copy to clipboard operation
risk_engine copied to clipboard

天网决策引擎系统

决策引擎系统

License GoDoc Go Report Card

开源声明

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

关于版本

公众号讲解版本为 tag v1,由于早期代码规划不合理,已做重构,最新更新稳定版本为 master 分支。

决策引擎系统介绍

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

风控是决策引擎的一个重要应用场景,由于黑产、羊毛党行业的盛行,风控决策引擎在电商、支付、游戏、社交等领域也有了长足的发展,刷单、套现、作弊,凡是和钱相关的业务都离不开风控决策引擎系统的支持保障。目前流行的“智能风控”,即是以决策引擎为核心驱动,以机器学习/AI为大脑,在大数据基础上构建的通用风控能力。

我结合工作实践及个人思考,从业务抽象建模,产品逻辑规划以及最终技术架构和代码实现等方面给出全方位的解决方案。

功能列表

  • 规则
  • 规则集
  • 决策树(todo)
  • 决策表(todo)
  • 决策矩阵
  • 评分卡(todo)
  • 决策流
  • 冠军挑战者
  • 条件分流
  • 支持特征类型:int、string、bool、date、array、map

快速开始

  • 环境准备 go version go1.13 +

  • Make 编译执行(推荐)

#下载
git clone https://github.com/skyhackvip/risk_engine
cd risk_engine/

#编译
make build

#启动
make run

#停止
make stop

  • Go 编译执行
#下载
git clone https://github.com/skyhackvip/risk_engine
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 容器编译执行
#下载
git clone https://github.com/skyhackvip/risk_engine
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 接口执行

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

接口文档详情

代码结构

├── api  http接口逻辑
├── configs  配置文件
├── docs 文档
├── core 决策引擎解析核心目录
├── service 执行逻辑
├── cmd 启动文件
├── global 全局配置
├── demo 测试yaml文件
├── internal
│  ├── dto 数据传输对象
│  ├── errcode 错误异常定义
│  ├── feature 特征
│  └── operator 操作算子
├── test 测试用例

DSL 语法结构

Dsl 语法详解

决策引擎架构图

决策引擎架构图

风控系列文章解读

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

技术岁月