AI_CLASSIFY classe du texte à l'aide d'un grand modèle de langage (LLM). Appelez cette fonction depuis Flink SQL pour ajouter une colonne de classification basée sur un LLM à votre pipeline de streaming, sans UDF.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Ververica Runtime (VVR) 11.4 ou version ultérieure
Un modèle enregistré dont le type de sortie est VARIANT. Pour plus de détails, consultez Paramètres du modèle.
Syntaxe
AI_CLASSIFY(
MODEL => MODEL <model_name>,
INPUT => <input_column>,
LABELS => <labels>
)
Les arguments positionnels et nommés sont tous deux pris en charge. Consultez la section Exemples.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
MODEL <model_name> |
MODEL | Modèle enregistré à utiliser. Le type de sortie du modèle doit être VARIANT. |
<input_column> |
STRING | Colonne de texte à classer. |
<labels> |
ARRAY |
Libellés de classification. Doit être une constante. |
Valeurs de retour
AI_CLASSIFY renvoie une ligne par ligne d'entrée, contenant les colonnes suivantes :
| Colonne | Type | Description |
|---|---|---|
category |
STRING | Libellé attribué par le modèle. |
confidence |
DOUBLE | Niveau de confiance associé au libellé attribué. |
Exemples
Cet exemple fait référence à un modèle intégré Flink et à une vue de produits, puis classe chaque produit en utilisant à la fois des arguments positionnels et nommés.
Données de test
| id | content | label |
|---|---|---|
| 1 | Li-Ning Way of Wade 10 Basketball Shoes, Performance Basketball Shoes, Shock Absorption and Rebound, Black/Red | Digital |
| 2 | Apple iPhone 15 Pro Max 256GB, Space Black, 5G Phone, A17 Pro Chip, Titanium Frame | Clothing |
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 products(id, content)
AS VALUES
(1, 'Li-Ning Way of Wade 10 Basketball Shoes, Performance Basketball Shoes, Shock Absorption and Rebound, Black/Red'),
(2, 'Apple iPhone 15 Pro Max 256GB, Space Black, 5G Phone, A17 Pro Chip, Titanium Frame');
-- Positional argument style
SELECT id, category, confidence
FROM products,
LATERAL TABLE(
AI_CLASSIFY(MODEL general_model, content, ARRAY['Digital', 'Clothing']));
-- Named argument style
SELECT id, category, confidence
FROM products,
LATERAL TABLE(
AI_CLASSIFY(
MODEL => MODEL general_model,
INPUT => content,
LABELS => ARRAY['Digital', 'Clothing']));
Sortie
| id | category | confidence |
|---|---|---|
| 1 | Clothing | 0,95 |
| 2 | Digital | 0,99 |
Remarques d'utilisation
LABELSdoit être une constante. Les tableaux de libellés dynamiques ou calculés ne sont pas pris en charge.
Limites
Nécessite Ververica Runtime (VVR) 11.4 ou version ultérieure.
L'utilisation du service Flink AI (modèles intégrés) requiert VVR 11.7 ou version ultérieure ainsi que l'activation du service Flink AI. Pour plus de détails, consultez Service Flink AI (modèles intégrés).
Le débit des opérateurs
AI_CLASSIFYest soumis aux limites de débit d'Alibaba Cloud Model Studio. Lorsque ces limites sont atteintes, le job Flink subit une contre-pression, les opérateursAI_CLASSIFYdevenant alors le goulot d'étranglement. Dans certains cas, cela peut entraîner des erreurs de délai d'attente et le redémarrage du job.
Étapes suivantes
Paramètres du modèle : enregistrez et configurez un modèle à utiliser avec
AI_CLASSIFY.