全部產品
Search
文件中心

MaxCompute:AI_GENERATE

更新時間:Jul 25, 2026

AI_GENERATE是MaxCompute提供的AI Function,用於調用模型結合提示詞執行推理任務,支援自然語言產生、複雜邏輯分析、情感分類、多模態理解等情境。使用者可通過SQL直接完成非結構化資料的智能處理,無需外部服務依賴。

命令格式

AI_GENERATE在調用LLM大語言模型和MLLM多模態大語言模型時,會有不同的函數簽名。

  • 當model_type為LLM大語言模型時,函數簽名如下:

    STRING AI_GENERATE(
      STRING <model_name> , 
      STRING <version_name>, 
      STRING <prompt> 
      [, STRING <model_parameters>]
    );
  • 當model_type為MLLM多模態大語言模型時,函數簽名如下:

    STRING AI_GENERATE(
      STRING <model_name>, 
      STRING <version_name>, 
      STRING | BINARY <unstructured_data> ,
      STRING <prompt> 
      STRING <type>
      [, STRING <model_parameters>]
    );

參數說明

  • model_name:必填。STRING類型。待使用的模型名。支援模型的model_type為LLM或MLLM。

  • version_name:必填。STRING類型。待使用的模型版本名。如果調用預設version,支援直接輸入DEFAULT_VERSION

  • prompt:必填。STRING類型。待輸入的模型提示詞。STRING類型常量、列名或運算式。

  • unstructured_data:必填(當model_type為MLLM時)。STRING或BINARY類型。

    需要處理的多模態資料,支援指定為圖片/音頻/視頻STRING類型的URL地址,或圖片BINARY類型的二進位表示。當指定為BINARY類型時,需要在建立模型時同時指定BINARY類型的輸入參數。

  • typeunstructured_data為圖片/音頻/視頻STRING類型的URL地址時,type必填。支援取值為IMAGE/AUDIO/VIDEO。例如:

    • 音頻:AI_GENERATE(model, version,audio_url, prompt, 'AUDIO');

    • 視頻:AI_GENERATE(model, version, video_url, prompt, 'VIDEO');

    • 映像:AI_GENERATE(model, version, image_url, prompt, 'IMAGE');

  • model_parameters:選填。STRING 類型。支援指定模型調用相關參數 max_tokens、temperature、top_p,格式為

    '{"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}' 。參數說明如下:

    • max_tokens:設定模型單次調用輸出 token 的最大數量,對於 MaxCompute 公用模型,預設值為 4096。

    • temperature:介於 0 到 1 之間的值,用於控制模型輸出的隨機性強度。值越大,輸出越具創意和多樣性;值越低,輸出越確定和保守。

    • top_p:介於 0 到 1 之間的值,用於限定模型選擇的備選標籤範圍。值越大,備選範圍越廣,多樣性越高;值越小,範圍越窄,結果越集中。

說明

使用AI Function調用公用模型推理時,需要SET odps.sql.using.public.model=true;開啟使用公用模型開關。

傳回值說明

返回STRING類型,模型的產生內容結果。

使用樣本

樣本1:調用模型進行情感分析

調用MaxCompute提供的公用模型qwen3.7-max,對網路使用者評論資料進行情感分析。

SET odps.namespace.schema=true;

SELECT 
    prompt,
    AI_GENERATE(
        bigdata_public_modelset.default.`qwen3.7-max`,
        DEFAULT_VERSION,
        concat('請對以下評論進行情感分析分類,輸出結果僅限於以下三個選項之一:正面、負面、中性。待分析的評論:', prompt)
    ) AS generated_text
FROM (
    VALUES 
        ('今天天氣真好,心情很不錯!陽光明媚,適合出去散步。 /no_think'),
        ('今天天氣真好,心情很不錯!陽光明媚 /no_think'),
        ('科技發展日新月異,人工智慧改變生活。 /no_think'),
        ('防控措施很到位,為醫護人員點贊! /no_think'),
        ('這個商品品質很差 /no_think')
) t (prompt);

-- 返回結果
+--------+----------------+
| prompt | generated_text |
+--------+----------------+
| 今天天氣真好,心情很不錯!陽光明媚,適合出去散步。 /no_think | 正面         |
| 今天天氣真好,心情很不錯!陽光明媚 /no_think | 正面         |
| 科技發展日新月異,人工智慧改變生活。 /no_think | 正面         |
| 防控措施很到位,為醫護人員點贊! /no_think | 正面         |
| 這個商品品質很差 /no_think | 負面         |
+--------+----------------+

樣本2:調用模型產生內容

調用MaxCompute提供的公用模型deepseek-v4-pro,直接進行模型調用與內容產生。

SET odps.namespace.schema=true;

SELECT AI_GENERATE(bigdata_public_modelset.default.`deepseek-v4-pro`,DEFAULT_VERSION,'what is the capital of China');

-- 返回結果
+-----+
| _c0 |
+-----+
| The capital of China is **Beijing**. |
+-----+

樣本3:調用模型進行多模態資料處理

  • 圖片處理

    調用公用模型qwen3.7-plus,基於圖片的URL地址及提示詞實現商品類目打標。樣本中Object Table命名為image_demo

    -- 開啟三層模型
    SET odps.namespace.schema=true;
    
    -- 建立Object Table
    CREATE OBJECT TABLE IF NOT EXISTS image_demo
    WITH SERDEPROPERTIES ('odps.properties.rolearn'='acs:ram::xxxxxxxxxxxxxxxx:role/aliyunodpsdefaultrole')
    LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/muze-demo/poster_11/';
    
    ALTER TABLE image_demo REFRESH METADATA;
    
    SELECT COUNT(*) AS ROW_COUNT FROM image_demo; 
    +------------+
    | row_count  |
    +------------+
    | 50         |
    +------------+
    
    -- 調用公用模型qwen3.7-plus,基於圖片的URL地址及提示詞實現商品類目打標。
    SELECT
      key,
      AI_GENERATE(
        bigdata_public_modelset.default.`qwen3.7-plus`,  DEFAULT_VERSION, image_url,
        '從電商商品銷售海報中識別並提取商品所屬的類目。返回結果僅限於如下六個選項之一:美妝、服裝、日用、食品、其他、電子產品,不包含其他文字或資訊','IMAGE'
      ) AS item_catagory
      FROM (
        SELECT GET_SIGNED_URL_FROM_OSS(
          'muze_project.default.image_demo', key, 604800
        ) AS image_url, key AS key
        FROM muze_project.default.image_demo
    ) Limit 10;
    
    -- 返回結果:
    +------+---------------+
    | key  | item_catagory |
    +------+---------------+
    | O1CN01085bQu2GXxbXWRZdR_!!190979026-0-alimamazszw.jpg | 電子產品  |
    | O1CN01090E2K2IpTwrsnKig_!!2200646859335-0-alimamazszw.jpg | 日用        |
    | O1CN01104c5a1V8Ve9lucF0_!!2212022232608-0-alimamazszw.jpg | 食品        |
    | O1CN01113ir71oWIvnjQ5VI_!!2207697805232-0-alimamazszw.jpg | 美妝        |
    | O1CN01174q2u1ZlDaCqi6bG_!!2212097133234-0-alimamazszw.jpg | 其他        |
    | O1CN01361qwo2D9HOv5WB4p_!!826038566-0-alimamazszw.jpg | 其他        |
    | O1CN01413KK82ANWsnkpDh4_!!802948191-0-alimamazszw.jpg | 服裝        |
    | O1CN01446lv42D12HPYUDpl_!!1573418548-0-alimamazszw.jpg | 服裝        |
    | O1CN01447sWy2E4zJ1YgpM0_!!1676208692-0-alimamazszw.jpg | 美妝        |
    | O1CN01526tSJ1QY5hF6zdE7_!!2867731987-0-alimamazszw.jpg | 食品        |
    +------+---------------+
  • 音頻處理

    調用已經建立好的模型PAI_EAS_Qwen25_Omni_3B(PAI-EAS遠程模型),並建立好Object Table,即可調用AI Function,詳細步驟參考使用MaxCompute遠程模型自動產生電商選品描述

    說明 支援VPC調用地址(推薦)或EAS公網調用地址。

    • 若使用EAS VPC調用地址,需要開通專線網路連接並在AI Function調用時指定配置的網路連接名稱,配置流程請參見訪問VPC方案(專線直連)

    • 若使用EAS公網調用地址,需求在AI Function調用前,將該地址設定為可用的MaxCompute外部網路地址,配置方案見:網路開通流程

    基於音訊URL地址及提示詞進行模型調用,實現音頻類別打標。樣本中Object Table命名為music_demo。音頻資料集下載地址

    SELECT
      key,
      AI_GENERATE(
        PAI_EAS1_Qwen25_Omni_3B, v1, audio_url,
        "請準確分析音訊音樂類型,返回結果只顯示如下七個選項之一,不顯示任何額外資訊:古典、鄉村、嘻哈、金屬、流行、雷鬼、搖滾","AUDIO"
      ) as item_catagory
      from (
        select GET_SIGNED_URL_FROM_OSS(
          'project_test_model.default.music_demo', key, 604800
        ) as audio_url, key as key
        from project_test_model.default.music_demo
    ) Limit 42;

    點擊展開查看運行結果

    +------+---------------+
    | key  | item_catagory |
    +------+---------------+
    | classical.00000.wav | 古典        |
    | classical.00001.wav | 古典        |
    | classical.00002.wav | 古典        |
    | classical.00003.wav | 古典        |
    | classical.00004.wav | 古典        |
    | classical.00005.wav | 古典        |
    | country.00000.wav | 鄉村        |
    | country.00001.wav | 鄉村        |
    | country.00002.wav | 鄉村        |
    | country.00003.wav | 鄉村        |
    | country.00004.wav | 鄉村        |
    | country.00005.wav | 搖滾        |
    | hiphop.00000.wav | 嘻哈        |
    | hiphop.00001.wav | 嘻哈        |
    | hiphop.00002.wav | 嘻哈        |
    | hiphop.00003.wav | 嘻哈        |
    | hiphop.00004.wav | 嘻哈        |
    | hiphop.00005.wav | 嘻哈        |
    | metal.00000.wav | 金屬        |
    | metal.00001.wav | 金屬        |
    | metal.00002.wav | 搖滾        |
    | metal.00003.wav | 金屬        |
    | metal.00004.wav | 金屬        |
    | metal.00005.wav | 金屬        |
    | pop.00000.wav | 流行        |
    | pop.00001.wav | 流行        |
    | pop.00002.wav | 流行        |
    | pop.00003.wav | 流行        |
    | pop.00004.wav | 搖滾        |
    | pop.00005.wav | 流行        |
    | reggae.00000.wav | 雷鬼        |
    | reggae.00001.wav | 雷鬼        |
    | reggae.00002.wav | 雷鬼        |
    | reggae.00003.wav | 雷鬼        |
    | reggae.00004.wav | 雷鬼        |
    | reggae.00005.wav | 雷鬼        |
    | rock.00000.wav | 搖滾        |
    | rock.00001.wav | 搖滾        |
    | rock.00002.wav | 搖滾        |
    | rock.00003.wav | 搖滾        |
    | rock.00004.wav | 搖滾        |
    | rock.00005.wav | 搖滾        |
    +------+---------------+

常見問題

公用模型常見問題排查

問題現象:調用模型計算服務所支援的公用模型時,詳細報錯資訊如下。

FAILED: ODPS-0130071:[1,8] Semantic analysis exception - inference quota status check failed, error message: region cn-shanghai not found in inference quota

產生原因:當前專案所在的region(如 cn-shanghai)下未開通模型計算服務,導致無法正常調用 AI 推理資源。

處理方法:請前往阿里雲控制台,為當前專案的 Region 開通模型計算服務。詳細操作資訊請參見購買與使用MaxCompute 模型計算服務

EAS遠程模型常見問題排查

如果通過AI_GENERATE函數調用MaxCompute遠程模型,作業運行後返回結果為空白,建議按照以下流程進行排查:

  1. 建立遠程模型參數檢查

    • PAI_EAS_SERVICE_NAME:

      需要確認EAS服務是否已加入某個服務群組。

      • 若已加入此處需要填寫“群組名稱.服務名稱”,如group.service_name;

      • 若未加入則僅需填寫EAS服務名稱。

    • Endpoint:

      設定模型ENDPOINT參數時,無論希望使用EAS 公網或VPC地址(推薦使用),都不需要提供.com後的資訊,正確的地址格式舉例:http://1*************70.cn-shanghai.pai-eas.aliyuncs.com

    • APIKEY:

      確認提供了正確的PAI EAS 服務Token。

    擷取具體參數資訊,請參見6.1 擷取訪問地址和Token

  2. AI_GENERATE函數參數檢查

    • 當需要處理音頻/視頻資料時,unstructured_data不支援使用BINARY類型;

    • 若使用的是STRING類型的URL地址,但仍然無返回時,請確認是否正確填寫type值,支援取值為IMAGE/AUDIO/VIDEO。例如:

      SELECT
        key,
        AI_GENERATE(
          PAI_EAS1_Qwen25_Omni_3B, v1, audio_url,
          "請精確分析音訊音樂類型,返回結果只顯示如下七個選項之一,不顯示任何額外資訊:古典、鄉村、嘻哈、金屬、流行、雷鬼、搖滾","AUDIO"
        ) as item_catagory
        from (
          select GET_SIGNED_URL_FROM_OSS(
            'project_test_model.default.music_demo', key, 604800
          ) as audio_url, key as key
          from project_test_model.default.music_demo
      ) Limit 42;
  3. 運行狀態檢查

    手動關閉查詢加速任務,排除SQLRT任務對模型調用的影響。在AI_GENERATE函數調用前增加:set odps.mcqa.disable=true;

    部分情境下,作業提交會預設開啟查詢加速,但開啟後會影響遠程模型調用,需使用者手動關閉。

  4. EAS資源檢查

    請檢查遠程模型對應EAS資源是否充足,是否在作業執行期間出現資源不足如OOM等異常問題,如有,請擴容後重試。