BaoAI 生产部署

自动部署开源AI模型到生产环境:Sklearn、XGBoost、LightGBM、和PySpark 介绍了如何通过DaaS-Client Python客户端自动部署开源AI模型到生产环境中:Sklearn、XGBoost、LightGBM和PySpark,并且在DaaS网络客户端管理这些模型和部署 阅读详情


建议部署在Linux环境

BaoAI Front前端部署

  • nginx 做为 Web前端服务器

  • 反向代理,用户无需访问后端API服务地址

如:原API服务地址:localhost:8000/api

反向代理:localhost:3000/api 代替 localhost:8000/api

  • URL地址采用HTML5Mode模式

如正常模式: http://www.baoai.co/#/web/main

HTML5Mode模式:http://www.baoai.co/web/main

CentOS 7 例子:

# 显示中文

export LANG=zh_CN.GB2312

# 添加CentOS 7 EPEL仓库
yum install epel-release

1.构建生产代码:


# BaoAIFront项目根目录

gulp build

将dist目录下的文件复制到centos的/baoai/BaoAIFront目录

2.安装nginx


# 现在Nginx存储库已经安装在您的服务器上,使用以下yum命令安装Nginx

yun install -y nginx

# 启动Nginx

systemctl start nginx
# 如果想在系统启动时启用Nginx

systemctl enable nginx

3.修改配置文件nginx.conf

nginx.conf默认在 /etc/nginx/nginx.conf


  upstream node {
      server 127.0.0.1:8000;
  }
  server {
    listen 80;
    server_name _;
    access_log /data/wwwlogs/access_nginx.log combined;
    root /baoai/BaoAIFront;
    index index.html index.htm index.php;
        if ($request_uri ~ ^/(static|login|register|password|app|api)) {
                set $cookie_nocache 1;
        }
        location / {
            index  index.html index.htm index.php;
            try_files $uri $uri/ /index.html =404;
            # proxy_cache cache;
            # proxy_cache_valid   200 304 12h;
            # proxy_cache_valid   any 10m;
            # add_header  Nginx-Cache "$upstream_cache_status";
            # proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            # proxy_no_cache $cookie_nocache $arg_nocache $arg_comment;
            # proxy_no_cache $http_pargma $http_authorization;
        }

        location ^~ /static/ {
            proxy_pass http://node;
            proxy_set_header Host $http_host;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
            # proxy_cache cache;
            # proxy_cache_valid   200 304 12h;
            # proxy_cache_valid   any 10m;
            # add_header  Nginx-Cache "$upstream_cache_status";
            # proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            # proxy_no_cache $cookie_nocache $arg_nocache $arg_comment;
            # proxy_no_cache $http_pargma $http_authorization;
        }

        location ^~ /api/ 
            proxy_pass http://node;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;          
            # proxy_cache cache;
            # proxy_cache_valid   200 304 12h;
            # proxy_cache_valid   any 10m;
            # add_header  Nginx-Cache "$upstream_cache_status";
            # proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            # proxy_no_cache $cookie_nocache $arg_nocache $arg_comment;
            # proxy_no_cache $http_pargma $http_authorization;
        }
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    location /nginx_status {
      stub_status on;
      access_log off;
      allow 127.0.0.1;
      deny all;
    }

    # location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    #   expires 30d;
    #   access_log off;
    # }
    # location ~ .*\.(js|css)?$ {
    #   expires 7d;
    #   access_log off;
    # }
    location ~ ^/(\.user.ini|\.ht|\.git|\.svn|\.project|LICENSE|README.md) {
      deny all;
    }
  }

4.重启nginx

systemctl restart nginx

BaoAI Back后端部署

  • 复制源码至服务器

  • 安装mariadb【mysql】数据库

  • 安装Python环境

    • 安装 Python3.6.5

    • 创建虚拟环境 venv

    • 虚拟环境中安装依赖包

  • gunicorn 做为 wsgi服务器

  • supervisor 做为管理和守护程序

CentOS 7 例子:

# 显示中文
export LANG=zh_CN.GB2312

# 添加CentOS 7 EPEL仓库
yum install epel-release

1.将BaoAIBack源码复制到/baoai/BaoAIBack

2.安装mariadb【mysql】

注:MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB完全兼容mysql,使用方法也是一样的

# 安装mariadb-server
yum install mariadb-server

# MariaDB服务开启,并设置为开机启动
systemctl start mariadb  # 开启服务
systemctl enable mariadb  # 设置为开机自启动服务

# 数据库的配置
mysql_secure_installation
Enter current password for root (enter for none):  # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车

Set root password? [Y/n]  # 设置密码,y

New password:  # 新密码
Re-enter new password:  # 再次输入密码

Remove anonymous users? [Y/n]  # 移除匿名用户, y

Disallow root login remotely? [Y/n]  # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录

Remove test database and access to it? [Y/n]  # 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要

Reload privilege tables now? [Y/n]  # 重新加载权限表,y。或者重启服务也可

# 登录MariaDB [mysql]

[root@mini ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

# 创建数据库
MariaDB [(none)]>create database baoai;

# 进入数据库
MariaDB [(none)]>use baoai;

# 导入脚本
MariaDB [(none)]>source /baoai/BaoAIBack/db/baoai.sql;

3.安装Python 3.6
yum install -y python36 python36-devel

# 查看版本
python3 -V
pip3 -V

4.创建虚拟环境


# 进入项目目录

cd /baoai/BaoAIBack/

mkdir venv

cd venv

python3 -m venv .

运行
source /baoai/BaoAIBack/venv/bin/activate

# 查看版本
python -V

# 升级pip
pip3 install --upgrade pip

5.依赖包导入

pip install  -r requirements.txt

# 如果速度慢,可以使用国内镜像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

6.测试运行
(venv) /baoai/BaoAIBack>python manage.py runserver --threaded

5.gunicorn运行项目
./run_baoai.sh

6.安装supervisor

# systemctl enable supervisord # 开机自启动
# systemctl start supervisord # 启动supervisord服务

# systemctl status supervisord # 查看supervisord服务状态
# ps -ef|grep supervisord # 查看是否存在supervisord进程

7.加入baoai程序

cp /baoai/BaoAIBack/deploy/baoai.ini /etc/supervisord.d/

重启supervisor
supervisorctl restart all 或 supervisorctl restart baoai

查看状态
supervisorctl status

停止应用
supervisorctl stop all 或 supervisorctl stop baoai

8.关闭所有python应用

./kill_python.sh
Pandas入门教程(二十二):股票数据分析实战——yfinance 获取数据、技术指标与收益率分析 把 Pandas 用在真实场景,才能体会它的价值。本文以茅台股票为例,用 yfinance 获取历史行情,完成缺失值处理与列筛选,绘制收盘价曲线,计算 SMA 移动平均线与 RSI 相对强弱指数,并通过日收益率、累计收益率和波动率完成完整的量化分析流程。 阅读详情

相关推荐

开发环境 之四 Python 中的 pip 安装 及 使用详解

pip 是 Python 的包安装程序。其实,pip 就是 Python 标准库(The Python Standard Library)中的一个包,只是这个包比较特殊,用它可以来管理 Python 标准库(The Python Standard Library)中其他的包。pip 支持从 [PyPI](https://pypi.org/ ),版本控制,本地项目以及直接从分发文件进行安装。pip 是一个命令行程序。 安装 pip 后,会向系统添加一个 pip 命令,该命令可以从命令提示符运行。

技术干货 30万+

小宝人工智能和量化平台BaoAI开源了,Apache2.0 免费开源

小宝人工智能和量化平台是简洁、直观、强大的前端和后端SPA开发框架,支持国际化,以模块为基础,让WEB应用、人工智能和量化系统开发更迅速、更简单。平台包含多个模块,主要包括基于角色的权限管理基础平台(用户、角色、权限、日志、附件、配置参数、分类管理)、通知模块、自动代码产生模块、任务系统模块、内容管理系统模块、网站模块、电子手册模块、人工智能模块、图像识别模块,人脸识别模块,金融数据采集模块,大数...

874

用Python+OpenCV搞定线激光相机标定:从棋盘格到3D点云的保姆级实战

本文详细介绍了使用Python和OpenCV进行线激光相机标定的全流程实战,从硬件准备到3D点云重建。涵盖相机内参标定、激光平面方程拟合、三维重建等关键技术,提供完整的代码实现和工程优化建议,帮助开发者实现毫米级精度的工业检测和三维测量系统。

weixin_29227425的博客 283

BaoAI 安装步骤

BaoAI 安装步骤项目前端 BaoAIFront 安装步骤项目后端 BaoAIBack 安装步骤项目后端数据库项目代码自动产生模块 项目前端 BaoAIFront 安装步骤 需要安装 Node.js # 安装 bower: npm install -g bower # 安装 gulp npm install -g gulp # npm 安装第三方js bower instal...

416

AMSR-2数据下载实战:从JAXA到LPRM的算法选择与效率优化

本文详细介绍了AMSR-2数据的下载实战,重点对比了JAXA与LPRM算法的差异及适用场景,并提供了高效下载方案和网络优化策略。通过实际案例和代码示例,帮助用户快速获取和处理AMSR-2数据,提升研究效率。

rl6adventurer的博客 691

记录Nvidia AGX Orin的配置日常(二)设置上电自动开机和远程桌面

因为要拿AGX作为机器人的主控板,所以需要给他设置一下通电后无需按电源键就自动开机,然后再配置一下远程桌面。

AutomaticForever的博客 1361

BaoAI 功能特点

功能特点: 超10万行代码 平台包含多个模块,并且模块数量仍不断的增加中。可用于各行业的前端和后端系统软件开发,已包含有CMS、人工智能、图像识别、人脸识别、大数据和量化投资领域等常用模块供开发人员直接使用。 平台模块化,易于开发扩展 BaiAI平台设计思路是将大型企业应用项目分解成很多小模块,每个模块分为前端模块和后端模块,前端模块使用后端模块提供的API服务。前后模块由脚本语言构成,无需编...

554

软件测试方法——等价类划分法详解

!如果下面这些资料用得到的话可以直接拿走:1、自学开发或者测试必备的完整项目源码与环境2、测试工作中所有模板(测试计划、测试用例、测试报告等)3、软件测试经典面试题4、Python/Java自动化测试实战.pdf5、Jmeter/postman接口测试全套视频获取6、Python学习路线图。

MXB1220的博客 1万+

BaoAI 框架选型

前端和后端框架选型,深思熟虑 前端和后端实现目的:建立一个简洁、直观、强大和易于掌握的前端和后端SPA开发框架,支持国际化,以模块为基础,让WEB应用、人工智能、大数据和量化系统开发更迅速、更简单。实现大型企业项目的模块化开发,快速部署,无需编译,快速运行。 前端选型: 开发框架选型上,基于当前热门的AngularJS、Angular、VueJS、ReactJS中选择, Angular功能...

537

23、资产分散化与有效前沿:投资组合优化的核心策略

本文深入探讨了现代投资组合理论的核心概念,包括分散投资的重要性、均值-方差优化框架以及有效前沿的构建与应用。通过案例分析和数学模型,阐述了如何通过科学方法降低投资组合风险并实现最优风险收益权衡。文章还介绍了实际应用中的求解方法与决策流程,为投资者提供系统的投资组合优化指导。

cc789的博客 114

QT+QGIS跨平台编译(基于Qt,采用一套代码、一套框架,完成QGIS第三方库、核心库、应用程序的跨平台编译)

QT+QGIS跨平台编译。 基于Qt,采用一套代码、一套框架,完成QGIS第三方库、核心库、应用程序的跨平台编译。

LuckyHanMo的博客 4375

BaoAI 开发工具

BaoAI前后端开发工具都采用VisualStudioCode 安装插件: `Chinese(Simplified)LanguagePackforVisualStudioCode` :中文语言包 `jshint` :js语法检验 `Python` : 语法检查,调试(包含远程调试),智能感知, Jupyter Notebooks,代码格式化,代码重构,单...

360

SAP 打印输出中 `#` 字符替代日文汉字的根本原因与全面解决方案

只要认清设备类型 / 字符集 / 字体三角关系,并合理利用PDFUCSWINCF或 UPE + URDT,LP01里那些恼人的就会彻底消失,日文汉字将在纸面与 PDF 中如预览一样完美呈现。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 815

HTML5 - 1.课程内容

HTML5课程内容HTML课程内容课程学习路径课程源码项目浸入式教学交流讨论 HTML课程内容 前置课程:软件开发基础 推荐课程:BaoAI 课程 项目 学习内容 达到目标 软件开发基础 创建新项目,使用Git远程和本地管理源代码,编写项目说明文档 Visual Studio Code Git Markdown 使用Code开发和创建项目、Git管理项目源代码、Markdo...

354

python基础之语言发展历史

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。 目录一、前言二、发展历史1、Python是一种面向对象的解释型编程语言2、Python常被称为胶水语言3、Python由Guido开发4、Python连续多年入选编程语言TOP105、Python的发展历史三、总结 一、前言   由于Python语言的简洁性、易读性以及可扩展性,它在网络爬虫、数据分析、.

jiankang66的博客 3348

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

你刚吃的兰州牛肉面_背后就藏着大数据

兰州拉面都拥抱大数据了,此刻我只想问,黄焖鸡、麻辣烫和沙县小吃,你们还在等什么?

Gamay的博客 1975

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

你刚吃的兰州牛肉面,背后就藏着大数据

3年前,计算机博士邓毓博辞去高校教职,创业做起“互联网+牛肉面”的生意——生产标准化的速食牛肉面,放上淘宝售卖。他的品牌“牛大坊”,刚开张第一年就卖出了20多万份面,但他并不满足于此。 邓毓博的终极理想,是用“云供应链”整合牛肉面产业的各个环节,革新线下店铺的经营模式,让兰州牛肉面与麦当劳、肯德基一样,标准化。2016年下半年,邓毓博带着这个想法找到好友...

weixin_34293059的博客 422

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【技术专题】HTML5 网页技术 - HTML5 地理定位 API & Web Workers

Java1234_小锋老师推出《一天学会 HTML5 视频教程(无废话版)》,涵盖HTML5核心知识点,包括语义化标签、音频视频、Canvas动画、SVG、Web Storage、File API、拖放与地理定位API,以及关键的Web Workers多线程技术。通过实战示例详解navigator.geolocation获取位置信息及Worker后台执行耗时任务,实现页面流畅交互。配套课件、源码打包下载,助力快速掌握现代Web开发技能。

java1234的博客 211

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 405

从一段视频到可漫游的 4D 有声场景:思路拆解与最小复现手记

只需一段手机视频,你就能生成可"走进去"的 4D 有声场景:转头时狗叫声方向随之变化,走近时声音更清晰。本文拆解 Video-to-4DAVScene 的核心思路,手把手带你用几十行 Python 搭出最小管线,把视频中的运动物体变成带空间位置的声源,并附上三个真实踩坑的排障经验,代码可直接跑。🎧

helloagent的博客 234

【每天一个 Python 小案例30】Python 基础知识综合小项目:我的工具盒

作为系列收官,本篇把前 29 篇的知识点合成一个能直接用的命令行工具"我的工具盒":计算器(用 ast 解析表达式,不碰 eval)、单位换算与温度转换(一张换算表 + 特例分支)、记账与分类统计(Decimal + JSON 持久化)、以及用"字典当命令表"把菜单和业务逻辑解耦的主循环。文中对比了 eval 的安全隐患与 ast 白名单的做法,解释了 lambda 闭包在字典里的写法与晚绑定陷阱,并在最后给出整个系列的知识地图,把变量、数据结构、控制流、函数、类、异常、文件、标准库八块内容对应到具体篇目。

xinjiyaya的博客 426

Python+Agent入门笔记(二):列表推导式、模块和异常,这些写 Agent 前得会

接上一篇《Python+Agent入门笔记(一)》。基础语法跑通之后,这篇聊几块日常写脚本绕不开的东西。还是按 JS/Go 开发者的视角写,尽量记录我实际卡过的地方。

qq_41241612的博客 430

详解Python条件语句

在 Python 中,if...else 是一种条件语句,可以根据给定的条件执行不同的操作。这个语句通常用于控制程序的流程。

2601_96798737的博客 205

Python3 协程:异步编程的核心机制与实战

协程是解决I/O密集型任务等待瓶颈的高效机制,相比线程更轻量、无锁开销。从yield到async/await的演进,使异步编程语义清晰、易于理解。通过async/await可实现并发执行多个任务(如gather、create_task),显著提升网络请求、爬虫等场景性能。关键在于使用异步库(如aiohttp)替代同步库,避免阻塞事件循环。合理控制超时与并发数,才能发挥协程最大优势。

Lxn2zh的博客 159
上一篇: BaoAI 安装步骤
下一篇: VirtualBox 安装 Centos7
idsof
博客等级 码龄21年 9粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值