Giter VIP home page Giter VIP logo

risk_engine's Introduction

天网决策引擎系统

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 测试用例

决策引擎架构图

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

  • 业务架构图

决策引擎业务架构图

  • 技术架构图

决策引擎技术架构图

风控系列文章解读

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

技术岁月

risk_engine's People

Contributors

ldlplus avatar skyhackvip avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

risk_engine's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.