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
Nous vous recommandons d'utiliser les modèles intégrés fournis par le service Flink AI. Vous n'avez pas besoin de configurer les paramètres
endpointniapi-key.L'utilisation des modèles intégrés nécessite Ververica Runtime (VVR) version 11.7 ou ultérieure.
CREATE MODEL
Enregistrer un modèle
Dans l'éditeur Data Query, exécutez la commande suivante.
CREATE [TEMPORARY] MODEL [catalog_name.][db_name.]model_name
INPUT ( { <physical_column_definition> [, ...n] )
OUTPUT ( { <physical_column_definition> [, ...n] )
WITH (key1=val1, key2=val2, ...)
<physical_column_definition>:
column_name column_type [COMMENT column_comment]
|
Clause |
Description |
Paramètres clés |
Contraintes de schéma |
Exemple |
|
INPUT |
Définit les noms des colonnes, les types de données et l'ordre des données d'entrée du modèle. |
|
Requiert exactement une colonne de type STRING. |
|
|
OUTPUT |
Définit les noms des colonnes, les types de données et l'ordre des données de sortie du modèle. |
|
Les contraintes varient selon le type de tâche du modèle :
|
|
|
WITH |
Consultez la section Paramètres WITH. |
|
Aucune. |
|
Exemple
Une fois que le compte principal a activé le service Flink AI dans la région cible, vous pouvez créer un modèle en mode modèle intégré.
CREATE TEMPORARY MODEL my_llm
INPUT (prompt String COMMENT 'Input prompt')
OUTPUT (response String COMMENT 'Model output')
WITH (
'provider' = 'openai-compat',
'task' = 'chat/completions',
'model' = 'qwen3.6-flash'
);
Le paramètre
endpointn'est pas requis. Le système sélectionne automatiquement l'endpoint de service approprié.Le paramètre
api-keyn'est pas requis. Le système s'authentifie à l'aide de la clé API gérée par Flink.Le paramètre
taskest obligatoire pour déclarer le type de tâche du modèle.
La facturation des modèles intégrés s'effectue par requête. Pour plus de détails, consultez la rubrique Facturation du service IA (paiement à l'utilisation).
Paramètres WITH
Général
|
Paramètre |
Description |
Type |
Obligatoire |
Valeur par défaut |
Remarques |
|
provider |
Type de service de modèle. |
string |
Oui |
Aucune |
La valeur doit être |
|
endpoint |
Endpoint du service de modèle. Non requis lors de l'utilisation de modèles intégrés. |
string |
Non |
Aucune |
Nous vous recommandons d'utiliser les modèles intégrés. Ce paramètre n'est alors pas requis. |
|
api-key |
Clé API. Non requise lors de l'utilisation de modèles intégrés. |
string |
Aucune |
Nous vous recommandons d'utiliser les modèles intégrés. Ce paramètre n'est alors pas requis. Nom de clé précédent : |
|
|
max-context-size |
Taille maximale du contexte pour une seule requête, exprimée en tokens. |
integer |
Non |
Aucune |
Si la capacité maximale est dépassée, l'action définie dans |
|
context-overflow-action |
Action à entreprendre lorsque le contexte d'une requête dépasse la limite de tokens. |
string |
Non |
|
Valeurs valides :
|
|
error-handling-strategy |
Stratégie de gestion des erreurs lors des requêtes au modèle. |
string |
Non |
retry |
Valeurs valides :
|
|
retry-num |
Nombre de tentatives de nouvelle tentative. |
integer |
Non |
100 |
Prend effet uniquement lorsque |
|
retry-fallback-strategy |
Stratégie de secours à utiliser après avoir atteint le nombre maximal de nouvelles tentatives. |
string |
Non |
failover |
Les valeurs valides sont Ce paramètre prend effet uniquement lorsque |
|
retry-backoff-strategy |
Stratégie de temporisation exponentielle ou fixe pour les nouvelles tentatives. |
string |
Non |
fixed |
Valeurs valides :
|
|
retry-backoff-base-interval |
Intervalle de temps de base pour la stratégie de temporisation des nouvelles tentatives. |
duration |
Non |
1 s |
Intervalle de nouvelle tentative initial. Lorsque |
chat/completions
Les paramètres suivants sont spécifiques aux tâches de modèle chat/completions :
|
Paramètre |
Description |
Type |
Obligatoire |
Valeur par défaut |
Remarques |
|
model |
Modèle à appeler. |
string |
Oui |
Aucune |
Prend en charge les modèles de génération de texte. Remarque
La facturation est basée sur le modèle sélectionné et sur le nombre de tokens dans les entrées et les sorties. |
|
system-prompt |
Invite système pour la requête. |
string |
Oui |
"You are a helpful assistant." |
Nom de clé précédent : |
|
temperature |
Contrôle la régularité de la distribution de probabilité pour chaque token candidat. |
float |
Non |
Aucune |
Plage valide : [0, 2). Une valeur de 0 n'est pas recommandée. Une température plus élevée rend la sortie plus aléatoire, tandis qu'une valeur plus basse la rend plus déterministe. |
|
top-p |
Seuil de probabilité pour l'échantillonnage par noyau (nucleus sampling). |
float |
Non |
Aucune |
Une valeur plus élevée augmente le caractère aléatoire, tandis qu'une valeur plus basse augmente le déterminisme. Nom de clé précédent : |
|
stop |
Séquence d'arrêt. |
string |
Non |
Aucune |
Le modèle arrête la génération de tokens lorsque cette séquence est produite. La séquence n'est pas incluse dans la sortie finale. |
|
max-tokens |
Nombre maximal de tokens que le modèle peut générer. |
integer |
Non |
Aucune |
Nom de clé précédent : |
|
content-type |
Type de données d'entrée. |
string |
Non |
text |
|
|
presence-penalty |
Contrôle la répétition des tokens. |
double |
Non |
Aucune |
Plage valide : -2,0 à 2,0. Les valeurs positives pénalisent les tokens déjà apparus dans le texte, incitant le modèle à aborder de nouveaux sujets. |
|
n |
Nombre de choix de sortie à générer pour chaque message d'entrée. |
integer |
Non |
Aucune |
Lorsqu'elle est définie sur une valeur supérieure à 1, le modèle renvoie plusieurs sorties candidates par entrée, et la consommation de tokens augmente proportionnellement. |
|
seed |
Graine aléatoire pour la réponse du modèle. |
long |
Non |
Aucune |
Si spécifié, le fournisseur 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 doivent renvoyer le même résultat. Le déterminisme n'est pas garanti. |
|
response-format |
Format de la valeur de retour. |
string |
Non |
text |
Valeurs valides :
|
|
extra-header |
En-têtes HTTP supplémentaires pour la requête. |
string |
Non |
Aucune |
Doit être une chaîne au format JSON. Les valeurs des paires clé-valeur JSON doivent être des chaînes ou des listes de chaînes. |
|
extra-body |
Corps HTTP supplémentaire pour la requête. |
string |
Non |
Aucune |
Doit être une chaîne au format JSON. |
embeddings
Les paramètres suivants sont spécifiques aux tâches de modèle embeddings :
|
Paramètre |
Description |
Type |
Obligatoire |
Valeur par défaut |
Remarques |
|
model |
Modèle à appeler. |
string |
Oui |
Aucune |
Prend en charge les modèles d'embedding de texte. Remarque
La facturation est basée sur le modèle sélectionné et sur le nombre de tokens dans les entrées et les sorties. |
|
dimension |
Dimension des vecteurs de sortie. |
integer |
Non |
Aucune |
Les dimensions prises en charge dépendent du modèle spécifique. Les valeurs courantes incluent 1024, 768 et 512. |
Interrogation des modèles
Dans l'éditeur Data Query, exécutez l'une des commandes suivantes.
-
Répertorie les noms des modèles enregistrés :
SHOW MODELS [ ( FROM | IN ) [catalog_name.]database_name ]; -
Affiche l'instruction utilisée pour créer un modèle :
SHOW CREATE MODEL [catalog_name.][db_name.]model_name; -
Affiche 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 ('endpoint' = '<Your_Endpoint>'); -- Adjusts the endpoint path. -
Réinitialisez un paramètre de modèle à sa valeur par défaut :
ALTER MODEL m RESET ('endpoint'); -- Resets the endpoint path.
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;