Este tópico descreve como usar AI_EMBED para gerar representações vetoriais de textos.
Limitações
Este recurso requer o Ververica Runtime (VVR) 11.4 ou posterior.
Para usar o serviço Flink AI (modelos integrados), é necessário o VVR 11.7 ou posterior, e o serviço Flink AI deve estar ativado. Para mais detalhes, consulte serviço Flink AI (modelos integrados).
A taxa de transferência dos operadores
AI_EMBEDestá sujeita aos limites de taxa do Alibaba Cloud Model Studio. Quando os limites de taxa de um modelo são atingidos, o job Flink sofre backpressure com os operadoresAI_EMBEDcomo gargalo. Em alguns casos, erros de timeout e reinícios de job podem ser acionados. Quando o limite de tráfego da plataforma é atingido, o job Flink apresenta backpressure com este operador como gargalo. Throttling severo pode causar erros de timeout do operador e reinícios do job.
Sintaxe
AI_EMBED(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>
[, DIMENSION => <DIMENSION VALUE>]
)
Parâmetros
|
Parâmetro |
Tipo de dados |
Descrição |
|
MODEL <MODEL NAME> |
MODEL |
O nome do modelo registrado. Nota: O tipo de saída do modelo deve ser |
|
<INPUT COLUMN NAME> |
STRING |
O texto de origem para o modelo analisar. |
|
<DIMENSION VALUE> |
INTEGER |
Opcional. A dimensão do vetor de saída. O padrão é 1024. Se o seu modelo não suportar 1024 dimensões, especifique um valor suportado. O valor de DIMENSION em AI_EMBED substitui o definido na instrução CREATE MODEL. A função AI_EMBED sempre passa o parâmetro DIMENSION. Se o seu modelo não suportar este parâmetro, use ML_PREDICT em seu lugar. |
Valores de retorno
|
Parâmetro |
Tipo de dados |
Descrição |
|
embedding |
ARRAY<FLOAT> |
O vetor gerado. Sua dimensão é determinada pelo parâmetro DIMENSION. O padrão é 1024 se o parâmetro for omitido. |
Exemplos
Dados de teste
|
id |
conteúdo |
|
1 |
Flink |
Instruções SQL
Este exemplo SQL referencia um modelo de embedding integrado do Flink e usa AI_EMBED para gerar vetores.
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
));
Saída
|
id |
embedding |
|
1 |
[-0.13219477, 0.054332353, -0.033010617, -0.0039787884, ...] |