CubeAI智立方是集AI模型自動化服務封裝、發布、共享、部署和能力開放等功能于一體的開源AI算能服務平臺,其核心作用在于打通AI模型開發至實際生產應用之間的壁壘,加速AI創新和應用進程,促進AI應用從設計、開發直到部署、運營整個生命周期的自動化快速迭代和演進。
CubeAI平臺基于自主研發的CUBE-Net微服務框架進行開發,支持在主流容器化云原生平臺上部署運行。
CUBE-Net微服務框架是一套基于ServiceBoot微服務引擎開發的云原生微服務應用基礎開發平臺和代碼腳手架工具,目前提供如下微服務控制基礎組件:
服務注冊與發現中心——Consul
在CUBE-Net微服務框架中使用第三方組件Consul來充當服務注冊/發現中心,同時還兼做統一數據配置中心。
內容服務器——Nexus
在CUBE-Net微服務框架中使用第三方組件Nexus來充當內容服務器,為整個微服務應用系統提供統一的文件存儲、制品倉庫等服務功能。
API網關——gateway
CUBE-Net微服務框架使用基于ServiceBoot開發的特殊微服務——gateway——來充當API網關,用于為后端微服務提供統一的訪問入口和HTTP路由轉發功能。
用戶認證授權中心——uaa
CUBE-Net微服務框架使用基于ServiceBoot開發的特殊微服務——uaa——來充當用戶認證授權中心,用于提供基于OAuth2協議和JWT(Json Web Token)的用戶認證和授權服務,以及基于JWT和角色的微服務訪問控制等功能。此外,CUBE-Net微服務框架中的uaa還提供了用戶管理、角色管理、消息管理、應用管理、文檔管理等服務功能。
前端主門戶——portal
CUBE-Net微服務框架使用基于ServiceBoot開發的前端微服務——portal——來為整個微服務應用系統提供統一的前端主門戶入口界面。portal前端界面基于Angular框架,使用TypeScript和HTML等語言開發。
除了CUBE-Net微服務框架提供的基礎組件外,CubeAI平臺軟件主要包括以下幾個微服務:
個人中心前端微服務,鏈接于主portal之后。ppersonal前端基于Angular框架,使用TypeScript/HTML等語言開發。
AI模型共享平臺前端微服務,鏈接于主portal之后。pmodelhub前端基于Angular框架,使用TypeScript/HTML等語言開發。
AI能力開放平臺前端微服務,鏈接于主portal之后。Popen前端基于Angular框架,使用TypeScript/HTML等語言開發。
AI模型管理后端微服務。下掛一個MySql數據庫,統一管理CubeAI應用中所有需要持久化的數據模型。使用Python語言開發。
AI模型導入后端微服務。負責將建模階段打包好的AI模型導入CubeAI平臺,并生成docker形式的微服務鏡像。使用Python語言開發。
AI模型部署后端微服務。將CubeAI平臺中已發布模型部署至Kubernetes云原生平臺,以docker容器的方式運行,以RESTful API的形式向用戶提供AI能力開放接口。使用Python語言開發。
AI能力開放網關后端微服務。對Kubernetes平臺中docker容器提供的AI能力API接口進行二次封裝,增強API訪問的安全性。使用Python語言開發。
CubeAI平臺的核心技術之一是AI模型服務化引擎——iBoot。
為了使用CubeAI平臺,AI模型開發者需要先使用iBoot對AI模型推理算法進行簡單的封裝,使之成為可在互聯網上運行的web服務,然后再將其發布至CubeAI平臺。在模型發布的過程中,CubeAI會自動將模型進行容器化封裝。容器化的AI模型經部署之后,將使用內嵌的iBoot引擎對外提供web服務(通過RESTful API接口或web圖形界面)。