Este tema describe cómo usar AI_EMBED para generar representaciones vectoriales de textos.
Límites
Esta función requiere Ververica Runtime (VVR) 11.4 o posterior.
Para usar el servicio Flink AI (modelos integrados), se requiere VVR 11.7 o posterior y es necesario que el servicio Flink AI esté activado. Para más información, consulte servicio Flink AI (modelos integrados).
El rendimiento de los operadores
AI_EMBEDestá sujeto a los rate limits de Alibaba Cloud Model Studio. Cuando se alcanzan los límites de velocidad de un modelo, el trabajo de Flink experimenta contrapresión y los operadoresAI_EMBEDse convierten en el cuello de botella. En algunos casos, esto provoca errores de tiempo de espera y reinicios del trabajo.
Sintaxis
AI_EMBED(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>
[, DIMENSION => <DIMENSION VALUE>]
)
Parámetros
|
Parámetro |
Tipo de dato |
Descripción |
|
MODEL <MODEL NAME> |
MODEL |
El nombre del registered model. Nota: El tipo de salida del modelo debe ser |
|
<INPUT COLUMN NAME> |
STRING |
El texto de origen que analizará el modelo. |
|
<DIMENSION VALUE> |
INTEGER |
Opcional. La dimensión del vector de salida. El valor predeterminado es 1024. Si su modelo no admite 1024 dimensiones, especifique un valor compatible. El valor de DIMENSION en AI_EMBED anula el establecido en la instrucción CREATE MODEL. La función AI_EMBED siempre pasa el parámetro DIMENSION. Si su modelo no admite este parámetro, utilice ML_PREDICT en su lugar. |
Valores de retorno
|
Parámetro |
Tipo de dato |
Descripción |
|
embedding |
ARRAY<FLOAT> |
El vector generado. Su dimensión se determina mediante el parámetro DIMENSION. Si se omite este parámetro, el valor predeterminado es 1024. |
Ejemplos
Datos de prueba
|
id |
content |
|
1 |
Flink |
Instrucciones SQL
Este ejemplo de SQL hace referencia a un modelo de embedding integrado de Flink y utiliza AI_EMBED para generar vectores.
CREATE TEMPORARY MODEL embedding_model
INPUT (`input` STRING)
OUTPUT (`embedding` ARRAY<FLOAT>)
WITH (
'provider' = 'openai-compat',
'task' = 'embeddings',
'model' = 'text-embedding-v4',
'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
));
Salida
|
id |
embedding |
|
1 |
[-0.13219477, 0.054332353, -0.033010617, -0.0039787884, ...] |