Topik ini menjelaskan cara menggunakan AI_EMBED untuk menghasilkan vektor dengan memanfaatkan model AI tingkat tinggi.
Batasan
Fitur ini memerlukan Ververica Runtime (VVR) 11.4 atau versi yang lebih baru.
Throughput operator Flink untuk pernyataan AI_EMBED dibatasi oleh throttling lalu lintas pada platform model. Ketika lalu lintas akses mencapai batas platform, pekerjaan Flink mengalami tekanan balik (backpressure), sehingga operator menjadi bottleneck. Throttling yang parah dapat memicu timeout operator dan menyebabkan pekerjaan dimulai ulang.
Sintaksis
AI_EMBED(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>
)Parameter input
Parameter | Tipe data | Deskripsi |
MODEL <MODEL NAME> | MODEL | Nama layanan model yang telah didaftarkan. Untuk mendaftarkan layanan model, lihat Model settings. Catatan: Tipe output untuk model harus berupa |
<INPUT COLUMN NAME> | STRING | Teks sumber yang akan dianalisis oleh model. |
Output
Parameter | Tipe data | Deskripsi |
embedding | ARRAY<FLOAT> | Vektor berdimensi 1024 yang dihasilkan. |
Contoh
Data uji
id | content |
1 | Flink |
Pernyataan uji
Contoh SQL berikut membuat model text-embedding-v3 dan menggunakan AI_EMBED untuk menghasilkan vektor.
CREATE TEMPORARY MODEL embedding_model
INPUT (`input` STRING)
OUTPUT (`embedding` ARRAY<FLOAT>)
WITH (
'provider' = 'openai-compat',
'endpoint'='<YOUR ENDPOINT>',
'apiKey' = '<YOUR KEY>',
'model' = 'text-embedding-v3',
'dimension' = '1024'
);
CREATE TEMPORARY VIEW infos(id, content)
AS VALUES (1, 'Flink');
-- Use positional argument to call AI_EMBED
SELECT id, embedding
FROM infos,
LATERAL TABLE(
AI_EMBED(
MODEL embedding_model,
content
));
-- Use named argument to call 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, ...] |