Flink SQL ジョブ内のテキストカラムを大規模言語モデル (LLM) を使用して翻訳します。
構文
AI_TRANSLATE(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>,
SOURCE_LANG => <SOURCE LANGUAGE>,
TARGET_LANG => <TARGET LANGUAGE>
)
パラメーター
| パラメーター |
データ型 |
説明 |
MODEL <MODEL NAME> |
MODEL |
登録済みモデルサービスの名前です。詳細については、「モデル設定」をご参照ください。このモデルの出力タイプは VARIANT である必要があります。 |
<INPUT COLUMN NAME> |
STRING |
翻訳対象のソーステキストです。 |
<SOURCE LANGUAGE> |
STRING |
ソーステキストの言語コードです(例:中国語の場合は zh)。モデルに自動的に言語を検出させるには、auto を指定します。定数である必要があります。 |
<TARGET LANGUAGE> |
STRING |
ターゲット言語の言語コードです(例:中国語の場合は zh)。定数である必要があります。 |
サポートされる言語は、登録するモデルによって異なります。
サポートされる言語
| 言語 |
コード |
| アラビア語 |
ar |
| 中国語 |
zh |
| 英語 |
en |
| フランス語 |
fr |
| ドイツ語 |
de |
| 日本語 |
ja |
| 韓国語 |
ko |
| ポルトガル語 |
pt |
| ロシア語 |
ru |
| スペイン語 |
es |
戻り値
| フィールド |
データ型 |
説明 |
translated_text |
STRING |
翻訳されたテキストです。 |
detected_language |
STRING |
検出されたソース言語です。 |
使用例
以下の例では、Qwen-Plus モデルを作成し、AI_TRANSLATE を使用して英語テキストを中国語に翻訳します。位置引数構文と名前付き引数構文の両方を示します。
テストデータ
| id |
content |
| 1 |
I like Flink very much. It's so fast! |
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!');
-- 位置引数構文
SELECT id, translated_text, detected_language
FROM infos,
LATERAL TABLE(
AI_TRANSLATE(
MODEL general_model,
content,
'auto',
'zh'
));
-- 名前付き引数構文
SELECT id, translated_text, detected_language
FROM infos,
LATERAL TABLE(
AI_TRANSLATE(
MODEL => MODEL general_model,
INPUT => content,
SOURCE_LANG => 'auto',
TARGET_LANG => 'zh'
));
以下のプレースホルダーを実際の値に置き換えてください:
出力
| id |
translated_text |
detected_language |
| 1 |
I like Flink very much. It's very fast! |
en |