全部產品
Search
文件中心

MaxCompute:AI_GENERATE

更新時間:Mar 31, 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-0.6B-GGUF,直接進行模型調用與內容產生。

SET odps.sql.using.public.model=true;
SET odps.namespace.schema=true;

SELECT AI_GENERATE(bigdata_public_modelset.default.Qwen3-0.6B-GGUF,DEFAULT_VERSION,'what is the capital of China');

-- 返回結果:
-- "The capital of China is **Beijing**."

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

調用MaxCompute提供的公用模型Qwen3-1.7B-GGUF,對網路使用者評論資料進行情感分析。

SET odps.sql.using.public.model=true;
SET odps.namespace.schema=true;

SELECT 
    prompt,
    AI_GENERATE(
        bigdata_public_modelset.default.Qwen3-1.7B-GGUF,
        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                             | "負面"          |
+-----------------------------------------------------+----------------+

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

調用已經建立好的模型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命名為image_demo

    SELECT
      key,
      AI_GENERATE(
        PAI_EAS_Qwen25_Omni_3B, v1, image_url,
        "從電商商品銷售海報中識別並提取商品所屬的類目。返回結果僅限於如下六個選項之一:美妝、服裝、日用、食品、其他、電子產品,不包含其他文字或資訊","IMAGE"
      ) AS item_catagory
      FROM (
        SELECT GET_SIGNED_URL_FROM_OSS(
          'project_test_model.default.image_demo', key, 604800
        ) AS image_url, key AS key
        FROM project_test_model.default.image_demo
    ) Limit 10;
    
    -- 返回結果:
    +--------------------+----------------+
    | key                | item_catagory  |
    +--------------------+----------------+
    | alimamazszw-1.jpg  | 食品           | 
    | alimamazszw-10.jpg | 電子產品        | 
    | alimamazszw-11.jpg | 電子產品        | 
    | alimamazszw-12.jpg | 美妝           | 
    | alimamazszw-13.jpg | 電子產品        | 
    | alimamazszw-14.jpg | 日用           | 
    | alimamazszw-15.jpg | 美妝           | 
    | alimamazszw-16.jpg | 美妝           | 
    | alimamazszw-18.jpg | 日用           | 
    +--------------------+---------------+
  • 音頻處理

    基於音訊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 | 搖滾        |
    +------+---------------+

常見問題

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。

    擷取具體參數資訊,請參見擷取訪問地址和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等異常問題,如有,請擴容後重試。