Menerjemahkan kolom teks dalam pekerjaan Flink SQL menggunakan model bahasa besar (LLM).
Batasan
-
Memerlukan Ververica Runtime (VVR) 11.4 atau versi yang lebih baru.
-
Tingkat throughput tunduk pada pembatasan laju oleh platform model. Jika batas laju terlampaui, pekerjaan Flink mengalami tekanan balik dan operator ini menjadi bottleneck. Pembatasan laju yang parah memicu error timeout dan menyebabkan pekerjaan melakukan restart.
Sintaksis
AI_TRANSLATE(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>,
SOURCE_LANG => <SOURCE LANGUAGE>,
TARGET_LANG => <TARGET LANGUAGE>
)
Parameter
| Parameter |
Tipe data |
Deskripsi |
MODEL <MODEL NAME> |
MODEL |
Nama layanan model yang telah didaftarkan. Untuk informasi selengkapnya, lihat Pengaturan model. Tipe output dari model ini harus berupa VARIANT. |
<INPUT COLUMN NAME> |
STRING |
Teks sumber yang akan diterjemahkan. |
<SOURCE LANGUAGE> |
STRING |
Kode bahasa dari teks sumber (misalnya, zh untuk bahasa Tiongkok). Gunakan auto agar model mendeteksi bahasa secara otomatis. Harus berupa konstanta. |
<TARGET LANGUAGE> |
STRING |
Kode bahasa target (misalnya, zh untuk bahasa Tiongkok). Harus berupa konstanta. |
Bahasa yang didukung ditentukan oleh model yang Anda daftarkan.
Bahasa yang didukung
| Bahasa |
Kode |
| Arab |
ar |
| Tiongkok |
zh |
| Inggris |
en |
| Prancis |
fr |
| Jerman |
de |
| Jepang |
ja |
| Korea |
ko |
| Portugis |
pt |
| Rusia |
ru |
| Spanyol |
es |
Nilai kembalian
| Field |
Tipe data |
Deskripsi |
translated_text |
STRING |
Teks hasil terjemahan. |
detected_language |
STRING |
Bahasa sumber yang terdeteksi. |
Contoh
Contoh berikut membuat model Qwen-Plus dan menggunakan AI_TRANSLATE untuk menerjemahkan teks bahasa Inggris ke bahasa Tiongkok. Sintaksis argumen posisional maupun bernama ditampilkan.
Data uji
| id |
content |
| 1 |
I like Flink very much. It's so fast! |
Pernyataan SQL
CREATE TEMPORARY MODEL general_model
INPUT (`input` STRING)
OUTPUT (`content` VARIANT)
WITH (
'provider' = 'openai-compat',
'task' = 'chat/completions',
'model' = 'qwen-plus'
);
CREATE TEMPORARY VIEW infos(id, content)
AS VALUES (1, 'I like Flink very much. It''s so fast!');
-- Sintaksis argumen posisional
SELECT id, translated_text, detected_language
FROM infos,
LATERAL TABLE(
AI_TRANSLATE(
MODEL general_model,
content,
'auto',
'zh'
));
-- Sintaksis argumen bernama
SELECT id, translated_text, detected_language
FROM infos,
LATERAL TABLE(
AI_TRANSLATE(
MODEL => MODEL general_model,
INPUT => content,
SOURCE_LANG => 'auto',
TARGET_LANG => 'zh'
));
Ganti placeholder berikut dengan nilai aktual Anda:
Output
| id |
translated_text |
detected_language |
| 1 |
I like Flink very much. It's very fast! |
en |