中国联通开源AI平台 CubeAI智立方-AI模型库(本人微信号:yudajiangshan)
一、CubeAI各訪問渠道:
- CubeAI官方網址:https://cubeai.dimpt.com
- github:?https://github.com/cube-ai/cubeai
- 鵬城智匯ihub:?https://code.ihub.org.cn/projects/348(最新的代碼和AI模型)
- 碼云:https://gitee.com/mirrors/CubeAI
二、CubeAI介紹
CubeAI ★ 智立方?是參考?Linux AI基金會(LFAI)開源項目Acumos的設計理念,由中國聯通網絡技術研究院完全自主開發的集AI模型開發、模型共享和能力開放等功能于一體的開源網絡AI平臺。
CubeAI平臺目前提供AI模型打包、模型導入、容器化封裝、模型編排、模型發布、模型搜索、模型部署、AI能力開放、能力編排、能力演示等功能,支持AI模型的docker容器化封裝和微服務化部署。
CubeAI致力于在AI模型開發者和模型的實際使用者之間架設一條互通的橋梁。開發者無需關心具體的部署環境,最終用戶無需了解AI算法的具體實現細節,使得開發者和使用者能夠專注于各自最擅長的領域進行創新,從而加速AI創新和應用進程,促進AI算法從設計、開發直到部署、應用整個生命周期的快速迭代和演進。
三、系統架構
本系統由AI建模、AI模型共享(AI商城)和AI能力開放三大平臺組成。其中AI建模目前暫采用線下形式,使用Acumos提供的客戶端工具來實現模型打包。
四、軟件架構
本系統AI模型共享平臺(AI商城)和AI能力開放平臺基于Spring Cloud微服務架構進行開發。前端采用Angular 6.0框架實現,編程語言主要為TypeScript和HTML;后端采用Spring Boot框架實現,編程語言主要為Java。部分微服務初始代碼框架采用Jhipster代碼腳手架工具生成。
五、微服務基礎組件
- Consul
使用Consul作為微服務注冊/發現中心和數據配置中心。
- API網關
API網關是一個特殊的微服務,用于為后端的業務應用微服務提供一個統一的訪問入口,主要功能包括:HTTP路由,負載均衡,安全控制,QoS控制,接入控制,熔斷機制等等。
本系統將API網關功能與采用Angular編寫的前端Portal頁面集成于同一個微服務之中,命名為:gateway。
- uaa
uaa(用戶認證授權中心)是一個特殊的微服務,為系統提供統一的安全控制服務,主要用于用戶的認證、鑒權、授權,微服務的訪問控制,以及基于角色的訪問控制。
- 消息中間件
消息中間件由一組特殊的微服務組成,主要用于系統中微服務間異步數據和消息的高效傳輸和處理。本系統采用開源軟件Kafka來作為消息中間件。
- 搜索/日志/可視化套件
搜索/日志/可視化采用ELK套件來實現。ELK Stack構建在開源基礎之上,能夠安全可靠地獲取微服務架構中任何來源、任何格式的數據,并且能夠實時地對數據進行搜索、分析和可視化呈現。
六、CubeAI應用微服務
- Portal
前端采用Angular框架進行開發,將其代碼托管于API網關所在的后端微服務gateway之中。
- umm
AI模型管理。下掛一個MySql數據庫,統一管理CubeAI應用中所有需要持久化的數據模型。
- umu
AI模型導入。負責將建模階段打包好的AI模型導入CubeAI平臺,并生成docker形式的微服務鏡像。
- umo
AI模型編排。以可視化圖形界面將多個基礎模型組件組合編排成一個功能更為復雜的AI模型。
- umd
AI模型部署。將CubeAI平臺中已發布模型部署至Kubernetes云平臺,以docker容器的方式運行,以RESTful API的形式向用戶提供AI能力開放接口。
- ability
AI能力開放網關。對Kubernetes平臺中docker容器提供的AI能力接口進行封裝,增強API訪問的安全性。
- udemo
AI能力開放示范平臺。為Kubernetes中已部署的部分典型AI開放能力接口提供圖形化演示界面。
七、CubeAI應用支撐組件
- Nexus
提供用于存儲AI模型相關構件和文檔的文件服務器,以及用于存貯AI模型docker鏡像的docker倉庫。
- Kubernates
AI模型部署目標平臺,以docker容器形式為AI能力開放提供微服務化容器編排和調度平臺。
八、開發環境
-
操作系統
- Linux,建議Ubuntu 16.04 LTS
-
版本管理
- git
-
Java JDK
-
安裝
- # apt install openjdk-8-jdk
-
-
配置環境變量:
- export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
- export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
-
Java build工具
-
Maven
-
安裝
- # apt-get install maven
-
-
查看maven版本號
- # mvn --version
-
配置本地倉庫
Maven缺省使用當前用戶登錄目錄下的.m2目錄作為本地倉庫。
Node.js
-
從?https://nodejs.org/en/download/?下載相應版本,拷貝至/opt。
-
解壓,創建符號連接(用實際版本號替換以下版本號):
- cd /opt
- # tar -xvf node-v8.10.0-linux-x64.tar.xz
- # ln -s node-v8.10.0-linux-x64 nodejs
- # ln -s /opt/nodejs/bin/node /usr/bin/node
- # ln -s /opt/nodejs/bin/npm /usr/bin/npm
- # node -v
前端build工具
-
Yarn
-
安裝
- # curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
- # echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
- # apt-get update
- # apt-get install yarn
微服務代碼腳手架工具
-
JHipster
-
安裝
- # yarn global add yo
- # yarn global add generator-jhipster
Docker
-
卸載舊版本(如果非初次安裝)
- # apt-get remove docker docker-engine docker.io
配置倉庫
-
更新apt-get包索引
- apt-get update
安裝軟件包使apt可使用HTTPS:
添加Docker官方GPG key:
驗證指紋,是否有 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
Set up the stable repository:
安裝DOCKER CE
安裝docker-compose
驗證安裝成功:
集成開發環境
- 建議: Idea IntelliJ
九、安裝、開發和部署
代碼下載
開發
-
參照docker/dev文件夾下的README文檔,拉起平臺開發需要依賴的所有基礎微服務。
-
參照uaa、gateway、umm、umu、umd、ability等文件夾下的README文檔,分別進行各微服務的開發調試。
部署
- 參照docker/prod文件夾下的README文檔,對整個平臺運行所需要的所有微服務進行部署。
總結
以上是生活随笔為你收集整理的中国联通开源AI平台 CubeAI智立方-AI模型库(本人微信号:yudajiangshan)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银联 php hex2bin,php 实
- 下一篇: [转]基于Protel DXP软件的PC