Bu konu, Flink SQL'de AI modellerini kaydetmek, sorgulamak, değiştirmek ve silmek için kullanılan veri tanımlama dili (DDL) deyimlerini açıklar.
Kullanım notları
Yalnızca VVR 11.7 veya sonraki sürümlerde desteklenir. Flink AI Service (yerleşik modeller) hizmetinin etkinleştirilmiş olması gerekir.
Model kaydetme
Ana hesap hedef bölgede Flink AI Service hizmetini etkinleştirdikten sonra, yerleşik model modunda bir model oluşturabilirsiniz.
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'
);
endpointparametresi gerekli değildir. Sistem uygun hizmet uç noktasını otomatik olarak seçer.api-keyparametresi gerekli değildir. Sistem, Flink tarafından yönetilen API Anahtarı'nı kullanarak kimlik doğrulaması yapar.taskparametresi, model görev türünü bildirmek için gereklidir.
WITH parametreleri
Genel
|
Parametre |
Açıklama |
Veri türü |
Gerekli |
Varsayılan değer |
Açıklamalar |
|
provider |
Model hizmet türü. |
String |
Evet |
Yok |
Geçerli değerler:
|
|
task |
Model görev türü. |
String |
Evet |
Yok |
Geçerli değerler: |
|
model |
Hizmet tarafında çağrılacak belirli model. |
String |
Evet |
Yok |
Görev türüne göre bir model seçin. Ayrıntılar için bkz. Yerleşik model listesi . |
|
max-context-size |
Tek bir istek için maksimum bağlam boyutu. |
Integer |
Hayır |
Yok |
Maksimum kapasite aşılırsa context-overflow-action içinde tanımlanan eylem tetiklenir. |
|
context-overflow-action |
Bir isteğin bağlamı maksimum kapasiteyi aştığında alınacak eylem. |
String |
Hayır |
|
Geçerli değerler:
|
|
error-handling-strategy |
Model istek hatalarını işleme stratejisi. |
String |
Hayır |
retry |
Geçerli değerler:
|
|
retry-num |
Yeniden deneme sayısı. |
int |
Hayır |
100 |
Yalnızca |
|
retry-fallback-strategy |
Maksimum yeniden deneme sayısına ulaşıldıktan sonra kullanılacak geri dönüş stratejisi. |
String |
Hayır |
failover |
Geçerli değerler: Yalnızca |
|
retry-backoff-strategy |
Yeniden deneme geri çekilme stratejisi. Yeniden denemeler arasındaki aralığın nasıl hesaplanacağını tanımlar. |
String |
Hayır |
fixed |
Geçerli değerler:
|
|
retry-backoff-base-interval |
Yeniden deneme geri çekilmesi için temel zaman aralığı. |
Duration |
Hayır |
1 s |
- |
|
content-type |
Giriş verisinin türü. Chat/Completions ve Multimodal-Embedding görevleri için geçerlidir. |
String |
Hayır |
text |
|
|
content-types |
Çok modlu modeller için giriş sütunlarının içerik türleri. Chat/Completions ve Multimodal-Embedding görevleri için geçerlidir. |
String |
Hayır |
Yok |
Not
Yalnızca VVR 11.8 veya sonraki sürümlerde desteklenir. Ayrıntılar için bkz. Genel çağrı. |
chat/completions
Metin oluşturma görevleri chat/completions kullanır. Aşağıdaki parametreler desteklenir:
|
Parametre |
Açıklama |
Veri türü |
Gerekli |
Varsayılan değer |
Açıklamalar |
|
system-prompt |
İstek için sistem istemi. |
String |
Hayır |
"You are a helpful assistant." |
Boş bir dize desteklenir. |
|
temperature |
Her aday belirteç için olasılık dağılımının pürüzsüzlüğünü kontrol eder. |
Float |
Hayır |
Yok |
Geçerli aralık: [0, 2). 0 değeri önerilmez ve pratik bir anlamı yoktur. Daha yüksek bir sıcaklık, olasılık dağılımını düzleştirerek daha düşük olasılıklı belirteçlerin seçilmesini sağlar ve çıktıyı daha çeşitli hale getirir. Daha düşük bir sıcaklık, dağılımı keskinleştirerek yüksek olasılıklı belirteçlerin seçilme olasılığını artırır ve çıktıyı daha deterministik yapar. |
|
top-p |
Çekirdek örnekleme için olasılık eşiği. |
Float |
Hayır |
Yok |
Daha yüksek bir değer rastgeleliği artırırken, daha düşük bir değer determinizmi artırır. |
|
stop |
Bir durdurma dizisi. |
String |
Hayır |
Yok |
Belirtilen dize üretilmek üzereyken model içerik oluşturmayı durdurur. |
|
max-tokens |
Modelin oluşturabileceği maksimum belirteç sayısı. |
Integer |
Hayır |
Yok |
Modelin yetenekleriyle sınırlıdır. |
|
presence-penalty |
Belirteç tekrarını kontrol eder. |
Double |
Hayır |
Yok |
Geçerli aralık: -2,0 ile 2,0. Pozitif değerler, metinde zaten yer alan belirteçlere ceza uygular ve modelin yeni konuları tartışma olasılığını artırır. |
|
n |
Her giriş için oluşturulacak çıktı sayısı. |
int |
Hayır |
Yok |
- |
|
seed |
Model yanıtı için rastgele sayı tohumu. |
Long |
Hayır |
Yok |
Belirtildiğinde, model platformu deterministik örnekleme yapmaya çalışır; böylece aynı tohum ve parametrelerle yapılan tekrarlayan istekler mümkün olduğunca aynı sonucu döndürür. |
|
response-format |
Dönüş değerinin biçimi. |
String |
Hayır |
text |
Geçerli değerler:
|
|
extra-body |
İstek için ek HTTP gövdesi. |
String |
Hayır |
Yok |
JSON biçimli bir dize olmalıdır. Ayrıntılar için bkz. extra-body açıklaması. |
|
user-prompt |
İstek için kullanıcı istemi. |
String |
Hayır |
Yok |
system-prompt'a benzer ancak kullanıcının rolünden gönderilir. |
embeddings
Metin yerleştirme görevleri embeddings kullanır. Aşağıdaki parametreler desteklenir:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
multimodal-embedding
Çok modlu yerleştirme görevleri, metin, görüntü veya karma metin ve görüntü girdilerini vektörlere dönüştürmek için multimodal-embedding kullanır. Aşağıdaki parametreler desteklenir:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Örnek 1: Yalnızca görüntüler
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'
);
Örnek 2: Metin ve görüntü
Metin ve görüntü birleştirme, yalnızca enable_fusion ile birleştirme özelliği etkinleştirilen modeller için geçerlidir; bu durum Çok modlu birleştirilmiş vektörler bölümünde açıklanmıştır. Flink, modele ait giriş sütunlarının sayısına göre birleştirmeyi etkinleştirip etkinleştirmeyeceğini belirler. Ek bir parametre gerekmez.
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'
);
extra-body açıklaması
extra-body değeri, model istek gövdesine ek parametreler eklemek için kullanılan JSON biçimli bir dizedir. Kullanılabilir parametreler model hizmet sağlayıcısına bağlıdır. Aşağıda, Alibaba Cloud Model Studio tarafından desteklenen yaygın parametreler listelenmiştir (ancak bunlarla sınırlı değildir):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Örnek
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}'
);
Modelleri sorgulama
Data Query düzenleyicisinde aşağıdaki komutlardan birini çalıştırın.
-
Kayıtlı modellerin adlarını listeleyin:
SHOW MODELS [ ( FROM | IN ) [catalog_name.]database_name ]; -
Bir modeli oluşturmak için kullanılan deyimi gösterin:
SHOW CREATE MODEL [catalog_name.][db_name.]model_name; -
Bir modelin giriş ve çıkış şemasını gösterin:
DESCRIBE MODEL [catalog_name.][db_name.]model_name;
Örnek
SHOW MODELS;
-- RESULT
--+------------+
--| model name |
--+------------+
--| m |
--+------------+
DESCRIBE MODEL m;
-- RESULT
-- +---------+--------+------+----------+
-- | name | type | null | is input |
-- +---------+--------+------+----------+
-- | content | String | TRUE | TRUE |
-- | label | BIGINT | TRUE | FALSE |
-- +---------+--------+------+----------+
Modelleri değiştirme
Data Query düzenleyicisinde aşağıdaki komutu çalıştırın.
ALTER MODEL [IF EXISTS] [catalog_name.][db_name.]model_name {
RENAME TO new_table_name
SET (key1=val1, ...)
RESET (key1, ...)
}
Örnekler
-
Kayıtlı bir modeli yeniden adlandırın:
ALTER MODEL m RENAME TO m1; -- Renames the model to m1. -
Bir model parametresini değiştirin:
ALTER MODEL m SET ('system-prompt' = '<Your_System_Prompt>'); -- Adjusts the system prompt. -
Bir model parametresini varsayılan değerine sıfırlayın:
ALTER MODEL m RESET ('system-prompt'); -- Resets the system prompt.
Modelleri silme
Data Query düzenleyicisinde aşağıdaki komutu çalıştırın.
DROP [TEMPORARY] MODEL [IF EXISTS] [catalog_name.][db_name.]model_name
Örnek
DROP MODEL m;