ModelArts + AppCube 实现 “AI自动识别101种西式美食”【我的低代码AI体验】
实验概述
本实验主要利用ModelArts平台现有的模型仓库,带你体验一键式地将模型部署成在线API服务,零代码完成一个AI服务。接着利用华为云AppCube低代码平台,通过拖拽配置的方式,使用很少的代码实现一个前端应用,该应用通过ModelArts连接器,访问ModelArts的API服务,从而实现一整套完整的“自动识别101种西式美食”的解决方案。
订阅 Model Arts 模型
首先要做的是订阅 Model Arts 中对应的模型,我们访问其首页:https://www.huaweicloud.com/product/modelarts.html
进入管理控制台后,在左侧面板中,依次选取“AI应用管理”,“AI应用”,然后切换到“我的订阅”选项卡,点击“查找AI应用”按钮,开始查找相应的模型
AI Gallary是一个用来存储用户发布的AI模型的应用仓库,你可以在这里搜到你所需要的AI模型,并直接部署发布成API服务
我们在最近7天浏览量排行列表中找到我们今天需要的模型“自动识别101种西式美食”
进入模型详情页后,点击订阅,订阅该模型。这个模型可以识别101种常见的西餐美食。输入一个西餐的照片,这个模型会预测5种最可能的西餐品类,以及相应的置信度得分。这个模型使用food101数据集训练。
订阅完成后,会多出一个“前往控制台”的按钮,点击该按钮,前往ModelArts控制台
云服务区域选择“华北-北京四”,这一步可以自由发挥(任选)
可以看到,在ModelArts的AI应用管理处,该模型(自动识别101种西式美食)已经被订阅成功了
部署上线
在我的订阅里,点击“部署”按钮,然后在点击“在线服务”按钮
名称填“food-reg”,描述填“AI自动识别101种西式美食”(这里可以自由发挥)
提交部署任务后,华为云会在后台进行自动部署
返回在线服务列表可以看到部署进度 (注意:免费的上线时间只有一小时,请合理利用)
提示:部署有点久,可以先进行后续开发
API服务测试
等待部署成功后,点击“预测”按钮,进入API测试页面
我测试上传了一张披萨的图片,然后点击预测按钮
返回报文如下,被识别为:ceviche(南美洲橙汁腌渍鱼),这个结果并不是很准
{
"predicted_label": "ceviche",
"scores": [
[
"ceviche",
"0.718"
],
[
"tuna_tartare",
"0.057"
],
[
"paella",
"0.046"
],
[
"guacamole",
"0.033"
],
[
"nachos",
"0.031"
]
]
}
获取AK/SK
在右上角点击账户名,然后进入“我的凭证”,切换到“访问密钥”选项卡,创建并下载密钥
注意:如果访问密钥泄露,会带来数据泄露风险,且每个访问密钥仅能下载一次,为了帐号安全性,建议您定期更换并妥善保存访问密钥。
这里我已经下载过了,就不重新下载了。下载完后是一个credentials.csv,里面是如下格式的AK/SK
AppCube 搭建客户端
下载安装包
操作前请先下载示例安装包:https://appcube-ai-temp.obs.cn-north-4.myhuaweicloud.com/CNAMEO__EI-0.0.1-beta.zip
下载好的安装包只有19KB
进入AppCube
我们来到AppCube首页:https://console.huaweicloud.com/appcube/?region=cn-north-4#/home
点击“管理运行环境”按钮,进入AppCube主页(第一次进入,会出现引导教程,点击ESC键可以退出教程)
安装软件包
切换到“应用开发”选项卡,左侧选择“应用”,然后“导入项目”
选择我们刚刚下载的 CNAMEO__EI-0.0.1-beta.zip
导入完成后如下图
获取 ApigCode 和 ModelId
切换回刚刚ModelArts的部署后的测试页面,切换到调用指南选项卡
从API接口中,我们可以得到这两个参数
- apigCode = 55f8e16577f545a5a51a77db5399d75b
- modelId = 8150cd8f-7e1e-4a9d-8eb2-ec2840822d31
测试连接器
点击“编辑”按钮,进入“设计器”。首次使用会要求你输入你自己的“名空间”(自由发挥即可)
左侧选择“集成”,然后“连接器实例”
然后在左侧列表中选择“ModelArts”,在右侧点击“测试”按钮,测试连接是否正常
在测试对话框分别填入如下内容(测试图片我用的是一堆香肠)
- 选择类型:图片URL
- 模型Apig-Code:55f8e16577f545a5a51a77db5399d75b
- 模型Id:8150cd8f-7e1e-4a9d-8eb2-ec2840822d31
- URL:https://p5.ssl.qhimgs1.com/sdr/400__/t01a0846c56b564e74f.jpg
ModelArts返回结果错误,状态码401,返回值: {“error_code”:“ModelArts.4203”,“error_msg”:"Invalid request because access prohibited. "}
之所以会出现上述错误,是因为我们忘记配置AK/SK。填入AK 和 SK 后,点击保存按钮,然后再次点击“测试”重复执行上述配置即可
测试成功,但是热狗被识别为马卡龙。。。
修改代码
左侧选项卡选择“页面”,然后依次是“Page”,“demo”
编辑前,需要点击左上角的“锁定”按钮,获取页面锁
然后切换到底部的“事件视图”,事件名称选第三个“uploa_on-success_upload_0”,根据提示修改如下两个参数
- apigCode:55f8e16577f545a5a51a77db5399d75b
- modelId:8150cd8f-7e1e-4a9d-8eb2-ec2840822d31
修改完成后,一定要点击这个“保存”按钮,修改才会生效
测试客户端
点击“预览”按钮,开始测试
预览界面如下,点击“上传”按钮,上传图片,然后就会自动调用“在线服务API”请求ModelArts数据,并返回预测结果了
释放资源
实验完毕后,需要删除原先部署上线的ModelArts项目,释放资源。
回到 ModelArts 管理控制台,先点击“停止”,然后再“删除”服务
实验总结
本次实验的大致流程总结如下图
可以看到全程基本没有编写任何代码,就成功构造了一个AI应用,可以说是非常的方便。ModelArts中的AI Gallary提供了各式各样的AI模型,拿来即用。AppCube提供了许多预制的模板和组件,可以通过拖拽+配置的方式,很快捷的构建应用。
两者(ModelArts+AppCube)搭配,可以让我们零代码快速构建AI应用,让不懂算法的萌新也能进入AI殿堂,可以说是无论对新手还是老手都非常实用!
当然,识别的准确性还有待提高,不过比起动不动就要一周的开发周期,ModelArts+AppCube整个流程下来,不到一个小时完成,我认为已经做的非常好了。
【万众瞩目的低代码AI应用开发实战营来啦!开启实战营之旅(免费体验),写体验文章,赢开发者大礼包!】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/384262
- 点赞
- 收藏
- 关注作者
评论(0)