# baoai **Repository Path**: wangqiyuan2/baoai ## Basic Information - **Project Name**: baoai - **Description**: 小宝人工智能和量化平台BaoAI开发文档、安装、部署、功能说明、选型和开发工具等。BaoAI采用前后端分离框架,前端baoaifront,后端baoaiback。前端基于AngularJS,后端使用Python等。BaoAI是简洁、直观、强大的前端和后端SPA开发框架,支持国际化,以模块为基础,让WEB应用、人工智能和量化系统开发更迅速、更简单。平台包含多个模块,主要包括基于角色的权限管理基础平台(用户、角色、权限、日志、附件、配置参数、分类管理)、通知模块、自动代码产生模块、任务系统模块、内容管理系统模块、网站模块、电子手册模块、人工智能模块、图像识别模块,人脸识别模块,金融数据采集模块,大数据模块,量化交易模块等。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: http://www.baoai.co - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 12 - **Created**: 2020-03-17 - **Last Updated**: 2021-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BaoAI 小宝人工智能和量化系统 人工智能和量化从这开始
小宝人工智能和量化平台是简洁、直观、强大的前端和后端SPA开发框架,支持国际化,以模块为基础,让WEB应用、人工智能和量化系统开发更迅速、更简单。平台包含多个模块,主要包括基于角色的权限管理基础平台(用户、角色、权限、日志、附件、配置参数、分类管理)、通知模块、自动代码产生模块、任务系统模块、内容管理系统模块、网站模块、电子手册模块、人工智能模块、图像识别模块,人脸识别模块,金融数据采集模块,大数据模块,量化交易模块等。 ## 功能特点: + 超10万行代码 + 平台模块化,易于开发扩展 + 前端兼容多种浏览器 + 兼容性好,跨平台,响应式设计 + 平台二次开发学习曲线低,易上手 + 国际化 + 前后端代码分离 + 基于H5的单页面应用(SPA) + 自动代码产生器 + 自动产生API文档及测试界面 + 支持多数据库和数据迁移 + 强大的富文本编辑 + 人工智能 + 大数据网络爬虫 + 金融数据采集模块 + 量化分析 + 完善的开发和部署工具和方案 ## 下载源码 BaoAI前后端分离框构,包含有前端项目和后端项目 + 前端项目源码: [BaoAIFront](https://gitee.com/yuanbaonet/baoaifront) + 后端项目源码: [BaoAIBack](https://gitee.com/yuanbaonet/baoaiback) ## 文档 + 手册 + [BaoAI 开发手册](ReadME.md) - [功能特点](feature.md) - [框架选型](select.md) - [开发工具](tools.md) - [安装步骤](install.md) - [部署](deploy.md) + [BaoAI 开发手册](http://www.baoai.co/web/book?id=50) http://www.baoai.co/web/book?id=50 + [BaoAI 后端开发手册](http://www.baoai.co/web/book?id=48) http://www.baoai.co/web/book?id=48 + API + 以开发模式运行后端项目后,即可加载,如:http://localhost:8000/api,使用Swagger UI加载。 + 模块扩展 + [模块扩展](http://www.baoai.co/web/book?id=88) ## 前端和后端开发工具 [Visual Studio Code](http://code.visualstudio.com) 安装插件: `Chinese (Simplified) Language Pack for Visual Studio Code` `jshint` `Python` ## 项目前端 BaoAIFront 安装步骤 需要安装 [Node.js](https://nodejs.org) ```shell # 安装 bower: npm install -g bower # 安装 gulp npm install -g gulp # npm 安装第三方js bower install # npm 安装依赖库: npm install # 运行前端代码方式一:自带数据模拟API,适合前端工程师 gulp server # 运行前端代码方式二:Python全栈开发工程师 gulp serve # 运行前端代码方式三:Python全栈开发工程师,反向代理(前后端共用相同地址和端口,仅目录不同) gulp proxy # 构建生产代码 gulp build # 运行前端代码方式四:测试运行生产代码 gulp prod ``` 生产代码保存在 `dist` 目录. ## 项目后端 BaoAIBack 安装步骤 需要 [Python 3.6](http://www.python.org) ```shell # 1. 创建虚拟环境 # windows, 假设项目根路径:d:/baoai/BaoaiBack/ cd d:/baoai/BaoaiBack mkdir venv cd venv python -m venv . # 运行虚拟环境 d:/baoai/BaoaiBack/venv/Scripts/activate.bat cd d:/baoai/BaoaiBack # linux, 假设项目根路径:/baoai/BaoaiBack/ cd /baoai/BaoaiBack mkdir venv cd venv python -m venv . # 运行虚拟环境 source /baoai/BaoaiBack/venv/bin/activate cd /baoai/BaoaiBack # 2. 安装依赖库(必须处于虚拟环境) # windows 安装依赖库 python -m pip install --upgrade pip pip install -r requirements.txt # 如果下载速度慢可以采用国内镜像 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt # linux 安装依赖库 python -m pip3 install --upgrade pip pip3 install -r requirements.txt # 如果下载速度慢可以采用国内镜像 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt # 3. 运行 Restful 服务 # windows run_baoai.bat # linux # 默认使用gunicorn做为wsgi chmod +x run_baoai.sh ./run_baoai.sh # 4. 运行 www 服务(Jinja模块) # windows run_www.bat # linux chmod +x run_www.sh ./run_www.sh # 常用功能 # 清空缓存 python manage.py clean ``` ## 项目后端数据库 本项目支持绝大部门流行的关系数据库,包括:SQLite、MySQL、Postgres、Oracle、MS-SQL、SQLServer 和 Firebird。 已提供Sqlite数据库,和MySQL数据脚本文件。MySQL支持5.5及以上版本。 数据库转换无需修改代码,仅修改config.py中的SQLALCHEMY_DATABASE_URI即可。 默认使用sqlite数据库,优点是无需安装专门数据库软件,方便测试开发,生产部署请使用mysql或其它数据库软件。 sqlite数据保存在 `db/baoai.db`,直接使用。 mysql数据库脚本保存在 `db/baoai.mysql.sql`,需要新建数据库如baoai,然后导入脚本。 如果使用其他数据库,可以使用`Navicat Premium`工具菜单中的`数据传输`,进行不同数据库之前的数据迁移。 数据库相关操作: ``` # 数据迁移服务 # 初始化 python manage.py db init # 模型迁移 python manage.py db migrate # 数据库脚本更新(操作数据) python manage.py db upgrade ``` ## 项目代码自动产生模块 使用自动代码产生模块,可以使字段、模型、生成数据库、前端代码、后端代码和权限配置一并可视化完成,一般项目可以零代码实现。 该部份主要包括三个扩展模块: 数据迁移模块、自动代码模型模块和自动代码产生模块 ## BaoAI 小宝人工智能和量化平台系统架构