Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:AI_MASK

Dernière mise à jour :Aug 09, 2026

Détecte et masque les entités nommées dans un texte à l'aide d'un grand modèle de langage (LLM). Indiquez une colonne de texte et une liste de types d'entités : la fonction renvoie le texte masqué ainsi que la liste des entités détectées.

Limites

  • Ververica Runtime (VVR) 11.4 ou version ultérieure est requis.

  • Pour utiliser le service Flink AI (modèles intégrés), vous devez disposer de VVR 11.7 ou d'une version ultérieure et activer le service Flink AI. Pour plus de détails, consultez Flink AI service (built-in models).

  • Le débit est limité par la politique de limitation de la plateforme de service de modèle. Lorsque le trafic atteint la limite d'accès de la plateforme, une contre-pression se produit dans le job Flink et AI_MASK devient le goulot d'étranglement. Dans les cas graves, les opérateurs peuvent expirer et provoquer le redémarrage du job Flink.

Syntaxe

AI_MASK(
  MODEL => MODEL <model_name>,
  INPUT => <input_column>,
  MASK_ENTITIES => <mask_entities>
)

Les arguments nommés (illustrés ci-dessus) et les arguments positionnels sont pris en charge. Consultez Exemples.

Paramètres

Paramètre Type de données Description
MODEL <model_name> MODEL Nom du service de modèle enregistré. Pour plus d'informations, consultez Model settings. Le modèle doit renvoyer une sortie de type VARIANT.
<input_column> STRING Colonne de texte à analyser.
<mask_entities> ARRAY\ Types d'entités à détecter et à masquer. Ce paramètre doit être une constante.

Sorties

AI_MASK renvoie une ligne pour chaque ligne d'entrée avec les colonnes suivantes :

Colonne Type de données Description
masked_text STRING Texte d'entrée dont les entités détectées ont été remplacées par des espaces réservés entre crochets, par exemple [NAME].
detected_entities ARRAY\ Entités détectées dans le texte d'entrée. Chaque élément est une chaîne JSON contenant deux champs : entity (le fragment de texte original) et type (l'étiquette du type d'entité), par exemple {"entity":"Timmo","type":"name"}.

Exemples

L'exemple suivant utilise un modèle intégré Flink, charge des données d'exemple et masque les noms de personnes en utilisant à la fois la syntaxe des arguments positionnels et celle des arguments nommés.

Données de test

id content
1 Timmo really loves studying. He reads study materials whenever he has free time.

Instruction SQL

CREATE TEMPORARY MODEL general_model
INPUT (`input` STRING)
OUTPUT (`content` VARIANT)
WITH (
    'provider' = 'openai-compat',
    'task' = 'chat/completions',
    'model' = 'qwen3.6-flash'
);

CREATE TEMPORARY VIEW infos(id, content)
AS VALUES (1, 'Timmo really loves studying. He reads study materials whenever he has free time.');

-- Positional argument syntax
SELECT id, masked_text, detected_entities
FROM infos,
LATERAL TABLE(
  AI_MASK(
    MODEL general_model,
    content,
    ARRAY['name']
    ));

-- Named argument syntax
SELECT id, masked_text, detected_entities
FROM infos,
LATERAL TABLE(
  AI_MASK(
    MODEL => MODEL general_model,
    INPUT => content,
    MASK_ENTITIES => ARRAY['name']
    ));

Sortie

id masked_text detected_entities
1 [NAME] really loves studying. He reads study materials whenever he has free time. [{"entity":"Timmo","type":"name"}]