Topik ini menjelaskan cara menggunakan AI_EMBED untuk menghasilkan representasi vektor dari teks.
Batasan
-
Fitur ini memerlukan Ververica Runtime (VVR) versi 11.4 atau lebih baru.
-
Throughput operator
AI_EMBEDtunduk pada rate limits Alibaba Cloud Model Studio. Ketika rate limits untuk suatu model tercapai, pekerjaan Flink akan mengalami backpressure dengan operatorAI_EMBEDsebagai bottleneck. Dalam beberapa kasus, hal ini dapat memicu error timeout dan restart job.
Sintaksis
AI_EMBED(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>
)
Input
|
Parameter |
Tipe data |
Deskripsi |
|
MODEL <MODEL NAME> |
MODEL |
Nama model yang terdaftar. Catatan: Tipe output untuk model tersebut harus berupa |
|
<INPUT COLUMN NAME> |
STRING |
Teks sumber yang akan dianalisis oleh model. |
|
<DIMENSION VALUE> |
INTEGER |
Opsional. Dimensi dari vektor output. Nilai default adalah 1024. Jika model Anda tidak mendukung dimensi 1024, tentukan nilai yang didukung. Nilai DIMENSION dalam AI_EMBED menggantikan nilai yang ditetapkan dalam pernyataan CREATE MODEL. Fungsi AI_EMBED selalu meneruskan parameter DIMENSION. Jika model Anda tidak mendukung parameter ini, gunakan ML_PREDICT sebagai gantinya. |
Hasil
|
Parameter |
Tipe data |
Deskripsi |
|
embedding |
ARRAY<FLOAT> |
Vektor yang dihasilkan. Dimensinya ditentukan oleh parameter DIMENSION. Nilai default adalah 1024 jika parameter tersebut tidak ditentukan. |
Contoh
Data uji
|
id |
content |
|
1 |
Flink |
Pernyataan uji
Contoh SQL berikut menggunakan model text-embedding-v3 dan AI_EMBED untuk menghasilkan vektor.
CREATE TEMPORARY MODEL embedding_model
INPUT (`input` STRING)
OUTPUT (`embedding` ARRAY<FLOAT>)
WITH (
'provider' = 'openai-compat',
'task' = 'embeddings',
'model' = 'text-embedding-v3',
'dimension' = '1024'
);
CREATE TEMPORARY VIEW infos(id, content)
AS VALUES (1, 'Flink');
-- Gunakan argumen posisional untuk memanggil AI_EMBED
SELECT id, embedding
FROM infos,
LATERAL TABLE(
AI_EMBED(
MODEL embedding_model,
content
));
-- Gunakan argumen bernama untuk memanggil AI_EMBED
SELECT id, embedding
FROM infos,
LATERAL TABLE(
AI_EMBED(
MODEL => MODEL embedding_model,
INPUT => content
));
Output
|
id |
embedding |
|
1 |
[-0.13219477, 0.054332353, -0.033010617, -0.0039787884, ...] |