Gunakan LLM dari Model Studio bersama Realtime Compute for Apache Flink untuk membangun pipa analitik AI real-time.
Informasi latar belakang
Model Studio adalah platform untuk membangun aplikasi berbasis LLM. Platform ini terintegrasi dengan Realtime Compute for Apache Flink, memungkinkan Anda menggabungkan kemampuan LLM dengan pipa data real-time Flink. Dua jenis model inti didukung:
-
Model chat/completions LLM untuk generasi dialog dan pemahaman teks, digunakan dalam analisis sentimen, pengenalan maksud, dan sistem tanya-jawab.
-
Analisis sentimen: Mengklasifikasikan komentar media sosial secara real-time sebagai positif, negatif, atau netral.
-
Layanan pelanggan cerdas: Mendukung interaksi bahasa alami untuk sistem layanan pelanggan otomatis.
-
Moderasi konten: Mendeteksi konten sensitif atau pelanggaran kebijakan dalam teks untuk audit keamanan konten.
-
-
Model embedding mengonversi teks menjadi representasi vektor berdimensi tinggi untuk pencarian semantik, sistem rekomendasi, dan pembangunan graf pengetahuan.
-
Pencarian semantik: Melakukan vektorisasi deskripsi produk atau kueri pengguna untuk pencarian berbasis relevansi.
-
Sistem rekomendasi: Menemukan keterkaitan antara minat pengguna dan fitur produk melalui vektorisasi teks.
-
Graf pengetahuan: Mengonversi teks tak terstruktur menjadi vektor untuk ekstraksi pengetahuan dan pemodelan hubungan.
-
Prasyarat
-
Ruang kerja Flink telah diaktifkan. Aktifkan Realtime Compute for Apache Flink.
-
Ruang kerja Model Studio telah diaktifkan dengan akses jaringan ke Konsol pengembangan Flink. Akses API model atau aplikasi di Model Studio melalui jaringan pribadi.
-
Jika Anda mengakses Model Studio melalui nama domain, daftarkan nama domain tersebut di Konsol pengembangan Flink. Kelola nama domain.
Batasan
Fitur ini hanya didukung pada Ververica Runtime (VVR) 11.1 dan versi yang lebih baru.
Langkah 1: Daftarkan model Model Studio
Daftarkan model dengan mengikuti Konfigurasikan model.
Model chat/completions
Contoh SQL berikut mendaftarkan model qwen-turbo:
CREATE MODEL ai_analyze_sentiment
INPUT (`input` STRING)
OUTPUT (`content` STRING)
WITH (
'provider'='bailian',
'endpoint'='<base_url>/compatible-mode/v1/chat/completions', -- Titik akhir untuk tugas model chat/completions.
'api-key' = '<YOUR KEY>',
'model'='qwen-turbo', -- Model Qwen-turbo.
'system-prompt' = 'Klasifikasikan teks di bawah ini ke dalam salah satu label berikut: [positive, negative, neutral, mixed]. Hanya tampilkan labelnya.'
);
Ganti <base_url> dalam nilai endpoint berdasarkan metode akses Anda:
-
Akses Internet: ganti
<base_url>denganhttps://dashscope-intl.aliyuncs.com. -
Akses jaringan pribadi VPC: ganti
<base_url>denganhttps://vpc-ap-southeast-1.dashscope.aliyuncs.com.CatatanParameter
endpointhanya mendukung protokol HTTPS.
Model embedding
Contoh SQL berikut mendaftarkan model text-embedding-v3:
CREATE MODEL embedding_model
INPUT (`input` STRING)
OUTPUT (`embeddings` ARRAY<FLOAT>)
WITH (
'provider'='bailian',
'endpoint'='https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings', -- Titik akhir untuk tugas model embedding.
'api-key' = '<YOUR KEY>',
'model'='text-embedding-v3' -- Model text-embedding-v3.
);
Langkah 2: Buat pekerjaan
Buat draf pekerjaan streaming SQL. Pekerjaan Flink SQL.
Langkah 3: Tulis pekerjaan SQL untuk analisis LLM
Model chat/completions
Panggil model ai_analyze_sentiment yang telah didaftarkan dengan ML_PREDICT untuk melakukan analisis sentimen pada ulasan film.
Operator ML_PREDICT tunduk pada batas laju Model Studio. Saat batas tercapai, tekanan balik terjadi dan operator ML_PREDICT menjadi bottleneck. Pembatasan kecepatan yang parah dapat menyebabkan timeout operator dan restart pekerjaan. Periksa batas laju spesifik model di Batasan QPS dan token. Hubungi manajer bisnis Anda untuk meminta peningkatan batas.
Salin SQL ini ke editor.
-- Buat tabel sink temporary.
CREATE TEMPORARY TABLE print_sink(
id BIGINT,
movie_name VARCHAR,
predict_label VARCHAR,
actual_label VARCHAR
) WITH (
'connector' = 'print', -- Gunakan konektor print.
'logger' = 'true' -- Tampilkan hasil di konsol.
);
-- Buat tampilan data temporary untuk membuat data uji.
-- | 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, -- Model Qwen qwen-turbo yang telah didaftarkan.
DESCRIPTOR(user_comment));
Model embedding
Panggil model embedding_model yang telah didaftarkan dengan ML_PREDICT untuk menghasilkan embedding ulasan film dan menulis hasil ke Milvus (pratinjau publik).
Operator ML_PREDICT tunduk pada batas laju Model Studio. Saat batas tercapai, tekanan balik terjadi dan operator ML_PREDICT menjadi bottleneck. Pembatasan kecepatan yang parah dapat menyebabkan timeout operator dan restart pekerjaan. Periksa batas laju spesifik model di Batasan QPS dan token. Hubungi manajer bisnis Anda untuk meminta peningkatan batas.
Salin SQL ini ke editor.
-- Buat tabel sink temporary bernama 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'
);
-- Buat tampilan data temporary untuk membuat data uji.
-- | 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, -- Model text-embedding-v3 yang telah didaftarkan.
DESCRIPTOR (user_comment)
);
Langkah 4: Sebarkan dan mulai pekerjaan
Sebarkan dan mulai pekerjaan. Pekerjaan Flink SQL.
Langkah 5: Lihat hasil analisis
Model chat/completions
-
Verifikasi bahwa status pekerjaan adalah FINISHED.
-
Di konsol , buka Deployments dan klik pekerjaan target.
-
Di tab Logs, klik subtab Task Managers dan pilih current TaskManager.
-
Klik Log dan cari PrintSinkOutputWriter.
predict_labelseharusnya sesuai denganactual_label.Sebagai contoh,
+I[1, Her Story, positive, positive]dan+I[2, The Dumpling Queen, negative, negative]mengonfirmasi bahwa prediksi sesuai dengan label aktual.
Dokumen terkait
-
Pernyataan Data Definition Language (DDL) untuk model AI: Konfigurasikan model
-
Fungsi AI: ML_PREDICT
-
Layanan pencarian vektor: Milvus (pratinjau publik)