このトピックでは、`AI_TRANSLATE` 関数を使用して、大規模 AI モデルでテキストを翻訳する方法について説明します。
制限事項
この関数は、Ververica Runtime (VVR) 11.4 以降のバージョンでのみサポートされています。
`AI_TRANSLATE` 文の Flink オペレーターのスループットは、モデルプラットフォームのトラフィックスロットリングによって制限されます。トラフィック制限に達すると、Flink ジョブはこのオペレーターからのバックプレッシャーを経験します。深刻なスロットリングは、タイムアウトエラーやジョブの再起動を引き起こす可能性があります。
構文
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)、英語 (en)、日本語 (ja)、韓国語 (ko)、フランス語 (fr)、ドイツ語 (de)、スペイン語 (es)、ロシア語 (ru)、アラビア語 (ar)、ポルトガル語 (pt)。 注意:サポートされている言語タイプはモデルによって決まります。 注意:この入力パラメーターは定数である必要があります。 |
<TARGET LANGUAGE> | STRING | ターゲット言語の英語の略語。たとえば、中国語に翻訳するには サポートされているターゲット言語は次のとおりです: 中国語 (zh)、英語 (en)、日本語 (ja)、韓国語 (ko)、フランス語 (fr)、ドイツ語 (de)、スペイン語 (es)、ロシア語 (ru)、アラビア語 (ar)、ポルトガル語 (pt)。 注意:サポートされている言語タイプはモデルによって決まります。 注意:この入力パラメーターは定数である必要があります。 |
出力
パラメーター | データ型 | 説明 |
translated_text | STRING | 翻訳済みテキスト。 |
detected_language | STRING | 検出された言語。 |
例
サンプルデータ
id | content |
1 | I like Flink very much. It's so fast! |
サンプル文
このサンプル SQL は、Qwen-Plus モデルを作成し、`AI_TRANSLATE` 関数を使用して入力テキストを翻訳します。
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!');
-- 位置引数を使用して AI_TRANSLATE を呼び出す
SELECT id, translated_text, detected_language
FROM infos,
LATERAL TABLE(
AI_TRANSLATE(
MODEL general_model,
content,
'auto',
'zh'
));
-- 名前付き引数を使用して 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'
));
出力
id | translated_text | detected_language |
1 | I like Flink very much. It is very fast! | en |