如何使用 PAI-EAS 部署 API 服务|学习笔记

简介: 快速学习如何使用 PAI-EAS 部署 API 服务。

开发者学堂课程【PAL 平台学习路线:机器学习入门到应用:如何使用 PAI-EAS 部署 API 服务】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/855/detail/14232


如何使用 PAI-EAS 部署 API 服务

 

内容介绍

一个部分是如何部署模型在线服务;

第二部分是如何用部署好的服务做调用预测。这两部分都会讲解如何使用Web的前端页面来使用,如何使用EAS进行使用。

一、如何部署模型在线服务

二、部署好之后的调用

 

一、如何部署模型在线服务

首先我们从模型服务如何部署开始,部署首先进行 Web 页面的操作。

图片31.png

上图的页面是 PAI studio 运行好的一个实验前端页面,这是一个心脏病预测的实验。心脏病测验是一个基本的线性逻辑回归的预测,这样的模型训练好之后后面有一个勾号说明实验运营好并且实验已经训练好了。

 图片32.png

可以对这个模型进行操作,首先可以右键勾号,可以将这个模型导出成一个 PMML 文件。之后可以将 PMML文件上传到 OSS 或者内部的任何一个存储的地方,之后用存储的链接来部署。

 图片33.png

另外还有一种更简便的方式,可以点击左上角的一键部署(模型在线部署)就无需将模型导出,然后在上传到某一个存储的地方再使用链接部署了。现在尝试一下一键部署,选择实验画布里面有的服务,因为有时一个实验里面会有多种类型,需要做选择。选择好点击下一步。

图片34.png

可以看到上图做部署有三种选项,第一个是新建服务,将这个模型部署成一个全新的服务;第二个是在已有的服务基础上增加一个版本,这种服务适合模型的迭代更新,也就是说之前已经训好一个模型了,后来由于数据的变动相对模型进行优化迭代或者它的精准度有进一步的提升,就在这个基础上部署它的第二个版本。第三个是蓝绿部署,这个部署适用于两个差异比较大的模型,希望进行AB的互相的交换逐渐的向B模型去过渡的时候使用蓝绿部署的功能。在蓝绿部署的时候,这两个模型是可以互相切流的,也就是流量可以一点一点切换然后过渡过去的。比如原来的一个A模型和一个 B 模型,AB 模型同时接受流量并且流量的配比由我们自己决定,A 模型20%,B 模型占80%,这个我们都可以自己做调整。

这里我们先做一个新建的模型服务的示例。

图片35.png

定义一个名字,选择进程数(这个模型服务下面有多少个子进程,每一个子进程都可以独立的承担流量的接受并且对流量进行数据的处理以及预测;进程数多对服务有更好的保障。其中某一个进程坏掉了,其他进程可以继续做模拟服务的预测,保证线上服务的稳定性),核数(根据模型所需的资源来定,遇到具体的情况再做判断。)现在这个模型需要2核4G 的计算资源,选择好之后点击下一步。

图片36.png

上图是一个确认页面,确认没问题之后点击部署。

图片37.png

点击部署好了之后页面,会出现刚刚选好的模型0304,状态是 creating,需要稍微等待几分钟就会变成正常的running 的状态。下面的是昨天部署的服务。

可以对已经部署好的模型做一些相应的操作,点击模型的名称,可以看到这个模型的调用的说明:

图片38.png

如何访问模型以及它的 token 密钥是什么。这是下一步做模型调用的需要的基本信息。我们会在第二个环节讲解。

同样还可以做其他的操作,比如点击模型的更新

图片39.png

更新可以增加它的进程数(下面有几个子进程)更改每一个进程所需要的计算的资源量。以上是更新的操作。

同时还可以看到监控的页面,下图:

图片40.png

监控页面就是这个服务当前整体的 QPS、response、traffic 流量、RT 延迟、CPU 和 memory 水位的情况都可以在方便的通过可视化的方式看到模型的状态。因为目前的模型还没有被调用过,所有它的信息暂时还看不到。但是我们可以对这个模型进行服务调用,调用完之后会有相应的监控指标会出现。

刚刚模型的 creating 现在变成了 waiting,就是整个服务在做拉起的状态。Waiting 之后的状态就会进入 running,可能会有几分钟的时间。目前已经过了两分钟了。以上就是整个部署的过程,包括部署之后可以进行的一些操作。

还可以通过 ESCMD 的方式来进行服务的部署。

大家可以在文档中对应的了解,文档中也都讲解了 ESCMD 如何使用。首先第一步是下载 ESCMD,下载完成之后需要做权限的设置和基本账户的配置。以上东西配置好之后就可以进行命令的使用了。

下面是具体的演示:

在终端就可以通过./escmd 的方式来执行命令行的任务。在执行之前需要做一些准备工作。包括 json 文件的编写,也就是说待会 escmd 这个 comeout 命令就是 create 这个 .json 文件。也就是会根据这个 json 文件进行模型服务的部署。

"name": "heart 0304"

"node l_path“:”oss://eas-model-singpore/1664081855183111/heart-model.pmml”,

"processor":“pmml”,

"metadata":{

"instance"1,

"cpu""2

JSON 文件里面第一个写了 name,name 就是这个模型服务要部署成什么名字,就是在刚刚的页面做的同样的操作。下面还需要写上模型的路径(将文件下载下来之后上传到某一个地方,这个 URL 只要是内部能够访问的 URL,或者是OSS 的 URL 都可以在这里使用。)这是模型路劲。

下面是 process 的类型(这个模型使用什么样的模型加载处理逻辑,会有一些内置的 process,会可以使用自定义的方式对 process 进行定制化一些操作。)这里我们刚好有内置的 process 的名字,刚好叫做 PML。

Metadata 是对模型运行所需要的资源以及实例数进行定义,这里看到 instance(模型下面有多少个子进程)是一个实例,这里我们设置为2个实例。CPU 就 是需要计算的资源,memory 就是按照1:4比例分配的,这里2核的话就是8G.

编写好 json 文件之后,就可以去做执行了。

执行的命令:./escmdmac64(下载好的 cmd 的名字) create 命令 heart.json。点击回车之后就可以看到在做创建了。Servers is now creating(指的就是在创建状态了)这个创建也是需要一定的时间的。

我们可以看到在 CMD 操作的命令会在前端页面同样的展示出来。也就是说通过 CMD 创建的模型服务在前端同样看得到。看到模型0305现在就是在创建中的一个状态了。创建的状态也可以做一些模型的操作。以上就是使用 CMD做基本创建的命令执行。

CMD 还可以做很多其他的操作,除了创建还可以做修改配置:

我们刚刚在前端页面也做了修改配置,使用 CMD 就是把刚刚的 create 换成 modify,将名字写在后面+Dmetadata写好之后就可以做修改配置了。比如原来是2核8G现在想要变成4核16G.我们就可以通过 modify 的命令将 metadata的信息改一下。

还可以做模型的更新服务:

图片41.png

更新成新的模型文件。

还可以做停止 STOP。使用的方式都是大同小异的,都是在终端内使用./EScomeout 执行,之后将后面的命令换一下就好了。STOP、CREAT、modify、DELETE 等操作。

以上就是通过ESCMD来进行模型服务的部署,我们看到现在已经是 running 状态了,也就是刚刚创建的模型已经部署好了。发现前端页面也是同步的,模型服务是运行中的状态。

目前已经通过两种方式:前端页面一键部署、CMD 部署(需要将模型服务下载,并且上传到一个地方将 URL链接填进去)

以上是如何部署和一些操作服务,接下来我们看一些如何做部署好的服务调用。

 

二、部署好之后的调用

图片42.png

上图可以看到一些调用的信息,这是普通的公网调用,下面有访问地址和 token 密钥,密钥可以点击查看或者隐藏。就是通过以上地址定位模型查看以及健全的访问。

调用的两种方式:

点击右上角在线调试

 图片43.png

这里以选好了模型的名字,请求地址,token 都自动调好了。这里只需要填一下 body 的信息,可以在文件内直接复制。链接就是心脏病做预测用的一些信息,比如包括这个人的性别、年龄、肺部的信息最后进行心脏病的预测。就是一些请求的内容。点击运行,就可以看到返回信息,就是判断有没有得心脏病和有没有得心脏病的概率;分别是0.98和0.01。通过这一块就可以做一个调试来看看这个模型运行是否正常,以及构建的请求的 body 是否合理合规。在线调试成功之后可以用正式的方式来做调研。在线调试就相当于前端页面的访问,正式的都是通过代码来调用的。

代码调用有两种方式:

第一种可以使用 ES 官方提供的 SDK 来做调用 python 的 SDK 或者 Java 的 SDK 两 种。下图就是使用 python的SDK来做调用。

图片44.png

另外也可以自己实现调用的逻辑,用 python 语言自行实现调用逻辑。这两种方式都是可以的。用官方的方式(可以做到性能的保障但是没有高的自由度)或者自定义实现的方式(可以实现特定的需求),下图就是自定义的例子:

import requests

url=http://1664081855183111.ap-southeast-1.pai-eas.aliyuncs.com/api/predict/heart_0302'

Headers={"Authorization":"OTJHNZU2MTJiNDLNUc5MWJjMDYOMjUzNGY2MGUyY2M3YjI2ZQNE==")

data = "I("sex":0, " cp":0 "fbs":0, "restecg": 0, "exang":0, "slop":0, "thal':0, "age":0, "trestbps":0, "chol":0, "thalach": 0, "oldpeak":0, "ca":0}

resp- requests.post (url, data =data, headers headers)

print resp

print resp. content

可以看到 import request,url 后面加链接。Header 的信息,data 是输入请求的数据(同在线调试)。下面去做预测。执行预测然后把预测的结果打印出来。

接下来就可以运行这个文件 python heart-custom.py 文件。然后运行,很快会出现 response[200]是正常的。也可以看到预测对应的概率,分别是0.99和0.005。

以上就是通过调用拿到结果的信息。预测之后就会有监控的信息。

图片45.png

图片46.png

可以看到上图的 response、QPS、CPU、memory(看不到可能是因为时长挑的太久了)已经有数据了。上图就是刚刚做的调用所展示出来的数据。如果调用更大的话,这边的监控数据会显示曲线。

以上就是如何通过前端页面或者通过代码的方式来做模型调用的服务。

调用的代码也有两种方式,对应的方式在文档内有详细的讲述如何使用。如何使用普通的方式调用或者使用官方的SDK在文档中看到。

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
5月前
|
JSON 安全 Java
API 一键转换 MCP 服务!Higress 助今日投资快速上线 MCP 市场
今日投资的技术负责人介绍了如何通过Higress MCP 市场完善的解决方案,快捷地将丰富的金融数据 API 转化为 MCP 工具,帮助用户通过 MCP 的方式非常轻松地调用专业金融数据,自由快速地构建自己的金融大模型应用。
761 23
|
6月前
|
数据采集 机器学习/深度学习 搜索推荐
利用通义大模型构建个性化推荐系统——从数据预处理到实时API部署
本文详细介绍了基于通义大模型构建个性化推荐系统的全流程,涵盖数据预处理、模型微调、实时部署及效果优化。通过采用Qwen-72B结合LoRA技术,实现电商场景下CTR提升58%,GMV增长12.7%。文章分析了特征工程、多任务学习和性能调优的关键步骤,并探讨内存优化与蒸馏实践。最后总结了大模型在推荐系统中的适用场景与局限性,提出未来向MoE架构和因果推断方向演进的建议。
1102 11
|
2月前
|
存储 监控 安全
132_API部署:FastAPI与现代安全架构深度解析与LLM服务化最佳实践
在大语言模型(LLM)部署的最后一公里,API接口的设计与安全性直接决定了模型服务的可用性、稳定性与用户信任度。随着2025年LLM应用的爆炸式增长,如何构建高性能、高安全性的REST API成为开发者面临的核心挑战。FastAPI作为Python生态中最受青睐的Web框架之一,凭借其卓越的性能、强大的类型安全支持和完善的文档生成能力,已成为LLM服务化部署的首选方案。
|
6月前
|
缓存 自然语言处理 监控
基于通义大模型的智能客服系统构建实战:从模型微调到API部署
本文详细解析了基于通义大模型的智能客服系统构建全流程,涵盖数据准备、模型微调、性能优化及API部署等关键环节。通过实战案例与代码演示,展示了如何针对客服场景优化训练数据、高效微调大模型、解决部署中的延迟与并发问题,以及构建完整的API服务与监控体系。文章还探讨了性能优化进阶技术,如模型量化压缩和缓存策略,并提供了安全与合规实践建议。最终总结显示,微调后模型意图识别准确率提升14.3%,QPS从12.3提升至86.7,延迟降低74%。
2047 15
|
4月前
|
人工智能 算法 API
国产化用于单导联和六导联的心电算法及API服务
随着智能设备普及,心电图功能逐渐应用于智能手表、体脂仪等设备。苏州唯理推出单导联及6导联心电算法API服务,由AI驱动,1分钟内快速评估心律失常、房颤、早搏等问题,已广泛用于医疗设备及三甲医院。其算法还可评估压力、疲劳、情绪状态,筛查效率远超进口设备。唯理率先实现国产医疗级心电芯片,支持快速集成与私有化部署,适用于多种智能硬件。
|
6月前
|
人工智能 自然语言处理 API
硅基流动入驻阿里云云市场,核心API服务将全面接入阿里云百炼平台💐
2025年6月18日,AI Infra企业硅基流动与阿里云达成战略合作,加入“繁花计划”并入驻云市场。其大模型推理平台SiliconCloud核心API将接入阿里云百炼平台,依托灵骏智能计算集群为客户提供高效服务。作为国内领先的MaaS平台,SiliconCloud已集成百余款开源大模型,服务600万用户及众多企业。双方将在算力协同、行业解决方案等领域深化合作,推动AI生态发展。
830 0
|
8月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
1689 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
572 14
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
543 1
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)

热门文章

最新文章