阿里云PAI Studio Python脚本组件使用Quick Start

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
对象存储 OSS,20GB 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: PAI-Studio提供自定义Python脚本的功能,您可以使用该组件运行自定义的Python函数,并且支持自定义安装依赖包。本文为您介绍该组件的配置详情,包括自定义输入输出桩数量、脚本设置及执行配置。本文通过使用Python脚本读取ODPS上游表,演示Python脚本组件的使用。

Step By Step

1、界面组件拖拽与配置
2、Python 组件相关配置
3、运行测试
4、日志查看


一、界面组件拖拽与配置

图片.png

  • 1.2 分别拖拽读数据表组件和Python脚本组件到画布

图片.png

二、组件相关配置

图片.png

脚本:
CREATE TABLE `lm_test_input_1` (
    `value` bigint,
    `output1` bigint
);

INSERT into table lm_test_input_1 values (1,2);

INSERT into table lm_test_input_1 values (2,4);

SELECT * FROM lm_test_input_1;
  • 2.2 配置读数据表组件

图片.png

  • 2.3 配置Python脚本组件

图片.png

main.py

from odps import ODPS
from pai_running.context import Context

context = Context()

# 获取组件第一个输入端口输入数据
input_port = context.input_artifacts.flatten()[0]
print("---input_port---",input_port)
print("---日志输出测试:---")

o = ODPS(
    access_id=context.access_key_id,
    secret_access_key=context.access_key_secret,
    endpoint=input_port.endpoint,
    project=input_port.project,
)

# 获取从上游输入的表名
input_table_name = input_port.table
print("---input_table_name---",input_table_name)
# 组件准备输出的表
output_table_name = "demo_output_table"

o.execute_sql(
    f"drop table if exists {output_table_name};",
)

# 获取输入表的age列,导出到一张新表中
o.execute_sql(
    f"create table {output_table_name} as select value from {input_table_name};"
)

# 通过以下调用,告知Workflow框架,当前组件输出了一张ODPS表
output_port = context.output_artifacts.flatten()[0]
output_port.write_table(
    table="demo_output_table",
    project=o.project,
    endpoint=o.endpoint,
)
执行配置脚本
{
    "_comments": [
        "Python 组件将用户代码运行在公共资源组的 DLC 集群 (https://help.aliyun.com/document_detail/202277.html)",
        "并且支持数据加载/保存本地文件系统,用户可以通过读写本地文件的方式,读写上下游的输入输出数据。",
        "目前运行的任务通过一个 JSON 文件进行配置,从功能角度,配置项主要包括两部分内容",
        "1. 数据载入/保存配置",
        "1.1. inputDataTunnel: 每一项对应组件的一个输入端口, 将上游节点的输入数据(MaxComputeTable, OSS) 加载到本地目录中;",
        "1.2. outputDataTunnel: 每一项对应组件的一个输出端口,指定将哪些本地文件上传保存到 OSS 中;",
        "1.3. uploadConfig: 数据上传的OSS配置, 包括上传的OSS bucket 名称, endpoint,以及上传到OSS的根路径 path;",
        "2. 运行负载配置(jobConfig),包含运行在 ServerLess DLC 的具体运行配置;",
        "注意: 以下的配置项是一个样例说明,请根据实际组件运行的场景修改使用。",
        "注意: 用户的代码执行的日志输出,可以通过点击组件输出的 DLC 的任务URL,去DLC的控制台查看"
    ],
    "inputDataTunnel": [
    ],
    "outputDataTunnel": [
    ],
    "uploadConfig": {
        "endpoint": "oss-<oss bucket region>.aliyuncs.com",
        "bucket": "<oss bucket name>",
        "path": "python_example/",
        "_comments": [
            "数据上传配置项, 目前数据上传功能只支持上传到 OSS。",
            "如果单独的 outputDataTunnel 中没有数据上传配置(没有.uploadConfig 字段),则会使用全局的uploadDataTunnelConfig配置",
            "note:每一个DataTunnel 指定的文件/目录,最终的上传的路径为 uploadConfig.path/{run_id}/{node_id}/{output_tunnel_name}/"
        ]
    },
    "jobConfig": {
        "name": "example1",
        "jobType": "generalJob",
        "taskSpec": {
            "instanceType": "ecs.c6.large",
            "imageUri": "registry.cn-hangzhou.aliyuncs.com/paiflow-public/python3:v1.0.0"
        },
        "_comments": [
            "DLC的任务配置项,包括",
            "name: 运行在 DLC 的任务名称前缀",
            "jobType: 任务类型,目前默认为GeneralJob,无需修改,表示是一个单节点任务(后续会支持多节点的分布式任务)",
            "taskSpec: 任务worker节点配置,其中 .instanceType 表示worker使用的 ECS 实例类型; .imageUri 是worker使用的镜像",
            "目前worker 支持使用官方镜像 (https://help.aliyun.com/document_detail/202834.htm) ,以及自定义镜像, 如果使用自定义镜像,请确保镜像能够支持公开访问。"
        ]
    }
}
三、运行测试

图片.png

图片.png

四、日志查看

图片.png

由于Python脚本需要依赖于PAI-DLC作为底层计算引擎,实际是在DLC集群创建docker运行的,所以查看Python脚本的详细日志需要到DLC控制台查看。

图片.png

图片.png

更多参考

Python脚本

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
4月前
|
PyTorch 调度 算法框架/工具
阿里云PAI-DLC任务Pytorch launch_agent Socket Timeout问题源码分析
DLC任务Pytorch launch_agent Socket Timeout问题源码分析与解决方案
224 18
阿里云PAI-DLC任务Pytorch launch_agent Socket Timeout问题源码分析
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
阿里云人工智能平台 PAI 开源 EasyDistill 框架助力大语言模型轻松瘦身
本文介绍了阿里云人工智能平台 PAI 推出的开源工具包 EasyDistill。随着大语言模型的复杂性和规模增长,它们面临计算需求和训练成本的障碍。知识蒸馏旨在不显著降低性能的前提下,将大模型转化为更小、更高效的版本以降低训练和推理成本。EasyDistill 框架简化了知识蒸馏过程,其具备多种功能模块,包括数据合成、基础和进阶蒸馏训练。通过数据合成,丰富训练集的多样性;基础和进阶蒸馏训练则涵盖黑盒和白盒知识转移策略、强化学习及偏好优化,从而提升小模型的性能。
|
4月前
|
缓存 并行计算 测试技术
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
1075 12
|
5月前
|
人工智能 自然语言处理 运维
Qwen3 全尺寸模型支持通过阿里云PAI-ModelGallery 一键部署
Qwen3 是 Qwen 系列最新一代的大语言模型,提供了一系列密集(Dense)和混合专家(MOE)模型。目前,PAI 已经支持 Qwen3 全系列模型一键部署,用户可以通过 PAI-Model Gallery 快速开箱!
|
6月前
|
存储 人工智能 云栖大会
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署通义千问 QwQ-32B 模型,阿里云 PAI 最佳实践
3月6日阿里云发布并开源了全新推理模型通义千问 QwQ-32B,在一系列权威基准测试中,千问QwQ-32B模型表现异常出色,几乎完全超越了OpenAI-o1-mini,性能比肩Deepseek-R1,且部署成本大幅降低。并集成了与智能体 Agent 相关的能力,够在使用工具的同时进行批判性思考,并根据环境反馈调整推理过程。阿里云人工智能平台 PAI-Model Gallery 现已经支持一键部署 QwQ-32B,本实践带您部署体验专属 QwQ-32B模型服务。
|
7月前
|
人工智能 自然语言处理 网络安全
基于阿里云 Milvus + DeepSeek + PAI LangStudio 的低成本高精度 RAG 实战
阿里云向量检索服务Milvus版是一款全托管向量检索引擎,并确保与开源Milvus的完全兼容性,支持无缝迁移。它在开源版本的基础上增强了可扩展性,能提供大规模AI向量数据的相似性检索服务。凭借其开箱即用的特性、灵活的扩展能力和全链路监控告警,Milvus云服务成为多样化AI应用场景的理想选择,包括多模态搜索、检索增强生成(RAG)、搜索推荐、内容风险识别等。您还可以利用开源的Attu工具进行可视化操作,进一步促进应用的快速开发和部署。
|
7月前
|
机器学习/深度学习 人工智能 开发者
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
380 7
|
7月前
|
人工智能 监控 开发者
阿里云PAI发布DeepRec Extension,打造稳定高效的分布式训练,并宣布开源!
阿里云PAI发布DeepRec Extension,打造稳定高效的分布式训练,并宣布开源!
143 0
|
7月前
|
人工智能 自然语言处理 安全
基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统
基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统
145 0

推荐镜像

更多