Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:DDL de modèle

Dernière mise à jour :Sep 29, 2026

Cette rubrique décrit les instructions du langage de définition de données (DDL) permettant d'enregistrer, d'interroger, de modifier et de supprimer des modèles d'IA dans Flink SQL.

Remarques sur l'utilisation

Prise en charge uniquement à partir de VVR 11.7. L'activation du service Flink AI Service (modèles intégrés) est requise.

Enregistrement d'un modèle

Une fois que le compte principal a activé le service Flink AI Service dans la région cible, vous pouvez créer un modèle en mode de modèle intégré.

CREATE TEMPORARY MODEL my_llm
INPUT (prompt String COMMENT 'Input prompt')
OUTPUT (response String COMMENT 'Model output')
WITH (
  'provider' = 'dashscope',
  'task' = 'chat/completions',
  'model' = 'qwen3.5-flash'
);
  • Le paramètre endpoint n'est pas requis. Le système sélectionne automatiquement le point de terminaison de service approprié.

  • Le paramètre api-key n'est pas requis. Le système s'authentifie à l'aide de la clé API gérée par Flink.

  • Le paramètre task est obligatoire pour déclarer le type de tâche du modèle.

Paramètres WITH

Général

Paramètre

Description

Type de données

Obligatoire

Valeur par défaut

Remarques

provider

Type de service de modèle.

String

Oui

Aucune

Valeurs valides : openai-compat, dashscope et triton.

  • dashscope (recommandé) : prend en charge les tâches multimodales telles que multimodal-embedding.

  • openai-compat : optionnel pour les tâches non multimodales.

  • triton : utilisé pour appeler un service d'inférence Triton. Pour plus d'informations, consultez la section Appel d'un service d'inférence Triton.

task

Type de tâche du modèle.

String

Oui

Aucune

Valeurs valides :

model

Modèle spécifique à appeler côté service.

String

Oui

Aucune

Sélectionnez un modèle en fonction du type de tâche. Pour plus d'informations, consultez la section Liste des modèles intégrés .

max-context-size

Taille maximale du contexte pour une seule requête.

Integer

Non

Aucune

Si la capacité maximale est dépassée, l'action définie dans context-overflow-action est déclenchée.

context-overflow-action

Action à entreprendre lorsque le contexte d'une requête dépasse la capacité maximale.

String

Non

truncated-tail

Valeurs valides :

  • truncated-tail : tronque automatiquement les jetons lorsque la capacité est dépassée, en conservant les max-context-size jetons les plus récents. Aucun journal n'est enregistré.

  • truncated-tail-log : tronque automatiquement les jetons en fin de séquence qui dépassent la capacité, en conservant les max-context-size jetons les plus récents. La troncature est journalisée.

  • truncated-head : tronque les premiers jetons en début de séquence, en conservant les max-context-size jetons les plus récents.

  • truncated-head-log : supprime les premiers jetons en début de séquence, en conservant les max-context-size jetons les plus récents. La troncature est journalisée.

  • skipped : ignore directement l'enregistrement de données. Aucun journal n'est enregistré.

  • skipped-log : ignore les données et enregistre un journal.

error-handling-strategy

Stratégie de gestion des erreurs de requête de modèle.

String

Non

retry

Valeurs valides :

  • retry : renvoie la requête.

  • failover : lève une exception.

  • ignore : ignore l'exception et saute l'enregistrement de données.

retry-num

Nombre de tentatives de nouvelle tentative.

int

Non

100

Prend effet uniquement lorsque error-handling-strategy = retry.

retry-fallback-strategy

Stratégie de secours à utiliser après avoir atteint le nombre maximal de nouvelles tentatives.

String

Non

failover

Valeurs valides :

Prend effet uniquement lorsque error-handling-strategy est défini sur une valeur autre que retry.

retry-backoff-strategy

Stratégie de temporisation des nouvelles tentatives. Définit le calcul de l'intervalle entre les tentatives.

String

Non

fixed

Valeurs valides :

  • fixed : intervalle fixe.

  • exponential : intervalle exponentiel.

retry-backoff-base-interval

Intervalle de temps de base pour la temporisation des nouvelles tentatives.

Duration

Non

1 s

-

content-type

Type de données d'entrée. S'applique aux tâches Chat/Completions et Multimodal-Embedding.

String

Non

text

  • Type de contenu pour une colonne d'entrée unique. Valeurs valides : text (par défaut) ou image_url.

  • Exclusif mutuellement avec content-types.

content-types

Types de contenu des colonnes d'entrée pour les modèles multimodaux. S'applique aux tâches Chat/Completions et Multimodal-Embedding.

String

Non

Aucune

  • Liste séparée par des points-virgules. Chaque colonne d'entrée correspond à un type (par exemple, text;image_url).

    Les types pris en charge incluent text, image_url et multi_image_urls.

  • Exclusif mutuellement avec content-type.

Remarque

Prise en charge uniquement à partir de VVR 11.8. Pour plus d'informations, consultez la section Appel général.

chat/completions

Les tâches de génération de texte utilisent chat/completions. Les paramètres suivants sont pris en charge :

Paramètre

Description

Type de données

Obligatoire

Valeur par défaut

Remarques

system-prompt

Invite système pour la requête.

String

Non

« You are a helpful assistant. »

Une chaîne vide est prise en charge.

temperature

Contrôle la régularité de la distribution de probabilité pour chaque jeton candidat.

Float

Non

Aucune

Plage valide : [0, 2). Une valeur de 0 n'est pas recommandée et n'a aucune signification pratique.

Une température plus élevée aplatit la distribution de probabilité, ce qui permet de sélectionner davantage de jetons à faible probabilité et rend la sortie plus diversifiée. Une température plus basse affine la distribution, augmentant ainsi la probabilité des jetons à haute probabilité et rendant la sortie plus déterministe.

top-p

Seuil de probabilité pour l'échantillonnage par noyau.

Float

Non

Aucune

Une valeur plus élevée augmente l'aléatoire, tandis qu'une valeur plus basse augmente le déterminisme.

stop

Séquence d'arrêt.

String

Non

Aucune

Le modèle arrête la génération de contenu lorsque la chaîne spécifiée est sur le point d'être produite.

max-tokens

Nombre maximal de jetons que le modèle peut générer.

Integer

Non

Aucune

Limité par les capacités du modèle.

presence-penalty

Contrôle la répétition des jetons.

Double

Non

Aucune

Plage valide : -2,0 à 2,0. Les valeurs positives pénalisent les jetons déjà apparus dans le texte, incitant le modèle à aborder de nouveaux sujets.

n

Nombre de sorties à générer pour chaque entrée.

int

Non

Aucune

-

seed

Graine aléatoire pour la réponse du modèle.

Long

Non

Aucune

Si spécifié, la plateforme de modèle tente un échantillonnage déterministe, de sorte que les requêtes répétées avec la même graine et les mêmes paramètres renvoient le même résultat dans la mesure du possible.

response-format

Format de la valeur de retour.

String

Non

text

Valeurs valides :

  • text

  • json_object

extra-body

Corps HTTP supplémentaire pour la requête.

String

Non

Aucune

Doit être une chaîne au format JSON. Pour plus d'informations, consultez la section description extra-body.

user-prompt

Invite utilisateur pour la requête.

String

Non

Aucune

Similaire à system-prompt, mais soumis depuis le rôle de l'utilisateur.

embeddings

Les tâches d'incorporation de texte utilisent embeddings. Les paramètres suivants sont pris en charge :

Paramètre

Description

Type de données

Obligatoire

Valeur par défaut

Remarques

dimension

Dimension des vecteurs de sortie.

Integer

Non

Aucune

Les dimensions prises en charge dépendent du modèle spécifique. Les valeurs courantes sont 1024, 768 et 512.

multimodal-embedding

Les tâches d'incorporation multimodale utilisent multimodal-embedding pour convertir des entrées textuelles, imagées ou mixtes (texte et image) en vecteurs. Les paramètres suivants sont pris en charge :

Paramètre

Description

Type de données

Obligatoire

Valeur par défaut

Remarques

dimension

Dimension des vecteurs de sortie.

Integer

Non

Aucune

Les dimensions prises en charge dépendent du modèle spécifique. Les valeurs courantes sont 1024, 768 et 512.

Exemple 1 : Images uniquement

CREATE TEMPORARY MODEL multimodal_embedding_model
INPUT (`input` STRING)
OUTPUT (`content` ARRAY<FLOAT>)
WITH (
  'provider' = 'dashscope',
  'task' = 'multimodal-embedding',
  'model' = 'qwen3-vl-embedding',
  'dimension' = '512',
  'content-type' = 'image_url'
);

Exemple 2 : Texte et image

La fusion texte-image s'applique uniquement aux modèles dont la capacité de fusion est activée par enable_fusion, comme décrit dans la section Vecteurs fusionnés multimodaux. Flink détermine s'il faut activer la fusion en fonction du nombre de colonnes d'entrée du modèle. Aucun paramètre supplémentaire n'est requis.

CREATE TEMPORARY MODEL fusion_embedding_model
INPUT (text_input STRING, image_input STRING)
OUTPUT (embedding ARRAY<FLOAT>)
WITH (
  'provider' = 'dashscope',
  'task' = 'multimodal-embedding',
  'model' = 'qwen3-vl-embedding',
  'dimension' = '512',
  'content-types' = 'text;image_url'
);

description extra-body

La valeur de extra-body est une chaîne au format JSON utilisée pour ajouter des paramètres supplémentaires au corps de la requête du modèle. Les paramètres disponibles dépendent du fournisseur de service de modèle. Voici les paramètres courants pris en charge par Alibaba Cloud Model Studio (liste non exhaustive) :

Paramètre

Type

Description

top_k

Integer

Taille de l'ensemble de candidats pour l'échantillonnage. Une valeur plus élevée augmente l'aléatoire. Pour plus d'informations, consultez la section Corps de la requête.

enable_thinking

Boolean

Indique s'il faut activer le mode de réflexion approfondie (s'applique aux modèles prenant en charge la réflexion, tels que Qwen3). Pour plus d'informations, consultez la section Réflexion approfondie.

thinking_budget

Integer

Longueur maximale en jetons du processus de réflexion. Prend effet uniquement lorsque enable_thinking est défini sur true . Pour plus d'informations, consultez la section Limitation de la longueur de réflexion.

translation_options

Object

Paramètres de traduction pour les modèles de traduction. Pour plus d'informations, consultez la section Capacité de traduction.

enable_search

Boolean

Indique s'il faut utiliser les résultats de recherche Internet pour aider à la génération de réponses. La valeur par défaut est false . Pour plus d'informations, consultez la section Recherche Web.

search_options

Object

Configuration de la stratégie de recherche Web. Prend effet uniquement lorsque enable_search est défini sur true . Pour plus d'informations, consultez la section Définition de la stratégie d'échelle de recherche.

Exemple

CREATE MODEL my_model
USING openai_compatible
WITH (
  'provider' = 'openai-compat',
  'model' = 'qwen3.5-flash',
  'task' = 'chat/completions',
  'extra-body' = '{"enable_thinking": true, "thinking_budget": 4096}'
);

Interrogation des modèles

Dans l'éditeur Data Query, exécutez l'une des commandes suivantes.

  • Répertoriez les noms des modèles enregistrés :

    SHOW MODELS [ ( FROM | IN ) [catalog_name.]database_name ];
  • Affichez l'instruction utilisée pour créer un modèle :

    SHOW CREATE MODEL [catalog_name.][db_name.]model_name;
  • Affichez le schéma d'entrée et de sortie d'un modèle :

    DESCRIBE MODEL [catalog_name.][db_name.]model_name;

Exemple

SHOW MODELS;

-- RESULT
--+------------+
--| model name |
--+------------+
--|          m |
--+------------+

DESCRIBE MODEL m;

-- RESULT
-- +---------+--------+------+----------+
-- |    name |   type | null | is input |
-- +---------+--------+------+----------+
-- | content | String | TRUE |     TRUE |
-- |   label | BIGINT | TRUE |    FALSE |
-- +---------+--------+------+----------+

Modification des modèles

Dans l'éditeur Data Query, exécutez la commande suivante.

ALTER MODEL [IF EXISTS] [catalog_name.][db_name.]model_name {
  RENAME TO new_table_name
  SET (key1=val1, ...)
  RESET (key1, ...)
}

Exemples

  • Renommez un modèle enregistré :

    ALTER MODEL m RENAME TO m1; -- Renames the model to m1.
  • Modifiez un paramètre de modèle :

    ALTER MODEL m SET ('system-prompt' = '<Your_System_Prompt>'); -- Adjusts the system prompt.
  • Réinitialisez un paramètre de modèle à sa valeur par défaut :

    ALTER MODEL m RESET ('system-prompt'); -- Resets the system prompt.

Suppression des modèles

Dans l'éditeur Data Query, exécutez la commande suivante.

DROP [TEMPORARY] MODEL [IF EXISTS] [catalog_name.][db_name.]model_name

Exemple

DROP MODEL m;