AIGES简介
AIGES(AI Service Engine)是科大讯飞开源的Athena Serving Framework中的核心组件,专为AI能力开发者打造的AI算法模型、引擎的通用封装工具。它的目标是帮助开发者快速将AI算法模型和引擎部署为云服务,无需关注底层基础设施和服务化相关的开发、治理和运维工作。
通过集成AIGES,开发者可以:
- 快速将AI算法模型、引擎封装并部署
- 利用Athena Serving Framework提供的网络、分发策略、数据处理等配套系统
- 借助云原生架构,为云服务提供多重稳定保障
- 高效、安全地对模型、引擎进行部署、升级、扩缩、运营和监控
AIGES的设计理念是让AI能力开发者专注于算法和模型本身,而将复杂的服务化过程交给框架来处理,从而大大提高AI能力上云的效率。
AIGES的主要特性
AIGES提供了丰富的功能特性,主要包括:
- 支持将模型推理封装为RPC服务(Serving框架会转成HTTP服务)
- 支持C代码和Python代码的推理
- 支持once(非流式)推理和流式推理
- 支持配置中心和服务发现
- 支持负载均衡配置
- 支持HTTP/GRPC服务
- 支持Cgo模式和GRPC模式的切换(Go和Python通信方式)
此外,AIGES还提供了Python SDK和AI协议,方便开发者进行集成和使用。
AIGES的使用流程
使用AIGES将AI能力封装为服务的基本流程如下:
- 准备环境:安装Python 3.9+和AIGES SDK
- 下载AIGES加载器
- 初始化Python wrapper项目
- 配置AIGES,设置Python GRPC模式
- 编写推理逻辑wrapper
- 运行AIGES加载器,启动服务
- 使用Postman或Swagger进行调试
整个过程非常简便,开发者只需关注核心的推理逻辑编写,其他繁琐的服务化工作都由AIGES框架来处理。
手写数字识别示例
下面以一个手写数字识别的MNIST项目为例,展示如何使用AIGES封装AI能力。
1. 准备环境
首先安装Python 3.9+和AIGES SDK:
pip3 install aiges==0.5.0 -i https://pypi.python.org/simple
2. 下载AIGES加载器
wget https://github.com/iflytek/aiges/releases/download/v3.0-alpha11/aiges_3.0-alpha11_linux_amd64.tar.gz
tar zxvf aiges_3.0-alpha11_linux_amd64.tar.gz -C mnist
3. 初始化Python项目
使用aiges命令创建mnist项目:
python3 -m aiges create -n mnist
4. 配置AIGES
设置Python GRPC模式并初始化配置:
export AIGES_PLUGIN_MODE=python
./AIservice -init
5. 编写推理逻辑
下载MNIST demo并编写wrapper.py:
./AIservice -mnist
cp -ra aiges_demo/mnist/wrapper/ ./
cp -ra aiges_demo/mnist/requirements.txt ./
pip install -r requirements.txt
6. 运行服务
启动AIGES加载器:
./AIservice -m 0 -c aiges.toml -s svcName
7. 调试服务
使用Postman或访问http://yourIP:1888的Swagger页面进行调试。
一个示例请求如下:
{
"header":{
"appid":"123456"
},
"parameter":{
"svcName":{
"result":{
"encoding":"utf8",
"compress":"raw",
"format":"plain",
"data_type": "text"
}
}
},
"payload":{
"img":{
"encoding":"jpg",
"status":3,
"image":"base64编码的图片内容"
}
}
}
返回结果示例:
{
"header": {
"code": 0,
"status": 3
},
"payload": {
"result": {
"text":"{\"result\": 7, \"msg\": \"识别结果为数字: 7\"}"
}
}
}
总结
AIGES作为一个通用的AI能力封装工具,极大地简化了AI算法模型上云的流程。开发者只需专注于核心算法逻辑,即可快速将AI能力部署为稳定、高效的云服务。AIGES的开源也为AI技术的发展和应用提供了有力支持,值得广大AI开发者关注和使用。
AIGES的整体架构如上图所示,它作为Athena Serving Framework的核心组件,提供了AI能力从开发到部署的全流程支持。通过使用AIGES,开发者可以更加专注于AI算法本身,将繁琐的服务化过程交给框架处理,从而大大提高开发效率和服务质量。
如果您对AIGES感兴趣,可以访问AIGES GitHub仓库了解更多详情,或查阅官方文档获取完整的使用指南。AIGES作为开源项目也欢迎社区贡献,共同推动AI技术的发展与应用。