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
endpointnão é obrigatório. O sistema seleciona automaticamente o endpoint de service adequado.O parâmetro
api-keynã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:
|
|
task |
O tipo de tarefa do modelo. |
String |
Sim |
Nenhum |
Valores válidos:
|
|
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 |
|
Valores válidos:
|
|
error-handling-strategy |
A estratégia de tratamento de erros nas requisições ao modelo. |
String |
Não |
retry |
Valores válidos:
|
|
retry-num |
O número de tentativas de nova requisição. |
int |
Não |
100 |
Aplica-se apenas quando |
|
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 |
|
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:
|
|
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 |
|
|
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 |
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:
|
|
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 |
|
|
Integer |
O tamanho do conjunto de candidatos para amostragem. Valores maiores aumentam a aleatoriedade. Para mais detalhes, consulte {{XREF_11}}. |
|
|
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}}. |
|
|
Integer |
O tamanho máximo em tokens para o processo de raciocínio. Aplica-se apenas quando |
|
|
Object |
Parâmetros de tradução para modelos de tradução. Para mais detalhes, consulte {{XREF_14}}. |
|
|
Boolean |
Indica se os resultados de pesquisa na internet devem ser usados para auxiliar na geração de respostas. O padrão é |
|
|
Object |
Configuração da estratégia de pesquisa na web. Aplica-se apenas quando |
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 |
-- +---------+--------+------+----------+