Topik ini menjelaskan cara menggunakan fungsi AI_TRANSLATE untuk menerjemahkan teks dengan Large Language Model (LLM).
Batasan
Hanya didukung di Ververica Runtime (VVR) 11.4 dan versi yang lebih baru.
Throughput operator Flink untuk pernyataan AI_TRANSLATE tunduk pada rate limiting oleh platform model. Jika lalu lintas melebihi batas platform, pekerjaan Flink mengalami backpressure dan operator ini menjadi bottleneck. Rate limiting yang parah dapat memicu error timeout serta menyebabkan pekerjaan restart.
Sintaksis
AI_TRANSLATE(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>,
SOURCE_LANG => <SOURCE LANGUAGE>,
TARGET_LANG => <TARGET LANGUAGE>
)Parameter input
Parameter | Tipe data | Deskripsi |
MODEL <MODEL NAME> | MODEL | Nama layanan model yang telah didaftarkan. Untuk informasi selengkapnya, lihat Pengaturan model untuk mendaftarkan layanan model. Catatan: Tipe output model ini harus berupa VARIANT. |
<INPUT COLUMN NAME> | STRING | Teks sumber yang akan dianalisis oleh model. |
<SOURCE LANGUAGE> | STRING | Singkatan bahasa Inggris untuk bahasa sumber. Misalnya, masukkan Bahasa sumber berikut saat ini didukung: Tiongkok (zh), Inggris (en), Jepang (ja), Korea (ko), Prancis (fr), Jerman (de), Spanyol (es), Rusia (ru), Arab (ar), dan Portugis (pt) Catatan: Jenis bahasa yang benar-benar didukung ditentukan oleh model. Catatan: Parameter input ini harus berupa konstanta. |
<TARGET LANGUAGE> | STRING | Singkatan bahasa Inggris untuk bahasa target. Misalnya, untuk menerjemahkan ke bahasa Tiongkok, masukkan Bahasa target berikut saat ini didukung: Tiongkok (zh), Inggris (en), Jepang (ja), Korea (ko), Prancis (fr), Jerman (de), Spanyol (es), Rusia (ru), Arab (ar), dan Portugis (pt) Catatan: Jenis bahasa yang benar-benar didukung ditentukan oleh model. Catatan: Parameter input ini harus berupa konstanta. |
Output
Parameter | Tipe data | Deskripsi |
translated_text | STRING | Teks hasil terjemahan. |
detected_language | STRING | Bahasa yang terdeteksi. |
Contoh
Data uji
id | content |
1 | I like Flink very much. It's so fast! |
Pernyataan uji
Contoh pernyataan SQL berikut membuat model Qwen-Plus dan menggunakan fungsi AI_TRANSLATE untuk menerjemahkan teks input.
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 infos(id, content)
AS VALUES (1, 'I like Flink very much. It''s so fast!');
-- Gunakan argumen posisional untuk memanggil AI_TRANSLATE
SELECT id, translated_text, detected_language
FROM infos,
LATERAL TABLE(
AI_TRANSLATE(
MODEL general_model,
content,
'auto',
'zh'
));
-- Gunakan argumen bernama untuk memanggil AI_TRANSLATE
SELECT id, translated_text, detected_language
FROM infos,
LATERAL TABLE(
AI_TRANSLATE(
MODEL => MODEL general_model,
INPUT => content,
SOURCE_LANG =>'auto',
TARGET_LANG => 'zh'
));
Hasil output
id | translated_text | detected_language |
1 | I like Flink very much. It's very fast! | en |