Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:AI_SENTIMENT

Dernière mise à jour :Aug 09, 2026

AI_SENTIMENT classe le sentiment d'une colonne de texte à l'aide d'un grand modèle de langage (LLM) et renvoie un score, un libellé et une valeur de confiance pour chaque ligne.

Limitations

  • 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 version ultérieure et activer le service Flink AI. Pour plus de détails, consultez Service Flink AI (modèles intégrés).

  • Le débit est limité par la limite de taux de la plateforme de modèles. Lorsque cette limite est dépassée, l'opérateur Flink subit une contre-pression et devient un goulot d'étranglement. Dans les cas graves, cela déclenche des erreurs de délai d'attente de l'opérateur et provoque le redémarrage du job.

Syntaxe

AI_SENTIMENT(
  MODEL => MODEL <model_name>,
  INPUT => <input_column>
)

Paramètres d'entrée

Paramètre Type de données Description
MODEL <model_name> MODEL Le service de modèle enregistré à utiliser. Enregistrez un service de modèle dans Paramètres du modèle. Le type de sortie du modèle doit être VARIANT.
<input_column> STRING La colonne de texte à analyser.

Sorties

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

Colonne Type de données Description
score DOUBLE Score de sentiment compris entre -1.0 et 1.0. Valeurs de référence : -1.0 extrêmement négatif, -0.5 modérément négatif, 0.0 neutre, 0.5 modérément positif, 1.0 extrêmement positif.
label STRING Classification du sentiment. Valeurs valides : positive, negative, neutral.
confidence DOUBLE Niveau de confiance du modèle dans le libellé prédit, compris entre 0.0 et 1.0.

Exemple

L'exemple suivant utilise un modèle intégré Flink et la fonction AI_SENTIMENT pour classifier le sentiment des commentaires de films.

Données de test

id movie_name comment actual_label
1 Good Stuff J'ai adoré la scène où l'enfant devinait les sons. C'était l'un des récits les plus romantiques que j'aie vus au cinéma. Très doux et plein d'amour. positive
2 Dumpling Queen Rien de remarquable. negative

Instruction SQL

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

-- Create a view with the test data
CREATE TEMPORARY VIEW movie_comment(id, movie_name, user_comment, actual_label)
AS VALUES
  (1, 'Good Stuff',      'I loved the part where the child guessed sounds. It was one of the most romantic narratives I\'ve seen in a movie. Very gentle and full of love.', 'positive'),
  (2, 'Dumpling Queen',  'Nothing remarkable.', 'negative');

-- Call AI_SENTIMENT using positional arguments
SELECT id, movie_name, actual_label, score, label, confidence
FROM movie_comment,
LATERAL TABLE(
  AI_SENTIMENT(MODEL general_model, user_comment));

-- Call AI_SENTIMENT using named arguments
SELECT id, movie_name, actual_label, score, label, confidence
FROM movie_comment,
LATERAL TABLE(
  AI_SENTIMENT(
    MODEL => MODEL general_model,
    INPUT => user_comment));

Sortie

Le label prédit correspond au actual_label pour les deux lignes.

id movie_name actual_label score label confidence
1 Good Stuff positive 0.8 positive 0.95
2 Dumpling Queen negative -1.0 negative 0.95