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
endpointtidak diperlukan. Sistem secara otomatis memilih titik akhir layanan yang sesuai. -
Parameter
api-keytidak diperlukan. Sistem melakukan autentikasi menggunakan API Key yang dikelola oleh Flink. -
Parameter
taskwajib 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:
|
|
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 |
|
Nilai yang valid:
|
|
error-handling-strategy |
Strategi penanganan error permintaan model. |
String |
Tidak |
retry |
Nilai yang valid:
|
|
retry-num |
Jumlah upaya pengulangan. |
int |
Tidak |
100 |
Berlaku hanya ketika |
|
retry-fallback-strategy |
Strategi fallback yang digunakan setelah jumlah maksimum pengulangan tercapai. |
String |
Tidak |
failover |
Nilai yang valid: Berlaku hanya ketika |
|
retry-backoff-strategy |
Strategi backoff pengulangan. Menentukan cara menghitung interval antar pengulangan. |
String |
Tidak |
fixed |
Nilai yang valid:
|
|
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 |
|
|
content-types |
Jenis konten kolom input untuk model multimodal. Berlaku untuk tugas Chat/Completions dan Multimodal-Embedding. |
String |
Tidak |
Tidak ada |
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:
|
|
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 |
|
|
Integer |
Ukuran set kandidat pengambilan sampel. Nilai yang lebih besar meningkatkan keacakan. Untuk detailnya, lihat Request body. |
|
|
Boolean |
Apakah akan mengaktifkan mode pemikiran mendalam (berlaku untuk model yang mendukung pemikiran, seperti Qwen3). Untuk detailnya, lihat Deep thinking. |
|
|
Integer |
Panjang token maksimum untuk proses pemikiran. Berlaku hanya ketika |
|
|
Object |
Parameter terjemahan untuk model terjemahan. Untuk detailnya, lihat Translation capability. |
|
|
Boolean |
Apakah akan menggunakan hasil pencarian internet untuk membantu generasi jawaban. Default-nya |
|
|
Object |
Konfigurasi strategi pencarian web. Berlaku hanya ketika |
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;