中国联通开源AI平台 CubeAI智立方-AI模型库(本人微信号:yudajiangshan)
一、CubeAI各訪問渠道:
- CubeAI官方網(wǎng)址: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基金會(huì)(LFAI)開源項(xiàng)目Acumos的設(shè)計(jì)理念,由中國(guó)聯(lián)通網(wǎng)絡(luò)技術(shù)研究院完全自主開發(fā)的集AI模型開發(fā)、模型共享和能力開放等功能于一體的開源網(wǎng)絡(luò)AI平臺(tái)。
CubeAI平臺(tái)目前提供AI模型打包、模型導(dǎo)入、容器化封裝、模型編排、模型發(fā)布、模型搜索、模型部署、AI能力開放、能力編排、能力演示等功能,支持AI模型的docker容器化封裝和微服務(wù)化部署。
CubeAI致力于在AI模型開發(fā)者和模型的實(shí)際使用者之間架設(shè)一條互通的橋梁。開發(fā)者無需關(guān)心具體的部署環(huán)境,最終用戶無需了解AI算法的具體實(shí)現(xiàn)細(xì)節(jié),使得開發(fā)者和使用者能夠?qū)W⒂诟髯宰钌瞄L(zhǎng)的領(lǐng)域進(jìn)行創(chuàng)新,從而加速AI創(chuàng)新和應(yīng)用進(jìn)程,促進(jìn)AI算法從設(shè)計(jì)、開發(fā)直到部署、應(yīng)用整個(gè)生命周期的快速迭代和演進(jìn)。
三、系統(tǒng)架構(gòu)
本系統(tǒng)由AI建模、AI模型共享(AI商城)和AI能力開放三大平臺(tái)組成。其中AI建模目前暫采用線下形式,使用Acumos提供的客戶端工具來實(shí)現(xiàn)模型打包。
四、軟件架構(gòu)
本系統(tǒng)AI模型共享平臺(tái)(AI商城)和AI能力開放平臺(tái)基于Spring Cloud微服務(wù)架構(gòu)進(jìn)行開發(fā)。前端采用Angular 6.0框架實(shí)現(xiàn),編程語言主要為TypeScript和HTML;后端采用Spring Boot框架實(shí)現(xiàn),編程語言主要為Java。部分微服務(wù)初始代碼框架采用Jhipster代碼腳手架工具生成。
五、微服務(wù)基礎(chǔ)組件
- Consul
使用Consul作為微服務(wù)注冊(cè)/發(fā)現(xiàn)中心和數(shù)據(jù)配置中心。
- API網(wǎng)關(guān)
API網(wǎng)關(guān)是一個(gè)特殊的微服務(wù),用于為后端的業(yè)務(wù)應(yīng)用微服務(wù)提供一個(gè)統(tǒng)一的訪問入口,主要功能包括:HTTP路由,負(fù)載均衡,安全控制,QoS控制,接入控制,熔斷機(jī)制等等。
本系統(tǒng)將API網(wǎng)關(guān)功能與采用Angular編寫的前端Portal頁面集成于同一個(gè)微服務(wù)之中,命名為:gateway。
- uaa
uaa(用戶認(rèn)證授權(quán)中心)是一個(gè)特殊的微服務(wù),為系統(tǒng)提供統(tǒng)一的安全控制服務(wù),主要用于用戶的認(rèn)證、鑒權(quán)、授權(quán),微服務(wù)的訪問控制,以及基于角色的訪問控制。
- 消息中間件
消息中間件由一組特殊的微服務(wù)組成,主要用于系統(tǒng)中微服務(wù)間異步數(shù)據(jù)和消息的高效傳輸和處理。本系統(tǒng)采用開源軟件Kafka來作為消息中間件。
- 搜索/日志/可視化套件
搜索/日志/可視化采用ELK套件來實(shí)現(xiàn)。ELK Stack構(gòu)建在開源基礎(chǔ)之上,能夠安全可靠地獲取微服務(wù)架構(gòu)中任何來源、任何格式的數(shù)據(jù),并且能夠?qū)崟r(shí)地對(duì)數(shù)據(jù)進(jìn)行搜索、分析和可視化呈現(xiàn)。
六、CubeAI應(yīng)用微服務(wù)
- Portal
前端采用Angular框架進(jìn)行開發(fā),將其代碼托管于API網(wǎng)關(guān)所在的后端微服務(wù)gateway之中。
- umm
AI模型管理。下掛一個(gè)MySql數(shù)據(jù)庫(kù),統(tǒng)一管理CubeAI應(yīng)用中所有需要持久化的數(shù)據(jù)模型。
- umu
AI模型導(dǎo)入。負(fù)責(zé)將建模階段打包好的AI模型導(dǎo)入CubeAI平臺(tái),并生成docker形式的微服務(wù)鏡像。
- umo
AI模型編排。以可視化圖形界面將多個(gè)基礎(chǔ)模型組件組合編排成一個(gè)功能更為復(fù)雜的AI模型。
- umd
AI模型部署。將CubeAI平臺(tái)中已發(fā)布模型部署至Kubernetes云平臺(tái),以docker容器的方式運(yùn)行,以RESTful API的形式向用戶提供AI能力開放接口。
- ability
AI能力開放網(wǎng)關(guān)。對(duì)Kubernetes平臺(tái)中docker容器提供的AI能力接口進(jìn)行封裝,增強(qiáng)API訪問的安全性。
- udemo
AI能力開放示范平臺(tái)。為Kubernetes中已部署的部分典型AI開放能力接口提供圖形化演示界面。
七、CubeAI應(yīng)用支撐組件
- Nexus
提供用于存儲(chǔ)AI模型相關(guān)構(gòu)件和文檔的文件服務(wù)器,以及用于存貯AI模型docker鏡像的docker倉(cāng)庫(kù)。
- Kubernates
AI模型部署目標(biāo)平臺(tái),以docker容器形式為AI能力開放提供微服務(wù)化容器編排和調(diào)度平臺(tái)。
八、開發(fā)環(huán)境
-
操作系統(tǒng)
- Linux,建議Ubuntu 16.04 LTS
-
版本管理
- git
-
Java JDK
-
安裝
- # apt install openjdk-8-jdk
-
-
配置環(huán)境變量:
- 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版本號(hào)
- # mvn --version
-
配置本地倉(cāng)庫(kù)
Maven缺省使用當(dāng)前用戶登錄目錄下的.m2目錄作為本地倉(cāng)庫(kù)。
Node.js
-
從?https://nodejs.org/en/download/?下載相應(yīng)版本,拷貝至/opt。
-
解壓,創(chuàng)建符號(hào)連接(用實(shí)際版本號(hào)替換以下版本號(hào)):
- 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
微服務(wù)代碼腳手架工具
-
JHipster
-
安裝
- # yarn global add yo
- # yarn global add generator-jhipster
Docker
-
卸載舊版本(如果非初次安裝)
- # apt-get remove docker docker-engine docker.io
配置倉(cāng)庫(kù)
-
更新apt-get包索引
- apt-get update
安裝軟件包使apt可使用HTTPS:
添加Docker官方GPG key:
驗(yàn)證指紋,是否有 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
Set up the stable repository:
安裝DOCKER CE
安裝docker-compose
驗(yàn)證安裝成功:
集成開發(fā)環(huán)境
- 建議: Idea IntelliJ
九、安裝、開發(fā)和部署
代碼下載
開發(fā)
-
參照docker/dev文件夾下的README文檔,拉起平臺(tái)開發(fā)需要依賴的所有基礎(chǔ)微服務(wù)。
-
參照uaa、gateway、umm、umu、umd、ability等文件夾下的README文檔,分別進(jìn)行各微服務(wù)的開發(fā)調(diào)試。
部署
- 參照docker/prod文件夾下的README文檔,對(duì)整個(gè)平臺(tái)運(yùn)行所需要的所有微服務(wù)進(jìn)行部署。
總結(jié)
以上是生活随笔為你收集整理的中国联通开源AI平台 CubeAI智立方-AI模型库(本人微信号:yudajiangshan)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银联 php hex2bin,php 实
- 下一篇: AI20级数据挖掘第一次作业