Topik ini menjelaskan cara menggunakan fungsi AI_EMBED untuk menghasilkan vektor dari model AI besar.
Batasan
Fitur ini memerlukan Ververica Runtime (VVR) 11.4 atau yang lebih baru.
Tingkat throughput Operator Flink untuk pernyataan AI_EMBED tunduk pada batas laju Alibaba Cloud Model Studio. Melebihi batas tersebut dapat menyebabkan tekanan balik (backpressure) pada Pekerjaan Flink, sehingga operator menjadi titik hambat. Dalam kasus parah, hal ini dapat menyebabkan timeout operator dan restart pekerjaan.
Sintaksis
AI_EMBED(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>
[, DIMENSION => <DIMENSION VALUE>]
)Parameter
Parameter | Type | Deskripsi |
MODEL <MODEL NAME> | MODEL | Nama layanan model yang telah terdaftar. Untuk informasi selengkapnya, lihat Pengaturan model. Catatan: Saat ini, tipe output untuk model ini harus berupa |
<INPUT COLUMN NAME> | STRING | Teks sumber yang akan dianalisis oleh model. |
<DIMENSION VALUE> | INTEGER | Opsional. Dimensi vektor output. Nilai default-nya adalah 1024. Jika model Anda tidak mendukung dimensi 1024, tentukan nilai yang didukung sebagai gantinya. 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 fungsi ML_PREDICT sebagai gantinya. |
Output
Parameter | Tipe | Deskripsi |
embedding | ARRAY<FLOAT> | Vektor yang dihasilkan. Dimensinya ditentukan oleh parameter DIMENSION, dan bernilai default 1024 jika parameter tersebut dihilangkan. |
Contoh
Data contoh
Id | Content |
1 | Flink |
Pernyataan contoh
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');
-- 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 contoh
Id | Embedding |
1 | [-0.13219477, 0.054332353, -0.033010617, -0.0039787884, ...] |