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 256 GB、スペースブラック、5G 対応スマートフォン、A17 Pro チップ、チタニウムフレーム | アパレル |
SQL
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 products(id, content)
AS VALUES
(1, '李寧 ウェイ・オブ・ウェイド 10 バスケットボールシューズ、パフォーマンス重視のバスケットボールシューズ、衝撃吸収・反発機能搭載、ブラック/レッド'),
(2, 'Apple iPhone 15 Pro Max 256 GB、スペースブラック、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['デジタル', 'アパレル']));
以下のプレースホルダーを実際の値に置き換えてください。
| プレースホルダー | 説明 |
|---|---|
<YOUR ENDPOINT> |
モデルサービスのエンドポイント |
<YOUR KEY> |
モデルサービスの API キー |
出力
| 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で使用するためのモデルを登録および設定します。