All Products
Search
Document Center

MaxCompute:AI_GENERATE

Last Updated:Mar 31, 2026

AI_GENERATE adalah fungsi AI di MaxCompute yang memanggil model untuk melakukan inferensi berdasarkan prompt yang diberikan. Anda dapat menggunakan fungsi ini secara langsung dalam SQL guna memproses data tidak terstruktur untuk berbagai skenario, termasuk generasi bahasa alami, analisis logika kompleks, analisis sentimen, dan pemahaman multimodal, tanpa bergantung pada layanan eksternal.

Sintaksis

Tanda tangan fungsi AI_GENERATE bervariasi tergantung pada apakah Anda menggunakan large language model (LLM) atau multimodal large language model (MLLM).

  • Untuk LLM, tanda tangan fungsinya adalah sebagai berikut:

    STRING AI_GENERATE(
      STRING <model_name> , 
      STRING <version_name>, 
      STRING <prompt> 
      [, STRING <model_parameters>]
    );
  • Untuk MLLM, tanda tangan fungsinya adalah sebagai berikut:

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

Parameter

  • model_name: Wajib diisi. STRING. Nama model yang akan digunakan. Model tersebut dapat berupa large language model (LLM) atau multimodal large language model (MLLM).

  • version_name: Wajib diisi. STRING. Versi model yang akan digunakan. Anda dapat menentukan DEFAULT_VERSION untuk memanggil versi default.

  • prompt: Wajib diisi. STRING. Prompt yang dikirim ke model. Nilai ini dapat berupa konstanta STRING, nama kolom, atau ekspresi.

  • unstructured_data: Wajib diisi untuk MLLM. STRING atau BINARY.

    Data multimodal yang akan diproses. Anda dapat menentukan URL file gambar, audio, atau video sebagai STRING, atau menyediakan data biner gambar sebagai BINARY. Jika Anda menggunakan tipe BINARY, Anda juga harus menentukan parameter input BINARY saat membuat model.

  • type: Ketika unstructured_data berupa URL STRING untuk gambar, audio, atau video, parameter ini wajib diisi. Nilai yang valid adalah IMAGE, AUDIO, dan VIDEO. Contoh:

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

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

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

  • model_parameters: Opsional. STRING. String JSON yang menentukan parameter untuk pemanggilan model, seperti max_tokens, temperature, dan top_p. Contoh: '{"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}'. Parameter berikut didukung:

    • max_tokens: Jumlah maksimum token yang dihasilkan dalam satu panggilan model. Nilai default adalah 4096 untuk model publik MaxCompute.

    • temperature: Nilai antara 0 dan 1 yang mengatur tingkat keacakan output model. Nilai yang lebih tinggi menghasilkan output yang lebih beragam dan acak.

    • top_p: Nilai antara 0 dan 1 yang mengatur keacakan dan keragaman output model. Nilai yang lebih tinggi menghasilkan output yang lebih acak.

Catatan

Untuk memanggil model publik dengan fungsi AI, jalankan SET odps.sql.using.public.model=true; untuk mengaktifkan akses.

Nilai kembalian

Mengembalikan STRING yang berisi konten yang dihasilkan oleh model.

Contoh

Contoh 1: Hasilkan konten

Memanggil model publik Qwen3-0.6B-GGUF di MaxCompute untuk menghasilkan konten.

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');

-- Returns:
-- "The capital of China is **Beijing**."

Contoh 2: Lakukan analisis sentimen

Memanggil model publik Qwen3-1.7B-GGUF di MaxCompute untuk melakukan analisis sentimen terhadap komentar pengguna.

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('Perform sentiment analysis on the following comment. The output must be one of the following three options: Positive, Negative, or Neutral. Comment to analyze:', prompt)
    ) AS generated_text
FROM (
    VALUES 
        ('The weather is great today, and I am in a good mood! It is sunny and perfect for a walk. /no_think'),
        ('The weather is great today, and I am in a good mood! It is sunny /no_think'),
        ('Technology is advancing rapidly, and artificial intelligence is changing lives. /no_think'),
        ('The prevention and control measures are excellent. Thumbs up to the medical staff! /no_think'),
        ('The quality of this product is very poor. /no_think')
) t (prompt);

-- Returns:
+-----------------------------------------------------------------------------------------+----------------+
| prompt                                                                                  | generated_text |
+-----------------------------------------------------------------------------------------+----------------+
| The weather is great today, and I am in a good mood! It is sunny and perfect for a walk. /no_think | "Positive"     |
| The weather is great today, and I am in a good mood! It is sunny /no_think              | "Positive"     |
| Technology is advancing rapidly, and artificial intelligence is changing lives. /no_think | "Neutral"      |
| The prevention and control measures are excellent. Thumbs up to the medical staff! /no_think | "Positive"     |
| The quality of this product is very poor. /no_think                                     | "Negative"     |
+-----------------------------------------------------------------------------------------+----------------+

Contoh 3: Proses data multimodal

Contoh ini memanggil model remote PAI-EAS bernama PAI_EAS_Qwen25_Omni_3B yang telah dibuat sebelumnya dan menggunakan Object Table untuk memanggil fungsi AI. Untuk petunjuk lengkap, lihat Gunakan model remote MaxCompute untuk menghasilkan deskripsi produk e-commerce secara otomatis.

Catatan

Didukung Titik akhir VPC (direkomendasikan) dan Titik akhir publik PAI-EAS.

  • Jika Anda menggunakan Titik akhir VPC PAI-EAS, Anda harus membuat koneksi jaringan khusus dan menentukan nama koneksi jaringan yang telah dikonfigurasi dalam pemanggilan fungsi AI. Untuk petunjuk konfigurasi, lihat Akses VPC melalui Jalur sewa.

  • Jika Anda menggunakan Titik akhir publik PAI-EAS, Anda harus menambahkan titik akhir tersebut ke daftar alamat jaringan eksternal yang diizinkan di MaxCompute sebelum memanggil fungsi AI. Untuk petunjuk konfigurasi, lihat Konfigurasi akses jaringan.

  • Proses gambar

    Anda dapat memanggil model dengan URL gambar dan prompt untuk memberi tag kategori produk. Dalam contoh ini, Object Table bernama image_demo.

    SELECT
      key,
      AI_GENERATE(
        PAI_EAS_Qwen25_Omni_3B, v1, image_url,
        "Identify and extract the product category from the e-commerce sales poster. The result must be one of the following six options: Cosmetics, Apparel, Daily Necessities, Food, Other, or Electronic Products. Do not include any other text or information.","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;
    
    -- Returns:
    +--------------------+---------------------+
    | key                | item_catagory       |
    +--------------------+---------------------+
    | alimamazszw-1.jpg  | Food                | 
    | alimamazszw-10.jpg | Electronic Products | 
    | alimamazszw-11.jpg | Electronic Products | 
    | alimamazszw-12.jpg | Cosmetics           | 
    | alimamazszw-13.jpg | Electronic Products | 
    | alimamazszw-14.jpg | Daily Necessities   | 
    | alimamazszw-15.jpg | Cosmetics           | 
    | alimamazszw-16.jpg | Cosmetics           | 
    | alimamazszw-18.jpg | Daily Necessities   | 
    +--------------------+---------------------+
  • Proses audio

    Panggil model untuk melakukan pemberian tag kategori audio berdasarkan URL audio dan prompt. Dalam contoh ini, Object Table bernama music_demo. Set data audio tersedia di tautan unduh ini.

    SELECT
      key,
      AI_GENERATE(
        PAI_EAS1_Qwen25_Omni_3B, v1, audio_url,
        "Accurately analyze the music genre of the audio. The result must be one of the following seven options, with no additional information: Classical, Country, Hip-Hop, Metal, Pop, Reggae, or Rock.","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;
    

    Lihat hasil

    +---------------------+---------------+
    | key                 | item_catagory |
    +---------------------+---------------+
    | classical.00000.wav | Classical     |
    | classical.00001.wav | Classical     |
    | classical.00002.wav | Classical     |
    | classical.00003.wav | Classical     |
    | classical.00004.wav | Classical     |
    | classical.00005.wav | Classical     |
    | country.00000.wav   | Country       |
    | country.00001.wav   | Country       |
    | country.00002.wav   | Country       |
    | country.00003.wav   | Country       |
    | country.00004.wav   | Country       |
    | country.00005.wav   | Rock          |
    | hiphop.00000.wav    | Hip-Hop       |
    | hiphop.00001.wav    | Hip-Hop       |
    | hiphop.00002.wav    | Hip-Hop       |
    | hiphop.00003.wav    | Hip-Hop       |
    | hiphop.00004.wav    | Hip-Hop       |
    | hiphop.00005.wav    | Hip-Hop       |
    | metal.00000.wav     | Metal         |
    | metal.00001.wav     | Metal         |
    | metal.00002.wav     | Rock          |
    | metal.00003.wav     | Metal         |
    | metal.00004.wav     | Metal         |
    | metal.00005.wav     | Metal         |
    | pop.00000.wav       | Pop           |
    | pop.00001.wav       | Pop           |
    | pop.00002.wav       | Pop           |
    | pop.00003.wav       | Pop           |
    | pop.00004.wav       | Rock          |
    | pop.00005.wav       | Pop           |
    | reggae.00000.wav    | Reggae        |
    | reggae.00001.wav    | Reggae        |
    | reggae.00002.wav    | Reggae        |
    | reggae.00003.wav    | Reggae        |
    | reggae.00004.wav    | Reggae        |
    | reggae.00005.wav    | Reggae        |
    | rock.00000.wav      | Rock          |
    | rock.00001.wav      | Rock          |
    | rock.00002.wav      | Rock          |
    | rock.00003.wav      | Rock          |
    | rock.00004.wav      | Rock          |
    | rock.00005.wav      | Rock          |
    +---------------------+---------------+

FAQ

Penyelesaian masalah model remote PAI-EAS

Jika pekerjaan Anda yang memanggil model remote MaxCompute dengan fungsi AI_GENERATE mengembalikan hasil kosong, ikuti langkah-langkah troubleshooting berikut:

  1. CREATE MODEL parameter

    • PAI_EAS_SERVICE_NAME:

      Periksa apakah layanan PAI-EAS telah ditambahkan ke dalam kelompok layanan.

      • Jika layanan berada dalam kelompok layanan, Anda harus menentukan nama layanan dalam format group_name.service_name, misalnya group.service_name.

      • Jika layanan tidak berada dalam kelompok layanan, cukup tentukan nama layanan PAI-EAS saja.

    • Endpoint:

      Saat menyetel parameter ENDPOINT untuk model, jangan sertakan path setelah domain .com, baik Anda menggunakan Titik akhir publik PAI-EAS maupun Titik akhir VPC (direkomendasikan). Contoh format yang benar: http://1*************70.cn-shanghai.pai-eas.aliyuncs.com.

    • APIKEY:

      Pastikan Anda telah memberikan token layanan PAI-EAS yang benar.

    Untuk informasi lebih lanjut tentang cara mendapatkan nilai parameter tersebut, lihat Dapatkan titik akhir dan token.

  2. AI_GENERATE parameter fungsi

    • Ketika memproses data audio atau video, parameter unstructured_data tidak mendukung tipe BINARY.

    • Jika Anda menggunakan URL STRING namun tetap menerima hasil kosong, pastikan Anda telah menentukan parameter type dengan benar. Nilai yang didukung adalah IMAGE, AUDIO, dan VIDEO. Contoh:

      SELECT
        key,
        AI_GENERATE(
          PAI_EAS1_Qwen25_Omni_3B, v1, audio_url,
          "Accurately analyze the music genre of the audio. The result must be one of the following seven options, with no additional information: Classical, Country, Hip-Hop, Metal, Pop, Reggae, or Rock.","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. Status runtime

    Nonaktifkan akselerasi kueri untuk menentukan apakah fitur tersebut mengganggu pemanggilan model. Tambahkan pernyataan berikut sebelum pemanggilan fungsi AI_GENERATE: set odps.mcqa.disable=true;

    Akselerasi kueri, yang diaktifkan secara default dalam beberapa skenario, dapat mengganggu pemanggilan model remote dan harus dinonaktifkan secara manual.

  4. Sumber daya PAI-EAS

    Periksa apakah sumber daya PAI-EAS yang dialokasikan untuk model remote mencukupi. Jika pekerjaan gagal dengan error kehabisan memori (OOM), tingkatkan kapasitas sumber daya dan coba lagi.