Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:AI_EXTRACT

Dernière mise à jour :Sep 24, 2026

AI_EXTRACT extrait des informations structurées du texte brut à l'aide d'un grand modèle de langage (LLM).

Limites

  • Uniquement pris en charge par le moteur de calcul en temps réel Ververica Runtime (VVR) 11.4 ou version ultérieure.

  • Pour utiliser le service Flink AI (modèles intégrés), vous devez disposer de la version VVR 11.7 ou ultérieure et activer le service Flink AI. Pour plus de détails, consultez la rubrique Service Flink AI (modèles intégrés).

  • Le débit est limité par la plateforme de service de modèle. Lorsque le trafic atteint la limite d'accès de la plateforme, une contre-pression s'exerce sur les opérateurs Flink utilisés dans les instructions AI_EXTRACT. Une limitation de débit sévère peut provoquer des délais d'expiration et entraîner le redémarrage du job Flink.

Syntaxe

AI_EXTRACT(
  MODEL => MODEL <MODEL NAME>,
  INPUT => <INPUT COLUMN NAME>,
  EXTRACT_SCHEMA => <EXTRACT SCHEMA>
)

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 la rubrique Paramètres du modèle. Remarque : le type de sortie de ce modèle doit être VARIANT.
<INPUT COLUMN NAME> STRING Colonne contenant le texte brut dont il faut extraire les informations.
<EXTRACT_SCHEMA> STRING Chaîne JSON définissant les champs à extraire et leurs types de données. Doit être une constante.

Valeurs de retour

Colonne Type de données Description
extracted_json STRING Champs extraits sous forme de chaîne JSON.

Exemples

Données de test

id description
1 Xiao Ming a 18 ans et vit à Hangzhou. Son numéro de téléphone est .

Instructions SQL

L'exemple suivant utilise un modèle intégré Flink et la fonction AI_EXTRACT pour extraire les informations utilisateur.

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, description)
AS VALUES (1, 'Xiao Ming is 18 years old and lives in Hangzhou. His phone number is ******.');

-- Positional argument style
SELECT id, extracted_json
FROM infos,
LATERAL TABLE(
  AI_EXTRACT(
    MODEL general_model,
    description,
    '{"name":"string","phone":"string","address":"string","age":"int"}'));

-- Named argument style
SELECT id, extracted_json
FROM infos,
LATERAL TABLE(
  AI_EXTRACT(
    MODEL => MODEL general_model,
    INPUT => description,
    EXTRACT_SCHEMA => '{"name":"string","phone":"string","address":"string","age":"int"}'));

Sortie

id extracted_json
1 {"address":"Hangzhou","age":18,"name":"Xiao Ming","phone":"******"}