このトピックでは、MaxCompute リモートモデルを使用して E コマースの商品説明を自動生成する方法について説明します。
シナリオ
E コマースおよびライブストリーミングビジネスの急速な成長により、商品の撮影から出品までのサイクルが短縮されています。従来の手動アノテーションメソッドは、アノテーターの経験と主観的な判断に依存します。これらのメソッドは、大量のデータを処理するのにコストがかかり、長期的かつ大規模なアプリケーションではコストと品質の管理に課題が生じます。AI を使用してマルチモーダルデータを処理することが、ますますトレンドになっています。このトピックでは、E コマースシナリオの画像タグと要約を生成するケーススタディを紹介します。このケーススタディでは、オブジェクトテーブルを使用して Object Storage Service (OSS) に保存されている非構造化データにアクセスし、MaxCompute リモートモデルと AI 関数を使用してデータを処理する方法を説明します。
メリット
MaxCompute オブジェクトテーブルを使用して OSS に保存されているデータに直接アクセスできるため、複雑なデータ移行が不要になります。
Elastic Algorithm Service (EAS) にデプロイしたモデルを直接使用して、モデルサービスリソースを効率的に活用できます。
MaxCompute AI 関数を使用して、単純な SQL 文で画像データを抽出および処理できます。これにより、複雑なユーザー定義関数 (UDF) のカプセル化が不要になります。
前提条件
MaxCompute と DataWorks が有効化され、MaxCompute プロジェクトが作成されていること。詳細については、「MaxCompute と DataWorks の有効化」および「MaxCompute プロジェクトの作成」をご参照ください。
Platform for AI (PAI) コンソールで、マルチモーダル大規模言語モデル (LLM) が EAS にデプロイされていること。詳細については、「EAS の概要」をご参照ください。
OSS が有効化され、処理対象の画像が OSS に保存されていること。詳細については、「OSS の有効化」をご参照ください。
ご利用の MaxCompute プロジェクトで、EAS パブリックエンドポイントが利用可能な外部ネットワークアドレスとして設定されていること。詳細については、「プロジェクト管理による外部ネットワークアドレスの編集」をご参照ください。
データの準備
処理対象の E コマース画像データを OSS にアップロードします。この例では、Alibaba Cloud 天池の公開データセットである ポスターデザインテキスト・画像データセット から 50 枚の商品ポスター画像を使用します。
オブジェクトテーブルを作成します。
SET odps.namespace.schema=true; -- テナントレベルのスキーマ構文を有効にします。 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 マルチモーダルモデルをデプロイします。モデルサービス名、アクセスエンドポイント、トークンを取得します。
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 リモートモデル"; 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 リモートモデルバイナリ入力";リモートモデルを表示します。
desc model PAI_EAS_Qwen25_Omni_3B; ID = 20250909024319251glhmocwqddl +------------------------------------------------------------------------------------+ | モデル情報 | +------------------------------------------------------------------------------------+ | 所有者: ALIYUN$*********************** | | プロジェクト: pd_test_model | | スキーマ: default | | モデル名: PAI_EAS_Qwen25_Omni_3B | | モデルタイプ: MLLM | | ソースタイプ: REMOTE | | デフォルトバージョン: v1 | | 作成時間: 2025-09-04 10:29:28 | | 最終変更日時: 2025-09-09 10:43:11 | | モデル ID: 46311b6397494a84ad23c5a4******** | | コメント: PAI EAS リモートモデル URL 入力 | +------------------------------------------------------------------------------------+ | バージョン情報 | +------------------------------------------------------------------------------------+ | 所有者: ALIYUN$*********************** | | プロジェクト: pd_test_model | | スキーマ: default | | モデル名: PAI_EAS_Qwen25_Omni_3B | | モデルタイプ: MLLM | | ソースタイプ: REMOTE | | バージョン名: v1 | | バージョン ID: c389823cd0324b72b1c0d55*********** | | パス: | | 作成時間: 2025-09-04 10:29:28 | | 最終変更日時: 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 | +------------------------------------------------------------------------------------+ | 入力 | タイプ | コメント | +------------------------------------------------------------------------------------+ +------------------------------------------------------------------------------------+ OK
データの分析
MaxCompute の AI_GENERATE 関数を使用して、画像を分類し、説明概要を生成します。
SET odps.namespace.schema=true;
SELECT
key,
AI_GENERATE(
PAI_EAS_Qwen25_Omni_3B, v1, image_url,
"E コマースの商品販売ポスターから商品カテゴリを認識して抽出してください。結果は、化粧品、アパレル、日用品、食品、その他、電子機器の 6 つのオプションのいずれかである必要があります。他のテキストや情報を含めないでください。"
) as item_catagory,
AI_GENERATE(
PAI_EAS_Qwen25_Omni_3B, v1, image_url,
"あなたはプロの E コマースコピーライターです。提供された E コマースの商品販売ポスターに基づいて、商品説明の要約を生成してください。出力要件:1. 要約は、製品の特徴やプロモーションの詳細など、ポスターの主要な情報を正確に反映する必要があります。2. 言語は流暢で読みやすく、特殊記号や文字化けがなく、50 文字以内である必要があります。3. 英語のブランド名を除き、説明は中国語である必要があります。他の英単語は含めないでください。例:純綿 T シャツの期間限定セール、1 点購入で 1 点プレゼント、イベント終了まであと 3 日!"
) 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;
ID = 2025090909524183gsu********
Log view:
https://logview.alibaba-inc.com/logview/?h=http://server-ip:8008/daily&p=pd_test_model&i=2025********4183gsuq57sqddl&token=********
----------------------------------------------------------------------------------------------
STAGES STATUS TOTAL COMPLETED RUNNING PENDING BACKUP
M1_job_0 ................. TERMINATED 1 1 0 0 0
----------------------------------------------------------------------------------------------
STAGES: 01/01 [==========================>>] 100% ELAPSED TIME: 11.65 s
----------------------------------------------------------------------------------------------
+--------------------+-------------------+---------------------------------------------------------------------------------------------------------------------------------+
| key | item_catagory | item_description |
+--------------------+-------------------+---------------------------------------------------------------------------------------------------------------------------------+
| alimamazszw-1.jpg | Food | Limited-time offer on steakhouse beef. Place an order to receive a gift. Served with fresh basil. A delicious experience not to be missed. |
| alimamazszw-10.jpg | Electronics | New-feature fan on limited-time sale. Lowest price ever. Come and buy now! |
| alimamazszw-11.jpg | Electronics | Cool helmets for sale online with MIPS protection technology. Get an instant discount of CNY 270, bringing the price to CNY 729. Limited-time event. Don't miss out! |
| alimamazszw-12.jpg | Cosmetics | misspiggy "Ultra-fine Silky" eyeliner gel pencil. Soft, smooth, and long-lasting without smudging. Buy two and get CNY 10 off. Limited-time offer. Act now. |
| alimamazszw-13.jpg | Electronics | Special sale on IX35 wipers. Today's special offer. Buy now. |
| alimamazszw-14.jpg | Daily Necessities | Biological tissue glue from Beijing Yoshida Biological Protection Technology Co., Ltd. Can seal wounds. For animal experiments only. Valid for 1 year. |
| alimamazszw-15.jpg | Cosmetics | BodyAid hair growth serum. Awakens hair follicles, nurtures the scalp, and promotes new growth. |
| alimamazszw-16.jpg | Cosmetics | Limited-time offer on 3CE vitality blush. Buy one, get one free. Endless surprises on carnival day. |
| alimamazszw-17.jpg | Cosmetics | La Mer HR skin cream in black and white packaging. Six-piece set with six great gifts. Order now and get gifts worth CNY 2340. SF Express delivery. Limited-time offer. Limited quantity. |
| alimamazszw-18.jpg | Daily Necessities | Listerine mouthwash in various flavors on sale. A CNY 30 coupon is available. Limited quantity. Buy now! |
+--------------------+-------------------+---------------------------------------------------------------------------------------------------------------------------------+
-- バイナリデータを読み取る場合。
SELECT
key,
AI_GENERATE(
PAI_EAS_Qwen25_Omni_3B, v2, image_binary,
"E コマースの商品販売ポスターから商品カテゴリを認識して抽出してください。結果は、化粧品、アパレル、日用品、食品、その他、電子機器の 6 つのオプションのいずれかである必要があります。他のテキストや情報を含めないでください。"
) as item_catagory,
AI_GENERATE(
PAI_EAS_Qwen25_Omni_3B, v2, image_binary,
"あなたはプロの E コマースコピーライターです。提供された E コマースの商品販売ポスターに基づいて、商品説明の要約を生成してください。出力要件:1. 要約は、製品の特徴やプロモーションの詳細など、ポスターの主要な情報を正確に反映する必要があります。2. 言語は流暢で読みやすく、特殊記号や文字化けがなく、50 文字以内である必要があります。3. 英語のブランド名を除き、説明は中国語である必要があります。他の英単語は含めないでください。例:純綿 T シャツの期間限定セール、1 点購入で 1 点プレゼント、イベント終了まであと 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;