本文介绍如何使用MaxCompute远程模型自动生成电商选品描述。
场景说明
随着电商和直播业务的飞速发展,对电商选品的“拍图-上架”周期要求日益压缩,传统的人工标注方案依赖标注员经验与主观判断,且海量数据处理成本高昂,长期规模化应用面临成本与质量管控的双重挑战。借助AI能力进行多模态数据处理逐渐成为主流趋势。本文通过一个电商场景的图片标签和摘要生成案例,介绍如何通过Object Table访问存储在OSS上的非结构化数据,使用MaxCompute远程模型和AI Function实现非结构化数据的处理。
方案优势
通过MaxCompute Object Table的能力,可以直接访问存储在OSS中的数据,不需要进行复杂的数据迁移。
用户可以直接使用自己在EAS服务中部署的模型,模型服务的资源可被有效利用。
用户无需进行复杂的自定义函数封装,通过MaxCompute AI Function的能力,使用简单的SQL语句就能完成图片数据提取与加工。
环境准备
开通MaxCompute并创建MaxCompute项目。如已完成可跳过此步。
在人工智能平台PAI控制台的模型在线服务(EAS)中完成多模态大语言模型的部署,详情请参见EAS概述。如已完成可跳过此步。
开通OSS服务,并将需要处理的图片存储在OSS中。如已完成可跳过此步。
网络连接:
若使用PAI- EAS的VPC调用地址,需要开通专线网络连接并在AI Function调用时指定配置的网络连接名称,配置流程请参见访问VPC方案(专线直连);
若使用PAI- EAS的公网调用地址,需要在AI Function调用前,将该地址设置为可用的MaxCompute外部网络地址,配置方案见:访问公网方案。
数据准备
将需要处理的电商数据上传图片至OSS,本文示例为50张商品海报图片数据。数据来源于阿里云天池公共数据集:海报设计文本图像数据集。



创建Object Table。
SET odps.namespace.schema=true; -- 开启租户级Schema语法开关。 CREATE OBJECT TABLE IF NOT EXISTS image_demo WITH SERDEPROPERTIES ('odps.properties.rolearn'='acs:ram::1393************:role/aliyunodpsdefaultrole') LOCATION 'oss://oss-cn-shanghai-internal.aliyuncs.com/mllm-demo/jpg-test/'; -- 刷新,即图片元信息缓存在MaxCompute中。 ALTER TABLE image_demo REFRESH METADATA; SELECT COUNT(*) AS ROW_COUNT FROM image_demo; +------------+ | row_count | +------------+ | 50 | +------------+
创建远程模型
在PAI EAS控制台部署Omni多模态模型,获取模型服务的名称、访问Endpoint和对应的Token信息。
在MaxCompute中注册Omni多模态远程模型。
CREATE MODEL PAI_EAS_Qwen25_Omni_3B WITH VERSION v1 OPTIONS( MODEL_SOURCE_TYPE = 'REMOTE', MODEL_TYPE = 'MLLM', TASKS = 'text-generation', PAI_EAS_MODEL_NAME = 'Qwen2.5-Omni-3B', PAI_EAS_SERVICE_NAME = 'demo_remote_model', ENDPOINT = 'http://***********.cn-shanghai.pai-eas.aliyuncs.com', APIKEY = 'your-api-key', PAI_EAS_SYNC_MODE = 'true' ) COMMENT "PAI EAS remote model"; ALTER MODEL PAI_EAS_Qwen25_Omni_3B ADD VERSION v2 INPUT(data BINARY, promt STRING) WITH OPTIONS( MODEL_SOURCE_TYPE = 'REMOTE', MODEL_TYPE = 'MLLM', TASKS = 'text-generation', PAI_EAS_MODEL_NAME = 'Qwen2.5-Omni-3B', PAI_EAS_SERVICE_NAME = 'demo_remote_model', ENDPOINT = 'http://************.cn-shanghai.pai-eas.aliyuncs.com', APIKEY = 'your-api-key', PAI_EAS_SYNC_MODE = 'true' ) COMMENT "PAI EAS remote model binary input";查看远程模型。
desc model PAI_EAS_Qwen25_Omni_3B; ID = 20250909024319251glhmocwqddl +------------------------------------------------------------------------------------+ | Model Information | +------------------------------------------------------------------------------------+ | Owner: ALIYUN$*********************** | | Project: pd_test_model | | Schema: default | | Model Name: PAI_EAS_Qwen25_Omni_3B | | Model Type: MLLM | | Source Type: REMOTE | | Default Version: v1 | | CreateTime: 2025-09-04 10:29:28 | | LastModifiedTime: 2025-09-09 10:43:11 | | Model ID: 46311b6397494a84ad23c5a4******** | | Comment: PAI EAS remote model url input | +------------------------------------------------------------------------------------+ | Version Information | +------------------------------------------------------------------------------------+ | Owner: ALIYUN$*********************** | | Project: pd_test_model | | Schema: default | | Model Name: PAI_EAS_Qwen25_Omni_3B | | Model Type: MLLM | | Source Type: REMOTE | | Version Name: v1 | | Version ID: c389823cd0324b72b1c0d55*********** | | Path: | | CreateTime: 2025-09-04 10:29:28 | | LastModifiedTime: 2025-09-04 10:29:28 | | apikey: Yzc4*******mNzFkMGM********4YzEwZjY1NTA*********NzkyNw== | | endpoint: http://13933481********.cn-shanghai.pai-eas.aliyuncs.com | | pai_eas_model_name: Qwen2.5-Omni-3B | | pai_eas_service_name: demo_eas_model | | pai_eas_sync_mode: true | | remote_service_type: PAI-EAS | +------------------------------------------------------------------------------------+ | Input | Type | Comment | +------------------------------------------------------------------------------------+ +------------------------------------------------------------------------------------+ OK
数据分析
使用MaxCompute AI_GENERATE函数进行图片数据的分类和描述摘要生成:
SET odps.namespace.schema=true;
SELECT
key,
AI_GENERATE(
PAI_EAS_Qwen25_Omni_3B, v1, image_url,
"从电商商品销售海报中识别并提取商品所属的类目。返回结果仅限于如下六个选项之一:美妆、服装、日用、食品、其他、电子产品,不包含其他文字或信息","IMAGE"
) as item_catagory,
AI_GENERATE(
PAI_EAS_Qwen25_Omni_3B, v1, image_url,
"你是一名专业的电商文案编辑, 请根据提供的电商商品销售海报,生成商品描述摘要。
输出要求:1.摘要应准确反映海报中的关键信息,如商品特点、促销信息等; 2.绝对保证语言通顺和可读,不包含任何特殊符号和乱码,长度不超过50字;3.除商品的英文品牌名外,必须使用中文进行表述,严禁夹杂任何英文单词;
示例:纯棉T恤限时优惠,买一送一,活动仅剩3天!","IMAGE"
) as item_description
from (
select GET_SIGNED_URL_FROM_OSS(
'pd_test_model.default.image_demo', key, 604800
) as image_url, key as key
from pd_test_model.default.image_demo
) Limit 10;
-- 如果读BINARY。
SELECT
key,
AI_GENERATE(
PAI_EAS_Qwen25_Omni_3B, v2, image_binary,
"从电商商品销售海报中识别并提取商品所属的类目。返回结果仅限于如下六个选项之一:美妆、服装、日用、食品、其他、电子产品,不包含其他文字或信息"
) AS item_catagory,
AI_GENERATE(
PAI_EAS_Qwen25_Omni_3B, v2, image_binary,
"你是一名专业的电商文案编辑, 请根据提供的电商商品销售海报,生成商品描述摘要。
输出要求:1.摘要应准确反映海报中的关键信息,如商品特点、促销信息等; 2.绝对保证语言通顺和可读,不包含任何特殊符号和乱码,长度不超过50字;3.除商品的英文品牌名外,必须使用中文进行表述,严禁夹杂任何英文单词;
示例:纯棉T恤限时优惠,买一送一,活动仅剩3天!"
) AS item_description
FROM (
SELECT GET_DATA_FROM_OSS(
'pd_test_model.default.image_demo', key
) AS image_binary, key AS key
FROM pd_test_model.default.image_demo
) Limit 10;