阿里云人工智能平台PAI对接完全指南:从入门到生产级集成

简介: 本文是阿里云人工智能平台PAI的完整对接指南,涵盖从开通服务到生产级集成的全链路实践。文章首先介绍PAI的四层产品架构与核心组件,帮助读者建立对平台的整体认知。随后详细讲解账号权限配置,包括RAM用户授权、工作空间创建与角色分配。在开发对接层面,深入剖析PAI Python SDK的安装配置、训练作业提交与模型部署流程,提供完整的PyTorch训练示例代码。针对模型服务调用,分别介绍EAS的HTTP/HTTPS调用、gRPC协议以及Go/Java等多语言SDK的使用方法。文章还覆盖了PAI与OSS、MaxCompute、EMR Spark等阿里云生态产品的集成方案,以及VPC网络直连、签名认证

1. 认识阿里云PAI平台:架构与核心组件

阿里云人工智能平台PAI(Platform for AI)是一站式AI开发平台,覆盖从数据准备、模型训练到服务部署的全链路AI开发流程。PAI采用四层产品架构:基础资源层涵盖CPU、GPU、高速RDMA网络以及容器服务ACK等基础设施;平台工具层提供DSW交互式编程、DLC深度学习训练、EAS模型在线服务等核心子产品;模型服务层支持大模型一键部署与推理加速;最上层是面向行业场景的解决方案。理解这一架构有助于开发者在对接时准确定位所需使用的PAI子产品和服务。

PAI的核心组件包括:DSW(Data Science Workshop)用于交互式模型开发与调试,支持Jupyter Notebook环境;DLC(Deep Learning Containers)提供分布式深度学习训练能力,支持千亿参数模型的高效迭代;EAS(Elastic Algorithm Service)是模型在线推理服务,支持将训练好的模型部署为高可用的RESTful API服务;PAI-QuickStart提供零代码的模型一键部署能力,覆盖LLM、AIGC、CV、NLP等领域的预训练模型。工作空间是PAI的顶层概念,用于统一管理计算资源和人员权限。

需要先登录阿里云控制台,点击:阿里云控制台

2. 对接前的准备工作:账号、权限与工作空间

2.1 开通PAI服务

首次使用PAI需要先开通服务。登录PAI控制台后,在页面左上角选择目标地域,点击开通即可。开通后PAI会自动创建一个默认工作空间,开发者也可以根据需要创建多个工作空间来隔离不同项目或环境的资源。

2.2 获取AccessKey

调用PAI的OpenAPI或使用SDK进行开发时,需要通过AccessKey进行身份认证。AccessKey由AccessKey ID和AccessKey Secret组成。建议通过RAM控制台为开发人员创建独立的RAM用户并生成AccessKey,而不是直接使用主账号的AccessKey。主账号AccessKey拥有所有资源的完全管理权限,一旦泄露将导致严重安全风险。

2.3 创建与管理工作空间

工作空间是PAI进行资源管理和权限隔离的核心单元。创建新工作空间时,需要配置工作空间名称、所属阿里云资源组等信息。创建成功后,可以在工作空间详情页配置成员、角色、默认存储OSS Bucket以及关联的计算资源。PAI工作空间与DataWorks工作空间互通,在PAI创建的工作空间也会出现在DataWorks的工作空间列表中。

2.4 RAM权限配置

使用PAI涉及两方面的授权:RAM用户授权(开通和使用云产品)以及服务授权(PAI访问其他阿里云服务)。PAI提供了通过工作空间管理权限的能力,可以根据需要将RAM用户添加为工作空间的成员,并授予资源管理员、工作空间管理员、算法开发、算法运维等不同角色。各角色的权限范围不同,例如算法开发角色可以进行模型训练和部署,而访客角色仅具有只读权限。

对于EAS服务,PAI提供了产品系统策略:AliyunPAIEASFullAccess(管理权限)和AliyunPAIEASReadOnlyAccess(只读权限)。如果使用iTAG进行数据标注,还需要进一步设置iTAG的人员分配权限。使用PAI还会涉及OSS、MaxCompute、NAS、VPC等依赖云产品,需要为RAM用户授予相应产品的访问权限。

3. PAI Python SDK:安装、配置与凭据管理

3.1 安装SDK

PAI Python SDK是进行PAI平台开发对接的最主要工具,提供了HighLevel API,支持在PAI完成模型的训练、部署和推理服务调用。安装PAI Python SDK需要Python 3.7及以上版本。执行以下命令安装:

python -m pip install "alipai>=0.4.0"

如果在安装过程中出现ModuleNotFoundError类型的错误,可以先执行 pip install --upgrade pip 升级pip后再尝试安装。

3.2 配置SDK

SDK安装完成后,需要进行初始化配置,包括AccessKey、默认工作空间和OSS Bucket。PAI SDK提供了便捷的命令行配置工具:

python -m pai.toolkit.config

按照引导逐步输入AccessKey ID、AccessKey Secret、默认地域、工作空间ID和OSS Bucket名称即可完成配置。配置信息会保存在本地文件中,后续SDK会自动读取。

3.3 凭据链与安全最佳实践

PAI Python SDK默认使用凭据链获取访问凭证,依次从环境变量、本地配置文件、ECS RAM角色等方式获取。在生产环境中,推荐使用ECS实例RAM角色或配置环境变量来管理AccessKey,避免将AccessKey硬编码在代码中。通过RAM策略实施最小权限原则(PoLP),仅授予RAM用户完成特定任务所需的最小权限集合。

4. 使用PAI Python SDK提交训练作业

4.1 准备训练数据

PAI的训练作业从OSS读取输入数据,因此需要先将训练数据集上传到OSS Bucket中。以下示例使用MNIST手写数字数据集训练一个图像分类模型。首先下载数据集到本地:

#!/bin/sh
set -e
url_prefix="https://ossci-datasets.s3.amazonaws.com/mnist/"
mkdir -p data/MNIST/raw/
wget -nv ${url_prefix}train-images-idx3-ubyte.gz -P data/MNIST/raw/
wget -nv ${url_prefix}train-labels-idx1-ubyte.gz -P data/MNIST/raw/
wget -nv ${url_prefix}t10k-images-idx3-ubyte.gz -P data/MNIST/raw/
wget -nv ${url_prefix}t10k-labels-idx1-ubyte.gz -P data/MNIST/raw/

然后使用PAI SDK提供的上传工具将数据上传到OSS:

from pai.common.oss_utils import upload
from pai.session import get_default_session
sess = get_default_session()
data_uri = upload("./data/", oss_path="mnist/data/", bucket=sess.oss_bucket)
print(data_uri)

4.2 编写训练脚本

训练脚本需要适配PAI的执行环境。PAI会在训练作业运行时自动挂载输入数据和输出目录。开发者可以基于PyTorch官方示例库中的MNIST训练脚本进行修改。训练脚本需要从指定路径读取数据,并将训练好的模型输出到指定目录。

4.3 使用Estimator API提交训练作业

PAI Python SDK提供了Estimator API用于提交训练作业。通过Estimator可以指定训练镜像、资源规格、输入数据路径和输出模型路径等参数。提交作业后,PAI会自动调度计算资源执行训练,并在完成后将模型保存到指定位置。

5. 模型部署:将训练好的模型发布为EAS在线服务

5.1 部署方式概述

PAI提供了两种主要的模型部署方式:使用预置Processor部署和使用自定义镜像部署。Processor是PAI对推理服务程序包的抽象,能够基于用户提供的模型直接构建推理服务。PAI预置了支持TensorFlow SavedModel、PyTorch TorchScript、XGBoost、LightGBM和PMML等常见模型格式的Processor。

5.2 使用Processor部署模型

以下示例展示如何使用预置的PyTorch Processor部署模型:

from pai.model import InferenceSpec, Model
# 使用预置的PyTorch Processor
inference_spec = InferenceSpec(processor="pytorch_cpu_1.10")
# 构建Model对象
model = Model(
    model_data="oss://<YourBucket>/path-to-model-data",
    inference_spec=inference_spec,
)
# 部署到EAS
predictor = model.deploy(
    service_name="my_pytorch_service",
    instance_type="ecs.c6.xlarge",
)

5.3 使用自定义镜像部署

对于更复杂的推理场景,可以使用自定义镜像部署。PAI提供了多种常用架构的推理镜像,包括TensorFlow、PyTorch和XGBoost等。开发者也可以基于PAI的基础镜像构建自己的推理镜像:

from pai.model import InferenceSpec, Model, container_serving_spec
from pai.image import retrieve, ImageScope
# 使用PAI提供的PyTorch推理镜像
torch_image = retrieve("PyTorch", framework_version="latest", image_scope=ImageScope.INFERENCE)
# 配置推理规格
inference_spec = container_serving_spec(
    command="python app.py",
    source_dir="./src/",
    image_uri=torch_image.image_uri,
)
model = Model(model_data="oss://<YourBucket>/path-to-model-data", inference_spec=inference_spec)
predictor = model.deploy(service_name="example_torch_service", instance_type="ecs.c6.xlarge")

5.4 大语言模型的一键部署

PAI-QuickStart支持大语言模型的零代码一键部署。在PAI控制台的EAS推理服务页面,单击部署服务,在场景化模型部署区域选择LLM大语言模型部署。可以选择公共模型(如Qwen3-0.6B)一键部署,推理引擎推荐使用SGLang或vLLM,这两个引擎高度兼容OpenAI API标准。部署完成后服务状态变为运行中即表示部署成功。

6. 调用EAS推理服务:多种协议与多语言SDK

6.1 获取服务调用信息

服务部署成功后,需要获取服务的调用地址和Token。在PAI控制台的推理服务页面,单击服务名称进入概览页面,在基本信息区域单击查看调用信息。在弹出的调用信息对话框中,共享网关页签下展示公网调用地址、VPC调用地址和Token三个字段。也可以切换到VPC高速直连页签查看对应的直连地址信息。

6.2 HTTP/HTTPS调用

获取到服务地址和Token后,可以通过HTTP/HTTPS协议直接调用推理服务。对于使用vLLM或SGLang引擎部署的大模型服务,接口兼容OpenAI API格式,可以使用标准的HTTP请求进行调用。调用时需要在请求头中携带Token进行身份认证。

6.3 gRPC协议调用

EAS服务也支持通过gRPC协议进行调用,适用于需要高性能、低延迟的场景。通过网关调用gRPC服务时,端口固定为80。从控制台获取服务地址后,提取域名部分并追加端口号:80即可。

6.4 Go语言SDK调用

PAI提供了Go语言SDK用于连接EAS服务。以下示例展示如何使用Go SDK调用推理服务:

package main
import (
    "fmt"
    "github.com/pai-eas/eas-golang-sdk/eas"
)
func main() {
    // NewPredictClient(调用地址, 服务名称)
    client := eas.NewPredictClient("1730760139076263.cn-shanghai.pai-eas.aliyuncs.com", "my_service")
    client.SetRequestPath("/api/predict")
    client.SetToken("your-token-here")
    
    err := client.Init()
    if err != nil {
        fmt.Println(err)
        return
    }
    
    req := "{\"input\": \"hello world\"}"
    resp, err := client.StringPredict(req)
    if err != nil {
        fmt.Printf("failed to predict: %v \n", err)
    } else {
        fmt.Println(resp)
    }
}

6.5 Java语言SDK调用

PAI同样提供了Java SDK。需要在Maven项目的pom.xml中添加eas-sdk依赖。Java SDK的使用方式与Go SDK类似,通过PredictClient对象设置服务地址、Token和请求路径后发起调用。

6.6 VPC网络直连调用

对于大流量高并发的生产场景,推荐使用VPC网络直连方式调用服务。网络直连方式仅支持部署在EAS公共云控制台中购买专用资源组的服务,且需要在控制台上为该资源组与用户指定的vSwitch打通网络。调用时只需在Go SDK中增加一行 client.SetEndpointType(eas.EndpointTypeDirect) 即可启用直连模式。直连方式可以显著降低网络延迟,提升吞吐量。

7. PAI与阿里云生态产品的集成对接

7.1 PAI与OSS的集成

OSS是PAI最主要的存储依赖,几乎所有PAI子产品都依赖OSS进行数据存储。训练数据存储在OSS中供DLC训练作业读取;训练完成的模型也保存在OSS中供EAS部署使用;DSW笔记本中的数据也通常挂载OSS存储。在配置PAI SDK时就需要指定默认的OSS Bucket。

7.2 PAI与MaxCompute的集成

PAI Designer可视化建模平台依赖MaxCompute作为数据计算引擎。通过Designer可以拖拽式构建机器学习工作流,底层由MaxCompute执行数据处理和模型训练任务。AutoML自动机器学习功能也依赖MaxCompute进行大规模并行超参数搜索。

7.3 PAI与EMR Serverless Spark的集成

EMR Serverless Spark提供了统一的外部模型服务注册能力,支持对接PAI-EAS部署的模型服务。通过SQL中的ai_query()函数即可调用PAI-EAS上的模型进行批量推理。集成流程包括三个步骤:在PAI-EAS中部署并发布服务、获取服务的VPC地址和Token、在EMR Serverless Spark中注册外部模型服务。注册时需要填写模型服务名称和Endpoint地址(VPC调用地址末尾添加/v1)。注册完成后,就可以在Spark SQL中直接调用PAI-EAS上的模型进行批量情感分析、内容生成、智能标签提取等任务。

7.4 PAI与LangStudio的集成

LangStudio是PAI的大模型应用开发平台,支持创建连接来对接已部署的EAS模型服务。在LangStudio中新建连接时选择PAI-EAS模型服务类型,base_url和api_key会自动填充,分别对应已部署服务的VPC访问地址和Token。这使得开发者可以在LangStudio中便捷地搭建基于大模型的Agent应用。

8. 高级配置与生产级实践

8.1 OpenAPI签名机制

PAI的OpenAPI采用ROA签名机制。对于需要直接调用OpenAPI的场景,开发者需要按照阿里云统一的签名规范对请求进行签名。不过阿里云已经为开发者封装了主流编程语言的SDK,通过SDK调用API无需关注签名等底层实现细节。只有在业务场景有特殊需求需要自签名对接时,才需要自行实现签名逻辑。

8.2 网络与安全配置

在生产环境中,建议将EAS服务部署在VPC内网中,通过VPC网络直连方式进行调用,避免公网暴露。对于需要公网访问的场景,可以配置API网关进行安全的流量管理。PAI还支持通过KMS进行模型加密存储,满足金融、医疗等行业的数据安全要求。审计日志功能可以追踪每个推理请求的处理路径。

8.3 监控与告警

EAS服务集成了SLS日志服务和云监控服务。开发者可以通过云监控配置EAS服务的告警规则,例如服务响应时间、请求成功率、GPU利用率等指标的告警。SLS日志服务可以收集EAS的访问日志和推理日志,便于问题排查和数据分析。

8.4 成本优化建议

使用PAI进行模型训练和部署时,可以通过以下方式优化成本:训练作业使用Spot实例(抢占式实例)可以大幅降低计算成本;部署服务时根据实际流量选择合适的实例规格,避免资源浪费;利用PAI的模型压缩工具将推理延迟压缩至100ms以内,在保证性能的同时降低资源消耗;对于非实时推理场景,可以使用异步推理模式,按需弹性扩缩容。

9. 常见问题解答

问题1:PAI Python SDK安装后配置时提示无法找到工作空间怎么办?

答:请确认已经在PAI控制台创建了工作空间。配置时输入的工作空间ID需要与PAI控制台中的工作空间ID完全一致。如果使用默认工作空间,PAI开通时会自动创建。也可以在PAI控制台的工作空间列表页面查看所有工作空间的ID。

问题2:EAS服务部署成功后调用返回401未授权错误是什么原因?

答:401错误通常表示Token无效或已过期。请检查调用时是否在请求头中正确携带了Token。Token可以从PAI控制台EAS服务的调用信息中获取。如果Token正确但仍然返回401,请确认Token是否已过期,可以重新生成Token后重试。

问题3:PAI训练作业提交后一直处于等待状态怎么办?

答:训练作业等待通常是因为计算资源不足。请检查当前工作空间中是否有足够的计算配额。可以在PAI控制台的资源配额页面查看和申请更多资源。另外,如果使用了Spot实例,在资源紧张时可能需要更长时间才能调度到资源。

问题4:如何实现PAI-EAS服务的版本更新而不中断服务?

答:EAS支持蓝绿部署和金丝雀发布两种灰度发布策略。可以在PAI控制台创建新版本的服务,然后通过流量权重配置逐步将流量切换到新版本。也可以在部署新服务时使用相同的服务名称,EAS会自动进行滚动更新,确保服务不中断。

问题5:RAM用户被授予AliyunPAIFullAccess后仍然无法访问某些PAI功能怎么办?

答:AliyunPAIFullAccess是PAI的产品系统策略,但某些PAI子产品(如EAS、DSW)可能还需要额外授权。此外,PAI依赖的云产品(如OSS、MaxCompute)也需要单独授权。建议检查RAM用户是否被添加为工作空间的成员并分配了正确的角色。工作空间成员的角色权限会覆盖部分产品系统策略的权限范围。

问题6:PAI-EAS服务如何通过公网调用?

答:从PAI控制台EAS服务的调用信息中可以获取公网调用地址和Token。使用公网地址调用时需要在请求头中携带Token进行身份认证。需要注意的是,公网调用会产生外网流量费用,且存在一定的网络延迟。对于生产环境的高并发场景,建议使用VPC内网调用或VPC高速直连方式。

相关文章
|
8天前
|
缓存 小程序 前端开发
互联网医院系统源码:HIS接口对接流程与数据同步方案
互联网医院系统开发的关键难点在于与医院HIS系统的对接:需通过接口适配层统一数据标准,按业务特性选择实时调用或定时同步策略,并建立完善的接口治理机制(如幂等控制、TraceId追踪、版本管理),以保障数据一致性、系统稳定性与后续扩展性。
阿里云短信服务平台价格表
阿里云短信服务平台价格表,阿里云短信服务价格表,阿里云短信0.032元一条,阿里云短信价格?阿里云短信怎么收费?阿里云短信多少钱一条,阿里云短信价格0.032元一条
|
4月前
|
存储 弹性计算 网络协议
2026年阿里云服务器ECS购买自定义购买全攻略:从入门到精通
本文为2026阿里云ECS自定义购买全指南,涵盖核心价值、完整流程、配置详解(付费类型、地域网络、实例规格、存储、带宽安全组等)、后续部署及高频FAQ,助用户灵活定制、安全高效上云。
|
4月前
|
域名解析 前端开发 数据可视化
如何创建一个网站?初学者的分步指南
本指南将网站创建分为五个核心阶段:规划准备、域名服务器选择、建站方式确定、内容填充以及测试发布。即使零基础,也能按步骤搭建个人博客、企业官网或电商网站,并持续运营维护。
1709 9
|
7月前
|
弹性计算 网络协议
阿里云99元服务器——有问必答,你想知道的问题都在这!
阿里云99元服务器来了!ECS经济型e实例,2核2G、3M固定带宽、40G云盘,新老用户同享,续费仅99元/年,不限流量,独立IP,性能稳定。适用于建站、开发、测试等场景,活动持续至2027年
882 1
|
4月前
|
安全 关系型数据库 MySQL
阿里云云数据库RDS功能、优势、应用场景及收费标准与最新活动参考
阿里云的云数据库RDS是一款安全稳定、便捷易用、可弹性伸缩的关系型数据库服务,支持MySQL、SQL Server、PostgreSQL和MariaDB等主流数据库引擎。它提供高可用架构、自动化运维、安全防护及弹性扩展等核心功能,满足企业不同业务场景需求,如高可用与容灾、读写分离与负载均衡、安全与合规等。此外,阿里云还提供多款特惠云数据库产品及云服务器优惠活动,助力企业轻松上云,实现数据高效管理与业务创新提速。
|
6月前
|
弹性计算
阿里云账号注册、实名认证及免费云产品申请流程
阿里云账号注册、实名认证及免费云产品申请流程 1. 打开阿里云官网。 2. 点击网页右上角的“注册”按钮。 3. 注册方式支持手机短信验证码注册、支付宝注册、淘宝注册和钉钉注册四种。 4. 若选择手机号注册,需输入手机号并点击“获取验证码”,随后将手机收到的6位数字验证码输入,即可完成注册。
1157 6
|
7月前
|
开发框架 Cloud Native JavaScript
阿里云轻量应用服务器:值得买的云服务器推荐
阿里云轻量应用服务器全新升级,200Mbps峰值带宽、不限流量,支持多公网IP与丰富应用镜像,如WordPress、宝塔等,一键部署。适用于建站、跨境电商、游戏加速等场景,性价比高,68元起/年,限时抢购低至38元,中小企业和开发者首选。
644 12
|
11月前
|
存储 新零售 安全
阿里云盘企业版收费标准、功能支持、存储配置及用户数全解析
阿里云盘企业版提供高性价比存储方案,500GB仅需169元/年,支持协同办公、权限管理、智能文件管理、多重安全防护及卓越性能,适用于多行业企业高效办公。
1562 0