Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:AI_EMBED

Última atualização: Jul 24, 2026

Este tópico descreve como usar AI_EMBED para gerar representações vetoriais de textos.

Limitações

  • Este recurso exige o Ververica Runtime (VVR) 11.4 ou posterior.

  • Para utilizar o Flink AI service (modelos integrados), é necessário ter o VVR 11.7 ou posterior e ativar o Flink AI service. Para mais detalhes, consulte Flink AI service (built-in models).

  • O throughput dos operadores AI_EMBED está sujeito aos rate limits do Alibaba Cloud Model Studio. Ao atingir os limites de taxa de um modelo, o job do Flink sofrerá backpressure, tendo os operadores AI_EMBED como gargalo. Em alguns casos, isso pode causar erros de timeout e reinicialização do job.

Sintaxe

AI_EMBED(
  MODEL => MODEL <MODEL NAME>, 
  INPUT => <INPUT COLUMN NAME>
)

Entrada

Parâmetro

Tipo de dados

Descrição

MODEL <MODEL NAME>

MODEL

Nome do registered model.

Observação: O tipo de saída do modelo deve ser ARRAY<FLOAT>.

<INPUT COLUMN NAME>

STRING

Texto de source que o modelo analisará.

<DIMENSION VALUE>

INTEGER

Opcional. Defina a dimensão do vetor de saída, com valor padrão de 1024. Caso seu modelo não suporte 1024 dimensões, especifique um valor compatível. O valor DIMENSION em AI_EMBED substitui aquele definido na instrução CREATE MODEL.

A função AI_EMBED sempre transmite o parâmetro DIMENSION. Se o modelo não aceitar esse parâmetro, utilize ML_PREDICT.

Resultado

Parâmetro

Tipo de dados

Descrição

embedding

ARRAY<FLOAT>

Vetor gerado cuja dimensão segue o parâmetro DIMENSION. Assume 1024 quando o parâmetro é omitido.

Exemplo

Dados de teste

id

content

1

Flink

Instrução de teste

Este exemplo SQL referencia um modelo de embedding integrado do Flink e emprega 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ídas

id

embedding

1

[-0.13219477, 0.054332353, -0.033010617, -0.0039787884, ...]