All Products
Search
Document Center

Realtime Compute for Apache Flink:AI_CLASSIFY

Last Updated:Mar 27, 2026

AI_CLASSIFY mengklasifikasikan teks menggunakan model bahasa besar (LLM). Panggil fungsi ini dari Flink SQL untuk menambahkan kolom klasifikasi berbasis LLM ke dalam pipeline streaming Anda—tanpa perlu menulis UDF.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Ververica Runtime (VVR) 11.4 atau versi yang lebih baru

  • Model terdaftar dengan tipe output VARIANT. Untuk detailnya, lihat Pengaturan model.

Sintaksis

AI_CLASSIFY(
  MODEL => MODEL <model_name>,
  INPUT => <input_column>,
  LABELS => <labels>
)

Gaya argumen posisional maupun bernama sama-sama didukung. Lihat Contoh.

Parameter

Parameter Tipe Deskripsi
MODEL <model_name> MODEL Model terdaftar yang akan digunakan. Tipe output model harus berupa VARIANT.
<input_column> STRING Kolom teks yang akan diklasifikasikan.
<labels> ARRAY<STRING> Label klasifikasi. Harus berupa konstanta.

Nilai kembalian

AI_CLASSIFY mengembalikan satu baris per baris input dengan kolom-kolom berikut:

Kolom Tipe Deskripsi
category STRING Label yang ditetapkan oleh model.
confidence DOUBLE Tingkat kepercayaan untuk label yang ditetapkan.

Contoh

Contoh ini membuat model dan tampilan produk, lalu mengklasifikasikan setiap produk menggunakan gaya argumen posisional maupun bernama.

Data uji

id content label
1 Sepatu Basket Li-Ning Way of Wade 10, Sepatu Basket Performa, Penyerapan Guncangan dan Rebound, Hitam/Merah Digital
2 Apple iPhone 15 Pro Max 256GB, Space Black, Ponsel 5G, Chip A17 Pro, Bingkai Titanium Pakaian

SQL

CREATE TEMPORARY MODEL general_model
INPUT (`input` STRING)
OUTPUT (`content` VARIANT)
WITH (
    'provider' = 'openai-compat',
    'endpoint'  = '<YOUR ENDPOINT>',
    'apiKey'    = '<YOUR KEY>',
    'model'     = 'qwen-plus'
);

CREATE TEMPORARY VIEW products(id, content)
AS VALUES
  (1, 'Li-Ning Way of Wade 10 Basketball Shoes, Performance Basketball Shoes, Shock Absorption and Rebound, Black/Red'),
  (2, 'Apple iPhone 15 Pro Max 256GB, Space Black, 5G Phone, A17 Pro Chip, Titanium Frame');

-- Gaya argumen posisional
SELECT id, category, confidence
FROM products,
LATERAL TABLE(
  AI_CLASSIFY(MODEL general_model, content, ARRAY['Digital', 'Clothing']));

-- Gaya argumen bernama
SELECT id, category, confidence
FROM products,
LATERAL TABLE(
  AI_CLASSIFY(
    MODEL  => MODEL general_model,
    INPUT  => content,
    LABELS => ARRAY['Digital', 'Clothing']));

Ganti placeholder berikut dengan nilai aktual Anda:

Placeholder Deskripsi
<YOUR ENDPOINT> Titik akhir layanan model Anda
<YOUR KEY> Kunci API untuk layanan model Anda

Output

id category confidence
1 Pakaian 0,95
2 Digital 0,99

Catatan penggunaan

  • `LABELS` harus berupa konstanta. Array label dinamis atau hasil komputasi tidak didukung.

Batasan

  • Memerlukan Ververica Runtime (VVR) 11.4 atau versi yang lebih baru.

  • Throughput operator AI_CLASSIFY tunduk pada pembatasan laju Alibaba Cloud Model Studio. Ketika batas laju untuk suatu model tercapai, pekerjaan Flink mengalami tekanan balik dengan operator AI_CLASSIFY sebagai bottleneck. Dalam beberapa kasus, error timeout dan restart pekerjaan dapat terjadi.

Langkah selanjutnya

  • Pengaturan model: Daftarkan dan konfigurasikan model untuk digunakan dengan AI_CLASSIFY.