阿里云人工智能平台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高速直连方式。

相关文章
|
6天前
|
人工智能 定位技术 SEO
我学 GEO 第 15 天:终于知道AI GEO该如何做?
我是暴走的莉莉酱,边旅行边研究AI GEO的数字游民。专注普通人如何提升“AI可见度”——让AI在回答用户问题时准确识别、理解并推荐你。不讲玄学,只做可测、可调、可持续的GEO实践。
421 125
|
8天前
|
机器学习/深度学习 人工智能 调度
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
HappyHorse 1.1 是新一代视频生成大模型,全面升级动态表现力、角色一致性、指令遵循、视觉质感与音画协同能力。支持I2V/T2V/R2V三类生成,适配短剧、电商广告、品牌营销等场景,提供高质、流畅、可控的AI视频生产力。
713 5
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
|
6天前
|
缓存 人工智能 运维
阿里云618百炼大模型Qwen3.7-Max功能、免费试用、订阅计费、配置接入详解
Qwen3.7-MAX是阿里云百炼平台推出的通义千问3.7系列旗舰大语言模型,专为智能体时代复杂任务打造,依托阿里云全域算力与自研技术,在逻辑推理、长文本处理、代码工程、长周期自主执行等领域达到行业顶尖水平。2026年618期间,该模型推出多重免费试用权益、按量计费5折、订阅套餐优惠等专属福利,覆盖个人开发者、团队与企业全场景需求,以下从核心功能、免费试用、订阅计费、配置接入四方面展开详细解析。
416 123
|
4天前
|
人工智能 自然语言处理 API
阿里云Token Plan团队版解析:功能、三档套餐与省钱订阅指南
阿里云百炼平台推出的Token Plan团队版,是面向企业与团队的AI大模型订阅服务,以Credits为统一计量单位,整合文本与图像生成模型,提供团队管理、数据安全、多工具兼容等核心能力,解决团队零散订阅AI服务的管理混乱、成本失控、数据安全等痛点。本文将从核心定位、套餐详情、计费规则、团队管理、工具兼容、便宜订阅技巧等方面,全面解析Token Plan团队版,帮助企业与团队高效、低成本地使用AI服务。
309 108
|
5天前
|
存储 人工智能 数据可视化
别再手动复制 Skill 了:多 Agent 时代的 Skill 管理方案
多 Agent 场景下 Skill 的统一管理与同步。
261 123
|
19天前
|
缓存 测试技术 API
Qwen 3.7 Plus 与 Max 实测:性价比与多模态能力差异解析(2026)
2026 年 6 月 1 日,阿里悄无声息地发布了 Qwen 3.7 Plus,距 Qwen 3.7 Max 上线刚好 11 天。同样的 1M 上下文,同样的 35 小时自治上限。但价格才是头条:Plus 是 0.40/M输入,Max是 2.50/M——便宜约 6 倍——并且还能看图、看视频。Vision Arena 上 Plus 已经排到 #16。所以这周真正值得讨论的问题不是”要不要为视觉能力买单”,而是”Max 凭什么用 6 倍价格换来 2 个百分点的 benchmark 领先”。
|
12天前
|
缓存 人工智能 运维
GLM 5.2自托管全流程实战:硬件选型、vLLM/SGLang部署与成本盈亏测算
2026年智谱发布GLM 5.2超大混合专家模型,区别于以往仅开放API的闭源大模型,该模型权重以MIT开源协议对外发布,企业与开发者可完整下载、本地审计、私有化部署,实现数据不出环境、自定义微调、自主调度推理资源。GLM 5.2拥有753B总参数,原生支持百万级上下文窗口,在代码生成、长文档推理、数学逻辑等多项基准测试中对标国际顶尖商用模型,是首款可完整自托管的前沿代码向大模型。
938 0
|
13天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)