AI_CLASSIFY は、大規模言語モデル (LLM) を使用してテキストを分類します。Flink SQL から呼び出すことで、ストリーミングパイプラインに LLM を活用した分類カラムを追加できます(UDF は不要です)。
前提条件
作業を開始する前に、以下の要件を満たしていることを確認してください。
-
Ververica Runtime (VVR) 11.4 以降
-
VARIANT 出力タイプを持つ登録済みモデル。詳細については、「モデル設定」をご参照ください。
構文
AI_CLASSIFY(
MODEL => MODEL <model_name>,
INPUT => <input_column>,
LABELS => <labels>
)
位置引数スタイルと名前付き引数スタイルの両方がサポートされています。「使用例」をご参照ください。
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
MODEL <model_name> |
MODEL | 使用する登録済みモデル。モデルの出力タイプは VARIANT である必要があります。 |
<input_column> |
STRING | 分類対象のテキストカラム。 |
<labels> |
ARRAY<STRING> | 分類ラベル。定数である必要があります。 |
戻り値
AI_CLASSIFY は、入力行ごとに次のカラムを含む 1 行を返します。
| カラム | タイプ | 説明 |
|---|---|---|
category |
STRING | モデルによって割り当てられたラベル。 |
confidence |
DOUBLE | 割り当てられたラベルの信頼度。 |
使用例
この例では、モデルとプロダクトビューを作成し、位置引数スタイルおよび名前付き引数スタイルの両方で各プロダクトを分類します。
テストデータ
| id | content | label |
|---|---|---|
| 1 | 李寧 ウェイ・オブ・ウェイド 10 バスケットボールシューズ、パフォーマンス向け、衝撃吸収・反発性、ブラック/レッド | デジタル |
| 2 | Apple iPhone 15 Pro Max 256GB、スペースブラック、5G 対応スマートフォン、A17 Pro チップ、チタンフレーム | アパレル |
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 products(id, content)
AS VALUES
(1, '李寧 ウェイ・オブ・ウェイド 10 バスケットボールシューズ、パフォーマンス向け、衝撃吸収・反発性、ブラック/レッド'),
(2, 'Apple iPhone 15 Pro Max 256GB、スペースブラック、5G 対応スマートフォン、A17 Pro チップ、チタンフレーム');
-- 位置引数スタイル
SELECT id, category, confidence
FROM products,
LATERAL TABLE(
AI_CLASSIFY(MODEL general_model, content, ARRAY['デジタル', 'アパレル']));
-- 名前付き引数スタイル
SELECT id, category, confidence
FROM products,
LATERAL TABLE(
AI_CLASSIFY(
MODEL => MODEL general_model,
INPUT => content,
LABELS => ARRAY['デジタル', 'アパレル']));
以下のプレースホルダーを実際の値に置き換えてください。
| プレースホルダー | 説明 |
|---|
出力
| id | category | confidence |
|---|---|---|
| 1 | アパレル | 0.95 |
| 2 | デジタル | 0.99 |
注意事項
-
`LABELS` は定数である必要があります。 動的または計算されたラベル配列はサポートされていません。
制限事項
-
Ververica Runtime (VVR) 11.4 以降が必要です。
-
AI_CLASSIFY演算子のスループットは、Alibaba Cloud Model Studio のレート制限の影響を受けます。モデルのレート制限に達すると、Flink ジョブでAI_CLASSIFY演算子がボトルネックとなり、バックプレッシャーが発生します。場合によっては、タイムアウトエラーおよびジョブの再起動がトリガーされることがあります。
次のステップ
-
モデル設定:
AI_CLASSIFYで使用するモデルを登録および設定します。