Bu konuda, kendi API anahtarınızı talep etmeden Flink SQL işlerinde yerleşik büyük dil modeli hizmetini kullanarak akışlı duygu analizi ve vektörleştirme yapma yöntemi açıklanmaktadır.
Genel bilgiler
Flink AI hizmeti, yönetilen yerleşik büyük dil modelleri (LLM) sunar. Bir API anahtarı talep etmenize gerek yoktur. Akışlı yapay zeka çıkarımı ve vektörleştirmeyi etkinleştirmek için Flink SQL işlerinde doğrudan yerleşik modelleri kullanın. Aşağıdaki bölümlerde iki temel model kullanım örneği açıklanmaktadır:
-
chat/completions modeli: Diyalog oluşturma ve metin anlama temelli bir LLM'dir. Duygu analizi, niyet tanıma ve soru-cevap sistemleri gibi senaryolarda yaygın olarak kullanılır.
Duygu analizi: İşletmenizin sosyal medya yorumlarını gerçek zamanlı olarak sınıflandırarak kullanıcı duygusunu olumlu, olumsuz veya nötr olarak belirler.
Akıllı müşteri hizmetleri: Diyalog oluşturma yetenekleriyle desteklenen akıllı müşteri hizmetleri sistemleri için doğal dil etkileşimleri sağlar.
İçerik moderasyonu: Daha verimli içerik güvenliği denetimleri sağlamak amacıyla metindeki hassas içeriği veya ilke ihlallerini otomatik olarak algılar.
-
embedding modeli: Metni yüksek boyutlu vektör temsillerine dönüştürür. Yaygın uygulamalar arasında anlamsal arama, öneri sistemleri ve bilgi grafiği oluşturma yer alır.
Anlamsal arama: Ürün açıklamalarını veya kullanıcı sorgularını vektörleştirerek alaka düzeyine dayalı anlamsal aramayı etkinleştirir.
Öneri sistemleri: Kullanıcı ilgi alanları ile ürün özellikleri arasındaki ilişkileri keşfetmek için metin vektörleştirmesini kullanır ve öneri doğruluğunu artırır.
Bilgi grafiği: Yapılandırılmamış metni vektör formatına dönüştürerek sonraki bilgi çıkarma ve ilişki modelleme süreçlerini basitleştirir.
Ön koşullar
Bir Flink çalışma alanı etkinleştirdiniz. Daha fazla bilgi için bkz. Realtime Compute for Apache Flink'i Etkinleştirme.
Flink AI hizmetini etkinleştirdiniz. Daha fazla bilgi için bkz. Flink AI hizmeti (yerleşik modeller).
Sınırlamalar
Ververica Runtime (VVR) 11,7 veya sonraki bir sürüm gerektirir.
ML_PREDICT operatörünün aktarım hızı, model hizmeti platformunun hız sınırlama ilkesi tarafından kısıtlanır. Trafik sınırına ulaşıldığında Flink işi geri baskı yaşayabilir veya zaman aşımları nedeniyle yeniden başlatılabilir.
Adım 1: Yerleşik bir modeli kaydedin
Daha fazla bilgi için bkz. Model ayarları.
Chat/completions modeli
Aşağıdaki örnek SQL kodu, bir Flink yerleşik metin modelinin nasıl kaydedileceğini gösterir:
CREATE MODEL ai_analyze_sentiment
INPUT (`input` STRING)
OUTPUT (`content` STRING)
WITH (
'provider' = 'dashscope',
'task' = 'chat/completions',
'model' = 'qwen3.5-flash',
'system-prompt' = 'Classify the text below into one of the following labels: [positive, negative, neutral, mixed]. Output only the label.'
);
Embedding modeli
Aşağıdaki örnek SQL kodu, bir Flink yerleşik embedding modelinin nasıl kaydedileceğini gösterir:
CREATE MODEL embedding_model
INPUT (`input` STRING)
OUTPUT (`embeddings` ARRAY<FLOAT>)
WITH (
'provider' = 'dashscope',
'task' = 'embeddings',
'model' = 'text-embedding-v4'
);
Adım 2: Bir iş oluşturun
Bir SQL akış işi taslağı oluşturun. Daha fazla bilgi için bkz. Flink SQL işleri.
Adım 3: LLM analizi için bir SQL işi yazın
Chat/completions modeli
Film incelemelerinin duygu analizi için kaydedilen ai_analyze_sentiment modelini çağırmak üzere ML_PREDICT yapay zeka işlevini kullanın.
Aşağıdaki örnek SQL'i SQL düzenleyicisine kopyalayın.
-- Create a temporary sink table.
CREATE TEMPORARY TABLE print_sink(
id BIGINT,
movie_name VARCHAR,
predict_label VARCHAR,
actual_label VARCHAR
) WITH (
'connector' = 'print', -- Use the print connector.
'logger' = 'true' -- Display the results in the console.
);
-- Create a temporary data view to construct test data.
-- | id | movie_name | comment | actual_label |
-- | 1 | Her Story | My favorite part was when the kid guessed the sounds. It is one of the most romantic narratives I have seen in movies. Very gentle and loving. | POSITIVE |
-- | 2 | The Dumpling Queen | Unremarkable. | NEGATIVE |
CREATE TEMPORARY VIEW movie_comment(id, movie_name, user_comment, actual_label)
AS VALUES (1, 'Her Story', 'My favorite part was when the kid guessed the sounds. It is one of the most romantic narratives I have seen in movies. Very gentle and loving.', 'positive'), (2, 'The Dumpling Queen', 'Unremarkable.', 'negative');
INSERT INTO print_sink
SELECT id, movie_name, content as predict_label, actual_label
FROM ML_PREDICT(
TABLE movie_comment,
MODEL ai_analyze_sentiment, -- The registered Flink built-in text model.
DESCRIPTOR(user_comment));
Embedding modeli
Film incelemeleri için embedding'ler oluşturmak ve ardından sonuçları Milvus (genel önizleme) hizmetine yazmak için kaydedilen embedding_model modelini çağırmak üzere ML_PREDICT yapay zeka işlevini kullanın.
Aşağıdaki örnek SQL'i SQL düzenleyicisine kopyalayın.
-- Create a temporary sink table named milvus_sink.
CREATE TEMPORARY TABLE milvus_sink
(
id STRING,
movie_name STRING,
user_comment STRING,
embeddings ARRAY<FLOAT>,
PRIMARY KEY (id) NOT ENFORCED
)
WITH (
'connector' = 'milvus',
'endpoint' = '<YOUR-ENDPOINT>',
'port' = '<YOUR-PORT>',
'userName' = '<YOUR-USERNAME>',
'password' = '<YOUR-PASSWORD>',
'databaseName' = 'default',
'collectionName' = 'movie-comment-embeddings'
);
-- Create a temporary data view to construct test data.
-- | id | movie_name | comment |
-- | 1 | Her Story |My favorite part was when the kid guessed the sounds. It is one of the most romantic narratives I have seen in movies. Very gentle and loving.|
-- | 2 | The Dumpling Queen | Unremarkable. |
CREATE TEMPORARY VIEW movie_comment(id, movie_name, user_comment)
AS VALUES ('1', 'Her Story', 'My favorite part was when the kid guessed the sounds. It is one of the most romantic narratives I have seen in movies. Very gentle and loving.'), ('2', 'The Dumpling Queen', 'Unremarkable.');
INSERT INTO
milvus_sink
SELECT
id,
movie_name,
user_comment,
embeddings
FROM
ML_PREDICT (
TABLE movie_comment,
MODEL embedding_model, -- The registered Flink built-in embedding model.
DESCRIPTOR (user_comment)
);
Adım 4: İşi dağıtın ve başlatın
İşi dağıtın ve başlatın. Daha fazla bilgi için bkz. Flink SQL işleri.
Adım 5: Analiz sonuçlarını görüntüleyin
Chat/completions modeli
-
İş durumunun FINISHED olduğunu doğrulayın.

konsolunda, Deployments sayfasına gidin ve hedef işin adına tıklayın.
Logs sekmesinde, Task Managers alt sekmesine tıklayın ve current TaskManager öğesini seçin.
-
Logs seçeneğine tıklayın ve PrintSinkOutputWriter ile ilgili günlükleri arayın.
Modelin tahmin ettiği etiket
predict_labelgerçek etiketleactual_labeleşleşir.Task Managers sekmesinde soldaki Running Logs öğesini seçin. Günlükler,
+I[1, Her Story, positive, positive]ve+I[2, The Dumpling Queen, negative, negative]gibi PrintSinkOutputWriter çıktısını görüntüler. Bu durum, predict_label değerinin actual_label değeriyle eşleştiğini gösterir.
İlgili belgeler
Yapay zeka modelleri için veri tanımlama dili (DDL) deyimleri: Model yapılandırma
Yapay zeka işlevleri: ML_PREDICT
Vektör arama hizmeti: Milvus (genel önizleme)