All Products
Search
Document Center

Realtime Compute for Apache Flink:Model DDLs

Last Updated:Sep 30, 2026

Dokumen ini menjelaskan pernyataan bahasa definisi data (DDL) untuk mendaftarkan, mengkueri, memodifikasi, dan menghapus model AI dalam Flink SQL.

Catatan penggunaan

Hanya didukung di VVR 11.7 atau versi yang lebih baru. Memerlukan aktivasi Flink AI Service (built-in models).

Daftarkan model

Setelah akun master mengaktifkan Flink AI Service di wilayah target, Anda dapat membuat model dalam built-in model mode.

CREATE TEMPORARY MODEL my_llm
INPUT (prompt String COMMENT 'Input prompt')
OUTPUT (response String COMMENT 'Model output')
WITH (
  'provider' = 'dashscope',
  'task' = 'chat/completions',
  'model' = 'qwen3.5-flash'
);
  • Parameter endpoint tidak diperlukan. Sistem secara otomatis memilih titik akhir layanan yang sesuai.

  • Parameter api-key tidak diperlukan. Sistem melakukan autentikasi menggunakan API Key yang dikelola oleh Flink.

  • Parameter task wajib dideklarasikan untuk menentukan jenis tugas model.

Parameter WITH

Umum

Parameter

Deskripsi

Tipe data

Wajib

Nilai default

Keterangan

provider

Jenis layanan model.

String

Ya

Tidak ada

Nilai yang valid: openai-compat, dashscope, dan triton.

task

Jenis tugas model.

String

Ya

Tidak ada

Nilai yang valid:

model

Model spesifik yang dipanggil di sisi layanan.

String

Ya

Tidak ada

Pilih model berdasarkan jenis tugas. Untuk detailnya, lihat Built-in model list .

max-context-size

Ukuran konteks maksimum untuk satu permintaan.

Integer

Tidak

Tidak ada

Jika kapasitas maksimum terlampaui, aksi yang ditentukan dalam context-overflow-action akan dipicu.

context-overflow-action

Aksi yang diambil ketika konteks permintaan melebihi kapasitas maksimum.

String

Tidak

truncated-tail

Nilai yang valid:

  • truncated-tail: Secara otomatis memotong token saat kapasitas terlampaui, menyimpan token max-context-size terbaru. Tidak ada log yang direkam.

  • truncated-tail-log: Secara otomatis memotong token dari ekor yang melebihi kapasitas, menyimpan token max-context-size terbaru. Pemotongan tersebut dicatat dalam log.

  • truncated-head: Memotong token paling awal dari kepala, menyimpan token max-context-size terbaru.

  • truncated-head-log: Memangkas token paling awal dari kepala, menyimpan token max-context-size terbaru. Pemotongan tersebut dicatat dalam log.

  • skipped: Langsung membuang catatan data. Tidak ada log yang direkam.

  • skipped-log: Membuang data dan mencatat log.

error-handling-strategy

Strategi penanganan error permintaan model.

String

Tidak

retry

Nilai yang valid:

  • retry: Mengirim ulang permintaan.

  • failover: Melemparkan exception.

  • ignore: Mengabaikan exception dan melewati catatan data.

retry-num

Jumlah upaya pengulangan.

int

Tidak

100

Berlaku hanya ketika error-handling-strategy = retry.

retry-fallback-strategy

Strategi fallback yang digunakan setelah jumlah maksimum pengulangan tercapai.

String

Tidak

failover

Nilai yang valid:

Berlaku hanya ketika error-handling-strategy diatur ke nilai selain retry.

retry-backoff-strategy

Strategi backoff pengulangan. Menentukan cara menghitung interval antar pengulangan.

String

Tidak

fixed

Nilai yang valid:

  • fixed: Interval tetap.

  • exponential: Interval eksponensial.

retry-backoff-base-interval

Interval waktu dasar untuk backoff pengulangan.

Duration

Tidak

1 s

-

content-type

Jenis data masukan. Berlaku untuk tugas Chat/Completions dan Multimodal-Embedding.

String

Tidak

text

  • Tipe konten untuk satu kolom input. Nilai yang valid: text (default) atau image_url.

  • Saling eksklusif dengan content-types.

content-types

Jenis konten kolom input untuk model multimodal. Berlaku untuk tugas Chat/Completions dan Multimodal-Embedding.

String

Tidak

Tidak ada

  • Daftar yang dipisahkan titik koma. Setiap kolom input berkorespondensi dengan satu tipe (misalnya, text;image_url).

    Tipe yang didukung meliputi text, image_url, dan multi_image_urls.

  • Saling eksklusif dengan content-type.

Catatan

Hanya didukung di VVR 11.8 atau versi yang lebih baru. Untuk detailnya, lihat General invocation.

chat/completions

Tugas generasi teks menggunakan chat/completions. Parameter berikut didukung:

Parameter

Deskripsi

Tipe data

Wajib

Nilai default

Keterangan

system-prompt

Prompt sistem untuk permintaan.

String

Tidak

"You are a helpful assistant."

Mendukung string kosong.

temperature

Mengontrol kelancaran distribusi probabilitas untuk setiap token kandidat.

Float

Tidak

Tidak ada

Rentang valid: [0, 2). Nilai 0 tidak disarankan dan tidak memiliki makna praktis.

Suhu yang lebih tinggi meratakan distribusi probabilitas, sehingga lebih banyak token berprobabilitas rendah dipilih dan output menjadi lebih beragam. Suhu yang lebih rendah mempertajam distribusi, sehingga token berprobabilitas tinggi lebih mungkin dipilih dan output menjadi lebih deterministik.

top-p

Ambang batas probabilitas untuk pengambilan sampel inti.

Float

Tidak

Tidak ada

Nilai yang lebih tinggi meningkatkan keacakan, sedangkan nilai yang lebih rendah meningkatkan determinisme.

stop

Urutan penghentian.

String

Tidak

Tidak ada

Model berhenti menghasilkan konten ketika string yang ditentukan hampir diproduksi.

max-tokens

Jumlah maksimum token yang dapat dihasilkan oleh model.

Integer

Tidak

Tidak ada

Dibatasi oleh kemampuan model.

presence-penalty

Mengontrol pengulangan token.

Double

Tidak

Tidak ada

Rentang valid: -2.0 hingga 2.0. Nilai positif memberikan penalti pada token yang sudah muncul dalam teks, sehingga model lebih cenderung membahas topik baru.

n

Jumlah output yang dihasilkan untuk setiap input.

int

Tidak

Tidak ada

-

seed

Seed bilangan acak untuk respons model.

Long

Tidak

Tidak ada

Jika ditentukan, platform model mencoba pengambilan sampel deterministik, sehingga permintaan berulang dengan seed dan parameter yang sama menghasilkan hasil yang sama bila memungkinkan.

response-format

Format nilai kembali.

String

Tidak

text

Nilai yang valid:

  • text

  • json_object

extra-body

Badan HTTP tambahan untuk permintaan.

String

Tidak

Tidak ada

Harus berupa string berformat JSON. Untuk detailnya, lihat extra-body description.

user-prompt

Prompt pengguna untuk permintaan.

String

Tidak

Tidak ada

Mirip dengan system-prompt, tetapi dikirimkan dari peran pengguna.

embeddings

Tugas penyematan teks menggunakan embeddings. Parameter berikut didukung:

Parameter

Deskripsi

Tipe data

Wajib

Nilai default

Keterangan

dimension

Dimensi vektor output.

Integer

Tidak

Tidak ada

Dimensi yang didukung bergantung pada model spesifik. Nilai umum adalah 1024, 768, dan 512.

multimodal-embedding

Tugas penyematan multimodal menggunakan multimodal-embedding untuk mengonversi input teks, gambar, atau campuran teks dan gambar menjadi vektor. Parameter berikut didukung:

Parameter

Deskripsi

Tipe data

Wajib

Nilai default

Keterangan

dimension

Dimensi vektor output.

Integer

Tidak

Tidak ada

Dimensi yang didukung bergantung pada model spesifik. Nilai umum adalah 1024, 768, dan 512.

Contoh 1: Hanya Gambar

CREATE TEMPORARY MODEL multimodal_embedding_model
INPUT (`input` STRING)
OUTPUT (`content` ARRAY<FLOAT>)
WITH (
  'provider' = 'dashscope',
  'task' = 'multimodal-embedding',
  'model' = 'qwen3-vl-embedding',
  'dimension' = '512',
  'content-type' = 'image_url'
);

Contoh 2: Teks dan Gambar

Fusi teks dan gambar hanya berlaku untuk model yang kemampuan fusinya diaktifkan oleh enable_fusion, sebagaimana dijelaskan dalam Multimodal fused vectors. Flink menentukan apakah fusi diaktifkan berdasarkan jumlah kolom input model. Tidak diperlukan parameter tambahan.

CREATE TEMPORARY MODEL fusion_embedding_model
INPUT (text_input STRING, image_input STRING)
OUTPUT (embedding ARRAY<FLOAT>)
WITH (
  'provider' = 'dashscope',
  'task' = 'multimodal-embedding',
  'model' = 'qwen3-vl-embedding',
  'dimension' = '512',
  'content-types' = 'text;image_url'
);

Deskripsi extra-body

Nilai extra-body adalah string berformat JSON yang digunakan untuk menambahkan parameter tambahan ke badan permintaan model. Parameter yang tersedia bergantung pada penyedia layanan model. Berikut adalah parameter umum yang didukung oleh Alibaba Cloud Model Studio (termasuk namun tidak terbatas pada):

Parameter

Tipe

Deskripsi

top_k

Integer

Ukuran set kandidat pengambilan sampel. Nilai yang lebih besar meningkatkan keacakan. Untuk detailnya, lihat Request body.

enable_thinking

Boolean

Apakah akan mengaktifkan mode pemikiran mendalam (berlaku untuk model yang mendukung pemikiran, seperti Qwen3). Untuk detailnya, lihat Deep thinking.

thinking_budget

Integer

Panjang token maksimum untuk proses pemikiran. Berlaku hanya ketika enable_thinking bernilai true . Untuk detailnya, lihat Limit thinking length.

translation_options

Object

Parameter terjemahan untuk model terjemahan. Untuk detailnya, lihat Translation capability.

enable_search

Boolean

Apakah akan menggunakan hasil pencarian internet untuk membantu generasi jawaban. Default-nya false . Untuk detailnya, lihat Web search.

search_options

Object

Konfigurasi strategi pencarian web. Berlaku hanya ketika enable_search bernilai true . Untuk detailnya, lihat Set search scale strategy.

Contoh

CREATE MODEL my_model
USING openai_compatible
WITH (
  'provider' = 'openai-compat',
  'model' = 'qwen3.5-flash',
  'task' = 'chat/completions',
  'extra-body' = '{"enable_thinking": true, "thinking_budget": 4096}'
);

Mengkueri model

Di editor Data Query, jalankan salah satu perintah berikut.

  • Daftar nama model yang terdaftar:

    SHOW MODELS [ ( FROM | IN ) [catalog_name.]database_name ];
  • Tampilkan pernyataan yang digunakan untuk membuat model:

    SHOW CREATE MODEL [catalog_name.][db_name.]model_name;
  • Tampilkan skema input dan output model:

    DESCRIBE MODEL [catalog_name.][db_name.]model_name;

Contoh

SHOW MODELS;

-- RESULT
--+------------+
--| model name |
--+------------+
--|          m |
--+------------+

DESCRIBE MODEL m;

-- RESULT
-- +---------+--------+------+----------+
-- |    name |   type | null | is input |
-- +---------+--------+------+----------+
-- | content | String | TRUE |     TRUE |
-- |   label | BIGINT | TRUE |    FALSE |
-- +---------+--------+------+----------+

Memodifikasi model

Di editor Data Query, jalankan perintah berikut.

ALTER MODEL [IF EXISTS] [catalog_name.][db_name.]model_name {
  RENAME TO new_table_name
  SET (key1=val1, ...)
  RESET (key1, ...)
}

Contoh

  • Ganti nama model yang terdaftar:

    ALTER MODEL m RENAME TO m1; -- Mengganti nama model menjadi m1.
  • Ubah parameter model:

    ALTER MODEL m SET ('system-prompt' = '<Your_System_Prompt>'); -- Menyesuaikan prompt sistem.
  • Atur ulang parameter model ke nilai default-nya:

    ALTER MODEL m RESET ('system-prompt'); -- Mengatur ulang prompt sistem.

Menghapus model

Di editor Data Query, jalankan perintah berikut.

DROP [TEMPORARY] MODEL [IF EXISTS] [catalog_name.][db_name.]model_name

Contoh

DROP MODEL m;