Topik ini menjelaskan cara menggunakan ML_PREDICT untuk inferensi Large Language Model (LLM).
Batasan
Hanya didukung di Ververica Runtime (VVR) 11.1 atau versi yang lebih baru.
Throughput operator Flink yang terkait dengan pernyataan ML_PREDICT dibatasi lajunya oleh Model Studio. Ketika batas lalu lintas yang diizinkan oleh Model Studio tercapai, pekerjaan Flink mengalami tekanan balik dengan operator ML_PREDICT sebagai bottleneck. Dalam kasus parah, hal ini dapat memicu error timeout dan restart pekerjaan untuk operator yang terdampak. Untuk informasi mengenai pembatasan laju berbagai model, lihat rate limiting.
Sintaks
ML_PREDICT(TABLE <TABLE NAME>, MODEL <MODEL NAME>, DESCRIPTOR(<INPUT COLUMN NAMES>))Parameter input
Parameter | Tipe data | Deskripsi |
TABLE <TABLE NAME> | TABLE | Aliran data masukan untuk inferensi model. Ini dapat berupa nama tabel fisik atau nama view. |
MODEL <MODEL NAME> | MODEL | Nama layanan model yang telah didaftarkan. Untuk detailnya, lihat model settings untuk mendaftarkan layanan model. |
DESCRIPTOR(<INPUT COLUMN NAMES>) | - | Kolom dalam data masukan yang digunakan untuk inferensi model. |
Contoh
Data uji
id | movie_name | user_comment | actual_label |
1 | Good Stuff | I love the part where kids guess voices. It's one of the most romantic narratives I've seen in a movie—gentle and full of warmth. | POSITIVE |
2 | Dumpling Queen | Nothing special. | NEGATIVE |
Pernyataan uji
Contoh SQL berikut membuat model Qwen-Turbo dan menggunakan fungsi ML_PREDICT untuk memprediksi klasifikasi sentimen ulasan film.
CREATE TEMPORARY MODEL ai_analyze_sentiment
INPUT (`input` STRING)
OUTPUT (`content` STRING)
WITH (
'provider'='bailian',
'endpoint'='<YOUR ENDPOINT>',
'apiKey' = '<YOUR KEY>',
'model'='qwen-turbo',
'systemPrompt' = 'Classify the text below into one of the following labels: [positive, negative, neutral, mixed]. Output only the label.'
);
CREATE TEMPORARY VIEW movie_comment(id, movie_name, user_comment, actual_label)
AS VALUES (1, 'Good Stuff', 'I love the part where kids guess voices. It''s one of the most romantic narratives I''ve seen in a movie—gentle and full of warmth.', 'positive'), (2, 'Dumpling Queen', 'Nothing special.', 'negative');
SELECT id, movie_name, content as predict_label, actual_label
FROM ML_PREDICT(TABLE movie_comment, MODEL ai_analyze_sentiment, DESCRIPTOR(user_comment));Hasil output
Hasil prediksi predict_label sesuai dengan hasil aktual actual_label.
id | movie_name | predict_label | actual_label |
1 | Good Stuff | POSITIVE | POSITIVE |
2 | Dumpling Queen | NEGATIVE | NEGATIVE |