すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:AI_MASK

最終更新日:Dec 04, 2025

本トピックでは、AI_MASK を使用して大規模 AI モデルでデータマスキングを実行する方法について説明します。

制限事項

  • この機能は、Ververica Runtime (VVR) 11.4 以降のバージョンでのみサポートされています。

  • AI_MASK 文の Flink オペレーターのスループットは、モデルプラットフォームのトラフィックの速度制限によって制限されます。トラフィックがプラットフォームの制限に達すると、Flink ジョブでバックプレッシャーが発生し、このオペレーターがボトルネックになります。深刻な速度制限は、タイムアウトエラーを引き起こし、ジョブが再起動する原因となる可能性があります。

構文

AI_MASK(
  MODEL => MODEL <MODEL NAME>, 
  INPUT => <INPUT COLUMN NAME>,
  MASK_ENTITIES => <MASK ENTITIES>
)

入力パラメーター

パラメーター

データ型

説明

MODEL <MODEL NAME>

MODEL

登録されたモデルサービスの名前。詳細については、「モデル設定」をご参照のうえ、モデルサービスを登録してください。

注意:このモデルの出力タイプは VARIANT である必要があります。

<INPUT COLUMN NAME>

STRING

モデルが分析する元のテキスト。

<MASK ENTITIES>

ARRAY<STRING>

マスキング対象のエンティティ。

注意:この入力パラメーターは定数である必要があります。

出力

パラメーター

データ型

説明

masked_text

STRING

マスキングされたテキスト。

detected_entities

ARRAY<STRING>

検出されたエンティティ。

テストデータ

ID

内容

1

太郎は勉強が大好きで、空き時間にはいつも読書をしています。

テスト文

このサンプル SQL 文では、Qwen-Plus モデルを作成し、AI_MASK を使用してデータマスキングを実行します。

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, '田中さんは勉強が大好きです。彼はいつも空き時間に読書をしています。');

-- 位置引数を使用して AI_MASK を呼び出す
SELECT id, masked_text, detected_entities
FROM infos,
LATERAL TABLE(
  AI_MASK(
    MODEL general_model, 
    content, 
    ARRAY['name']
    ));

-- 名前付き引数を使用して AI_MASK を呼び出す
SELECT id, masked_text, detected_entities
FROM infos,
LATERAL TABLE(
  AI_MASK(
    MODEL => MODEL general_model, 
    INPUT => content, 
    MASK_ENTITIES => ARRAY['name']
    ));

出力結果

id

masked_text

detected_entities

1

[NAME] は勉強が大好きです。彼はいつも空き時間に読書をしています。

[{"エンティティ":"ティモ","タイプ":"名前"}]