Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:Model DDLs

Última atualização: Sep 29, 2026

Este documento descreve as instruções DDL (linguagem de definição de dados) para registrar, consultar, modificar e excluir modelos de IA no Flink SQL.

Notas de uso

Disponível apenas no VVR 11.7 ou posterior. Requer a ativação de {{XREF_0}}.

Registrar um modelo

Após a conta principal ativar {{XREF_1}} na região de destino, é possível criar um modelo no modo de modelo integrado.

CREATE TEMPORARY MODEL my_llm
INPUT (prompt String COMMENT 'Input prompt')
OUTPUT (response String COMMENT 'Model output')
WITH (
  'provider' = 'dashscope',
  'task' = 'chat/completions',
  'model' = 'qwen3.5-flash'
);
  • O parâmetro endpoint não é obrigatório. O sistema seleciona automaticamente o endpoint de service adequado.

  • O parâmetro api-key não é obrigatório. O sistema realiza a autenticação usando a API Key gerenciada pelo Flink.

  • O parâmetro task é obrigatório para declarar o tipo de tarefa do modelo.

Parâmetros WITH

Gerais

Parâmetro

Descrição

Tipo de dados

Obrigatório

Valor padrão

Observações

provider

O tipo de service de modelo.

String

Sim

Nenhum

Valores válidos: openai-compat, dashscope e triton.

  • dashscope (recomendado): Oferece suporte a tarefas multimodais, como {{XREF_2}}.

  • openai-compat: Opcional para tarefas não multimodais.

  • triton: Usado para invocar um service de inferência Triton. Para mais detalhes, consulte {{XREF_3}}.

task

O tipo de tarefa do modelo.

String

Sim

Nenhum

Valores válidos:

  • {{XREF_4}}

  • {{XREF_5}}

  • {{XREF_6}}

model

O modelo específico a ser invocado no lado do service.

String

Sim

Nenhum

Selecione um modelo com base no tipo de tarefa. Para mais detalhes, consulte {{XREF_7}} .

max-context-size

O tamanho máximo de contexto para uma única requisição.

Integer

Não

Nenhum

Se a capacidade máxima for excedida, a ação definida em context-overflow-action é acionada.

context-overflow-action

A ação a executar quando o contexto de uma requisição excede a capacidade máxima.

String

Não

truncated-tail

Valores válidos:

  • truncated-tail: Trunca automaticamente os tokens quando a capacidade é excedida, retendo os max-context-size tokens mais recentes. Nenhum log é registrado.

  • truncated-tail-log: Trunca automaticamente os tokens do final que excedem a capacidade, retendo os max-context-size tokens mais recentes. O truncamento é registrado em log.

  • truncated-head: Trunca os tokens mais antigos do início, retendo os max-context-size tokens mais recentes.

  • truncated-head-log: Remove os tokens mais antigos do início, mantendo os max-context-size tokens mais recentes. O truncamento é registrado em log.

  • skipped: Descarta o registro de dados diretamente. Nenhum log é registrado.

  • skipped-log: Descarta os dados e registra um log.

error-handling-strategy

A estratégia de tratamento de erros nas requisições ao modelo.

String

Não

retry

Valores válidos:

  • retry: Reenvia a requisição.

  • failover: Lança uma exceção.

  • ignore: Ignora a exceção e descarta o registro de dados.

retry-num

O número de tentativas de nova requisição.

int

Não

100

Aplica-se apenas quando error-handling-strategy = retry.

retry-fallback-strategy

A estratégia de fallback a usar após atingir o número máximo de tentativas.

String

Não

failover

Valores válidos:

Aplica-se apenas quando error-handling-strategy está definido com um valor diferente de retry.

retry-backoff-strategy

A estratégia de backoff para novas tentativas. Define como o intervalo entre as tentativas é calculado.

String

Não

fixed

Valores válidos:

  • fixed: Intervalo fixo.

  • exponential: Intervalo exponencial.

retry-backoff-base-interval

O intervalo de tempo base para o backoff de novas tentativas.

Duration

Não

1 s

-

content-type

O tipo dos dados de entrada. Aplica-se às tarefas Chat/Completions e Multimodal-Embedding.

String

Não

text

  • Tipo de conteúdo para uma única coluna de entrada. Valores válidos: text (padrão) ou image_url.

  • Mutuamente exclusivo com content-types.

content-types

Os tipos de conteúdo das colunas de entrada para modelos multimodais. Aplica-se às tarefas Chat/Completions e Multimodal-Embedding.

String

Não

Nenhum

  • Uma lista separada por ponto e vírgula. Cada coluna de entrada corresponde a um tipo (por exemplo, text;image_url).

    Os tipos suportados incluem text, image_url e multi_image_urls.

  • Mutuamente exclusivo com content-type.

Nota

Disponível apenas no VVR 11.8 ou posterior. Para mais detalhes, consulte {{XREF_8}}.

chat/completions

Tarefas de geração de texto utilizam chat/completions. Os seguintes parâmetros são suportados:

Parâmetro

Descrição

Tipo de dados

Obrigatório

Valor padrão

Observações

system-prompt

O prompt de sistema para a requisição.

String

Não

"You are a helpful assistant."

Uma string vazia é suportada.

temperature

Controla a suavidade da distribuição de probabilidade para cada token candidato.

Float

Não

Nenhum

Intervalo válido: [0, 2). O valor 0 não é recomendado e não tem significado prático.

Valores mais altos achatam a distribuição de probabilidade, fazendo com que mais tokens de baixa probabilidade sejam selecionados e a saída seja mais diversificada. Valores mais baixos aguçam a distribuição, favorecendo tokens de alta probabilidade e tornando a saída mais determinística.

top-p

O limiar de probabilidade para a amostragem nucleus.

Float

Não

Nenhum

Valores mais altos aumentam a aleatoriedade; valores mais baixos aumentam o determinismo.

stop

Uma sequência de parada.

String

Não

Nenhum

O modelo para de gerar conteúdo quando a string especificada está prestes a ser produzida.

max-tokens

O número máximo de tokens que o modelo pode gerar.

Integer

Não

Nenhum

Limitado pelas capacidades do modelo.

presence-penalty

Controla a repetição de tokens.

Double

Não

Nenhum

Intervalo válido: -2.0 a 2.0. Valores positivos penalizam tokens que já apareceram no texto, tornando o modelo mais propenso a abordar novos tópicos.

n

O número de saídas a gerar para cada entrada.

int

Não

Nenhum

-

seed

Um número aleatório de semente para a resposta do modelo.

Long

Não

Nenhum

Quando especificado, a plataforma de modelos tenta realizar uma amostragem determinística, de modo que requisições repetidas com a mesma semente e os mesmos parâmetros retornem o mesmo resultado sempre que possível.

response-format

O formato do valor de retorno.

String

Não

text

Valores válidos:

  • text

  • json_object

extra-body

Corpo HTTP extra para a requisição.

String

Não

Nenhum

Deve ser uma string no formato JSON. Para mais detalhes, consulte {{XREF_9}}.

user-prompt

O prompt do usuário para a requisição.

String

Não

Nenhum

Semelhante ao system-prompt, mas enviado a partir da função do usuário.

embeddings

Tarefas de embedding de texto utilizam embeddings. Os seguintes parâmetros são suportados:

Parâmetro

Descrição

Tipo de dados

Obrigatório

Valor padrão

Observações

dimension

A dimensão dos vetores de saída.

Integer

Não

Nenhum

As dimensões suportadas dependem do modelo específico. Os valores mais comuns são 1024, 768 e 512.

multimodal-embedding

Tarefas de embedding multimodal utilizam multimodal-embedding para converter entradas de texto, imagem ou combinações de texto e imagem em vetores. Os seguintes parâmetros são suportados:

Parâmetro

Descrição

Tipo de dados

Obrigatório

Valor padrão

Observações

dimension

A dimensão dos vetores de saída.

Integer

Não

Nenhum

As dimensões suportadas dependem do modelo específico. Os valores mais comuns são 1024, 768 e 512.

Exemplo 1: Somente imagens

CREATE TEMPORARY MODEL multimodal_embedding_model
INPUT (`input` STRING)
OUTPUT (`content` ARRAY<FLOAT>)
WITH (
  'provider' = 'dashscope',
  'task' = 'multimodal-embedding',
  'model' = 'qwen3-vl-embedding',
  'dimension' = '512',
  'content-type' = 'image_url'
);

Exemplo 2: Texto e imagem

A fusão de texto e imagem aplica-se apenas a modelos com a capacidade de fusão habilitada por enable_fusion, conforme descrito em {{XREF_10}}. O Flink determina se a fusão deve ser ativada com base no número de colunas de entrada do modelo. Nenhum parâmetro adicional é necessário.

CREATE TEMPORARY MODEL fusion_embedding_model
INPUT (text_input STRING, image_input STRING)
OUTPUT (embedding ARRAY<FLOAT>)
WITH (
  'provider' = 'dashscope',
  'task' = 'multimodal-embedding',
  'model' = 'qwen3-vl-embedding',
  'dimension' = '512',
  'content-types' = 'text;image_url'
);

Descrição do extra-body

O valor de extra-body é uma string no formato JSON usada para adicionar parâmetros extras ao corpo da requisição do modelo. Os parâmetros disponíveis dependem do provedor do service de modelo. A seguir estão os parâmetros comuns suportados pelo Alibaba Cloud Model Studio (incluindo, mas não se limitando a):

Parâmetro

Tipo

Descrição

top_k

Integer

O tamanho do conjunto de candidatos para amostragem. Valores maiores aumentam a aleatoriedade. Para mais detalhes, consulte {{XREF_11}}.

enable_thinking

Boolean

Indica se o modo de raciocínio profundo deve ser ativado (aplica-se a modelos que suportam raciocínio, como o Qwen3). Para mais detalhes, consulte {{XREF_12}}.

thinking_budget

Integer

O tamanho máximo em tokens para o processo de raciocínio. Aplica-se apenas quando enable_thinking é true. Para mais detalhes, consulte {{XREF_13}}.

translation_options

Object

Parâmetros de tradução para modelos de tradução. Para mais detalhes, consulte {{XREF_14}}.

enable_search

Boolean

Indica se os resultados de pesquisa na internet devem ser usados para auxiliar na geração de respostas. O padrão é false. Para mais detalhes, consulte {{XREF_15}}.

search_options

Object

Configuração da estratégia de pesquisa na web. Aplica-se apenas quando enable_search é true. Para mais detalhes, consulte {{XREF_16}}.

Exemplo

CREATE MODEL my_model
USING openai_compatible
WITH (
  'provider' = 'openai-compat',
  'model' = 'qwen3.5-flash',
  'task' = 'chat/completions',
  'extra-body' = '{"enable_thinking": true, "thinking_budget": 4096}'
);

Consultar modelos

No editor do {{XREF_17}}, execute um dos comandos a seguir.

  • Liste os nomes dos modelos registrados:

    SHOW MODELS [ ( FROM | IN ) [catalog_name.]database_name ];
  • Exiba a instrução usada para criar um modelo:

    SHOW CREATE MODEL [catalog_name.][db_name.]model_name;
  • Exiba o schema de entrada e saída de um modelo:

    DESCRIBE MODEL [catalog_name.][db_name.]model_name;

Exemplo

SHOW MODELS;

-- RESULT
--+------------+
--| model name |
--+------------+
--|          m |
--+------------+

DESCRIBE MODEL m;

-- RESULT
-- +---------+--------+------+----------+
-- |    name |   type | null | is input |
-- +---------+--------+------+----------+
-- | content | String | TRUE |     TRUE |
-- |   label | BIGINT | TRUE |    FALSE |
-- +---------+--------+------+----------+