O Hologres V3.2 e versões posteriores oferecem suporte a funções de IA para embedding, reranking, inferência de LLM, entre outras tarefas. Chame-as com SQL padrão — cada função invoca automaticamente o modelo implantado correspondente. Antes de usar as funções de IA, implante um modelo no Hologres (modelos gerenciados, modelos de nó de IA do Hologres, etc.). Se você implantar um modelo de nó de IA, adquira primeiro os recursos de nó de IA (GPU).
Pré-requisitos
Um modelo deve estar implantado no Hologres. As fontes de modelo suportadas incluem modelos gerenciados, modelos de nó de IA do Hologres, entre outros.
Cada função de IA possui modelos recomendados. Consulte a tabela de resumo e a seção de funções e modelos de IA abaixo.
Limitações
As funções de IA exigem o Hologres V3.2 ou posterior.
Cada função de IA tem limitações específicas, descritas em sua respectiva documentação.
Resumo das funções de IA
O Hologres oferece suporte às seguintes funções de IA:
O sistema mapeia automaticamente cada função de IA para um modelo ideal com base nos modelos implantados. Visualize o mapeamento padrão de modelos na tabela do sistema. Para alterar o mapeamento, consulte Modify the model for an AI function.
Se houver vários modelos implantados na instância, recomendamos especificar explicitamente o nome do modelo ao chamar uma função para evitar ambiguidades.
Ao implantar modelos de nó de IA, considere que cada modelo exige diferentes recursos de nó de IA. Adquira as especificações adequadas conforme descrito em Purchase AI resources.
Função | Descrição | Modelos suportados | Versões suportadas |
Utiliza um LLM para realizar inferência em textos, imagens e vídeos com base em prompts. Também suporta texto para imagem, edição de imagem, fusão de múltiplas imagens, texto para vídeo e geração de vídeo a partir de quadro inicial, quadros inicial/final ou imagens de referência. |
|
| |
Chama um LLM para gerar saída JSON estruturada em conformidade com um JSON Schema especificado. Suporta entrada de texto e multimodal, como imagens e vídeos. |
| Hologres V4.2.4 e posterior | |
Converte arquivos de áudio em dados de texto estruturados. | Modelo gerenciado: fun-asr | Hologres V4.2 e posterior | |
Converte uma URL para o tipo FILE. | Não requer modelo. Esta função é geralmente usada com Object Tables. | Hologres V4.0 e posterior | |
Monta um prompt para um LLM e empacota prompts multimodais. | Não requer modelo. | ||
Analisa dados não estruturados, como arquivos PDF e imagens, convertendo-os em texto. | Modelo integrado do nó de IA: ds4sd/docling-models | ||
Calcula um vetor denso de dimensão fixa para texto ou imagens de entrada. | Modelos integrados do nó de IA:
Modelos gerenciados: text-embedding-v4, qwen3-vl-embedding |
| |
Pontua a relevância do texto de entrada. | Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B) | Hologres V3.2.2 e posterior | |
Realiza o chunking de texto. | Modelo integrado do nó de IA: recursive-character-text-splitter | ||
Classifica o texto de entrada com base nos rótulos de categoria fornecidos. | Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash. | Hologres V3.2 e posterior | |
Extrai informações de rótulos especificados do texto de entrada. | Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash. | ||
Oculta informações de tags especificadas no texto de entrada, substituindo-as pelo placeholder | Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash. | ||
Corrige erros gramaticais no texto de entrada. | Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash. | ||
Gera um resumo do texto de entrada. | Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash. | ||
Traduz o texto de entrada para um idioma especificado. | Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen-mt-plus. | ||
Calcula a similaridade entre duas entradas de texto. | Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash. | ||
Analisa o sentimento do texto de entrada. |
|
Uso das funções de IA
ai_gen
-
Descrição: Chama um LLM para realizar inferência em textos, imagens e vídeos com base em prompts. Após implantar os modelos relevantes de geração multimodal no console, use
ai_gentambém para texto para imagem, edição de imagem, fusão de múltiplas imagens, texto para vídeo e geração de vídeo a partir de quadro inicial, quadros inicial/final ou imagens de referência. Para nomes de modelos e detalhes dos parâmetros, consulte Managed models.-- Text inference SELECT ai_gen([model,] text) -- Image inference SELECT ai_gen([model,] text, file) -- Prompt object input SELECT ai_gen([model,] prompt) -- Multimodal generation (Example: Specify a model and JSON prompt; 'file' is used for OSS authentication) SELECT ai_gen('<model_name>', <prompt_json>::text, to_file('oss://...','oss-xxx-internal.aliyuncs.com','acs:ram::...')); -
Parâmetros
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
text: (Obrigatório) O prompt de entrada. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
file: (Obrigatório) Um valor do tipo FILE, como uma imagem de uma Object Table convertida para o tipo FILE. Este parâmetro é suportado apenas no Hologres V4.0 e posterior.
prompt: (Obrigatório) Um valor do tipo JSON retornado pela função prompt().
-
Valor de retorno
Retorna a resposta do modelo.
Se o parâmetro
textfor NULL, retorna NULL.Se o parâmetro
textfor uma string vazia (""), retorna uma string vazia ("").Se o parâmetro
promptfor NULL, a função retornará um erro.
-
Modelos suportados
Modelos integrados do nó de IA do Hologres: Para inferência de texto, recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B). Para imagem, vídeo e áudio, há suporte para as séries qwen-vl-embedding e qwen-vl.
Modelos gerenciados: Para inferência de texto, qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash. Para inferência multimodal, qwen3-vl-plus. Para geração de conteúdo, qwen-image-2.0-pro, wan2.7-image-pro, a série wan2.7 e a série happyhorse-1.0.
-
Exemplos
-
Inferência de texto
CREATE TABLE questions ( question TEXT ); INSERT INTO questions (question) VALUES ('What is artificial intelligence?'), ('How can I improve my English speaking skills?'), ('What are the key points of a healthy diet?'); SELECT question, ai_gen('Answer the following question in 20 words: ' || question) AS answer FROM questions;O seguinte resultado é retornado.
question | answer -----------------------------------------+------------------------------------------------------------------------------------------------- How can I improve my English speaking skills? | Practice often, mimic pronunciation, build vocabulary, and speak up. What are the key points of a healthy diet? | Eat balanced meals, limit oil, salt, and sugar, eat more fruits and vegetables, and keep regular mealtimes. What is artificial intelligence? | Artificial intelligence is a computer system that simulates human intelligence to learn, reason, perceive, and solve problems. -
Inferência de imagem
SELECT ai_gen('jpg_llm','What is in this image?', to_file('oss://****/bd****k/val/images/b9b53753-91a5****.jpg','oss-cn-hangzhou-internal.aliyuncs.com','acs:ram::****' ) )O seguinte resultado é retornado.
ai_gen ----- This image shows a city street scene. A white car with the license plate BTB-9784 is parked on the side of the road. There are several cars on the street, including a yellow taxi. In the background, there are buildings and trees. The weather appears to be overcast, possibly a rainy day. There are also pedestrians and traffic lights on the street. -
Geração multimodal (imagens e vídeos)
Defina
promptcomo uma string JSON contendo parâmetros de negócio. Passe uma função to_file como terceiro argumento para concluir a autenticação do OSS. É obrigatório passar um objeto FILE válido para superar a verificação de permissões, mesmo quando a função não precisar ler conteúdo de imagem ou vídeo. O resultado geralmente é um texto JSON, com campos comoimage_urlsevideo_urlque variam conforme o modelo. Se configurar o parâmetrooutput_dirpara gravar resultados no seu bucket do OSS, poderão ser aplicadas taxas de transferência pela rede pública. Recomendamos avaliar cuidadosamente os custos potenciais.Texto para imagem (exemplo)
SELECT ai_gen( 'qwen_image_2_pro', json_build_object( 'prompt', 'Example: Generate a product promotion image', 'parameters', json_build_object('n', 1, 'size', '1024*1024', 'watermark', false) )::text, to_file('oss://your-bucket/path/placeholder.png', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::your-account-id:role/your-role') );Texto para vídeo (exemplo)
SELECT ai_gen( 'wan26_t2v', json_build_object( 'prompt', 'Example: Show a game character entrance in 10 seconds', 'parameters', json_build_object( 'size', '1280*720', 'prompt_extend', true, 'duration', 5, 'shot_type', 'multi' ) )::text, to_file('oss://your-bucket/path/placeholder.png', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::your-account-id:role/your-role') );Referência rápida de cenários e modelos (Os nomes reais de implantação aparecem no console. Esta tabela serve apenas como referência.)
Cenário
Exemplos de nomes de modelos
Texto para imagem
qwen-image-2.0-pro, qwen-image-max, qwen-image
Edição de imagem / fusão de múltiplas imagens
qwen-image-edit, qwen-image-2.0-pro
Texto para vídeo
wan2.6-t2v
Geração de vídeo a partir de quadro inicial, quadros inicial/final ou imagem de referência
wan2.6-i2v-flash, wan2.2-kf2v-flash, wan2.6-r2v
Para um exemplo completo de pipeline ponta a ponta de geração de vídeos de anúncios de jogos, consulte Best practice: Generate game ad videos with an AI function.
-
AI_GEN_STRUCTURED
-
Descrição: Chama um LLM para gerar saída JSON estruturada em conformidade com um JSON Schema especificado. Suporta entrada de texto e multimodal, como imagens e vídeos, para casos de uso como extração de entidades estruturadas de texto ou informações de anotação de imagens e vídeos. Requer Hologres V4.2.4 ou posterior.
Para sintaxe detalhada, parâmetros e exemplos, consulte AI_GEN_STRUCTURED.
ai_transcribe
-
Descrição: Converte arquivos de áudio em dados de texto estruturados. Esta função baseia-se nos modelos de reconhecimento de fala do Alibaba Cloud Model Studio e suporta múltiplos modos de granularidade de segmentação (nenhum, sentença, orador, palavra) para casos de uso como transcrição de reuniões, geração de legendas e diarização de oradores. Requer Hologres V4.2 ou posterior.
Para sintaxe detalhada, parâmetros e exemplos, consulte AI_TRANSCRIBE.
to_file
-
Descrição: Converte uma URL para o tipo FILE.
select to_file(oss_url, oss_endpoint, oss_rolearn); -
Notas de uso
Não requer modelo.
-
Parâmetros
oss_url: (Obrigatório) TEXT. O caminho do arquivo no OSS a ser analisado.
oss_endpoint: (Obrigatório) TEXT. O endpoint da região do OSS. Apenas nomes de domínio de rede clássica são suportados.
oss_rolearn: (Obrigatório) O ARN da função do RAM para acessar o OSS.
-
Valor de retorno
Retorna um valor do tipo FILE. Se o caminho da URL for inválido ou o arquivo não existir, a função retornará um erro.
-
Exemplo
select to_file('oss://****/bd****k/val/images/b9b53753-91a5****.jpg','oss-cn-hangzhou-internal.aliyuncs.com','acs:ram::****' );
prompt
-
Descrição: Monta prompts para LLMs, incluindo prompts multimodais.
SELECT prompt('<template_string>', <expr_1> [ , <expr_2>, ... ]) FROM <table>; -
Notas de uso
A função
prompt()não suporta entrada de string escalar. Se tiver apenas uma string, passe-a diretamente para a função LLM em vez de usarprompt(). Esta função é tipicamente usada em consultas a tabelas. -
Parâmetros
template_string: (Obrigatório) TEXT. A string do modelo de prompt. Use placeholders como
{0}e{1}para variáveis.<expr_1> [ , <expr_2>, ... ]: Um ou mais parâmetros de expressão. Este parâmetro suporta os tipos TEXT, NUMERIC e FILE.
-
Valor de retorno
Na maioria dos casos, esta função retorna um valor do tipo JSON no seguinte formato:
{ "prompt": "<template_string>", "args": ARRAY(<value_1>, <value_2>, ...) }Casos especiais:
Se o parâmetro template_string for NULL, a função retornará um erro.
Se uma expressão resultar em NULL, o placeholder correspondente em
template_stringserá substituído pela string 'None'.Se todas as expressões de uma linha resultarem em NULL, a linha não será filtrada. Em vez disso, todos os elementos do array
argsserão preenchidos com 'None'.
-
Exemplo
create table customer_service_konwledge_detail( question text, question_summarize text ); insert into customer_service_konwledge_detail values ('The instance is suddenly experiencing many OOM SQL errors.', 'A backend investigation revealed that an increase in customer traffic exceeded available resources. The customer resolved the issue by scaling up.'), ('DataWorks cannot connect to Hologres.', 'This is not our issue. Please contact the DataWorks on-call team.'); -- prompt SELECT question, question_summarize, ai_gen( prompt('Customer ticket content: {0}, Support response: {1}. Did the response resolve the customer issue? Reply with yes or no only.', question, question_summarize)) from customer_service_konwledge_detail;O seguinte resultado é retornado.
question | question_summarize | ai_gen -----------------------------+------------------------------------------------------------------------------------+-------- DataWorks cannot connect to Hologres | This is not our issue. Please contact the DataWorks on-call team. | no The instance is suddenly experiencing many OOM SQL errors | A backend investigation revealed that an increase in customer traffic exceeded available resources. The customer resolved the issue by scaling up. | yes (2 rows)
ai_parse_document
-
Descrição: Analisa dados não estruturados (PDF, imagens, Word, PPT, TXT, Markdown) e os converte em texto.
SELECT ai_parse_document([model,] input_bytes , input_format [, output_format]); SELECT ai_parse_document([model,] file [, input_format, output_format]); -
Parâmetros
Parâmetro
Descrição
model
(Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
input_bytes
(Obrigatório) BYTEA. O conteúdo binário do arquivo a ser analisado.
file
(Obrigatório) FILE. Recomendamos usar esta função com uma Object Table.
input_format
Opcional. O valor padrão é auto. O tipo é TEXT. Os formatos de arquivo suportados incluem PDF, Word, PPT, TXT, IMAGE e AUTO.
Formatos de imagem suportados:
["jpg", "jpeg", "png", "tif", "tiff", "bmp"].Se um diretório do OSS contiver documentos de vários tipos, defina
input_format=auto. O modelo determina automaticamente o tipo de arquivo com base na extensão.
output_format
(Opcional) TEXT. O formato do resultado analisado. Os formatos suportados incluem JSON e markdown. Valor padrão: JSON.
-
Valor de retorno
Retorna um valor do tipo TEXT. O formato é determinado pela configuração de
output_format.Se
output_format=JSON, a saída será uma string JSON do tipo TEXT. Faça um cast explícito para JSON antes de utilizá-la.Se a análise falhar, a função retornará uma descrição do erro como texto, em vez de reportar um erro.
Modelos suportados: o modelo integrado do nó de IA ds4sd/docling-models.
-
Exemplos
-
Converter um único arquivo PDF no OSS para texto.
SELECT object_uri, etag, ai_parse_document(to_file ('oss://xxxx-hangzhou/bs_challenge_financial_14b_dataset/pdf', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::18xxx:role/xxx'), 'auto', 'markdown') AS doc FROM pdf_bs_challenge_financial_14b_dataset limit 1); Para converter dados não estruturados de uma Object Table em texto, consulte Unstructured data (Object Table).
-
ai_embed
-
Descrição: Calcula um vetor contínuo de dimensão fixa para texto ou imagem de entrada.
-- Compute text vector select ai_embed([model,] content); -- Compute image vector select ai_embed([model,] file); -
Parâmetros
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
content: (Obrigatório) O texto de entrada. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
file: (Obrigatório) Um valor do tipo FILE, que normalmente é o objeto FILE de uma imagem. Este tipo é suportado apenas no Hologres V4.0 e posterior.
-
Valor de retorno
Se o parâmetro
contentfor NULL ou uma string vazia, retorna NULL.Se o parâmetro
filefor NULL, retorna NULL.-
A dimensão do vetor retornado depende do modelo utilizado. Os modelos suportados e suas respectivas dimensões de vetor são:
Nome do modelo
Tipo
Dimensão do vetor
Versões do Hologres suportadas
Vetor de imagem
Tamanho do patch de imagem: 32 × 32
Parâmetros: 88 M
Dimensão: 512
Hologres V4.0 e posterior
NotaEste modelo não suporta entrada de imagem. Use clip-ViT-B-32 para imagens.
Vetor de texto
Tamanho do patch de imagem: 32 × 32
Parâmetros: 88 M
Dimensão: 512
Vetor de imagem
Tamanho do patch de imagem: 16 × 16
Parâmetros: 88 M
Dimensão: 512
Vetor de imagem
Tamanho do patch de imagem: 14 × 14
Parâmetros: 304 M
Dimensão: 768
Vetor de texto
512
Hologres V3.2 e posterior
Vetor de texto
768
Vetor de texto
1024
Vetor de texto
1024
Vetor de texto
2560
Vetor de texto
4096
-
Modelos suportados
Modelos integrados do nó de IA do Hologres: Para embeddings de texto, as séries iic/nlp_gte_sentence-embedding_chinese e Qwen/Qwen3-Embedding-XB. Para embeddings de imagem, a série clip-ViT-B.
Modelos gerenciados: text-embedding-v4, qwen3-vl-embedding.
-
Exemplos
-
Embedding de texto
SELECT ai_embed('Hologres is a one-stop real-time data warehouse engine self-developed by Alibaba, supporting real-time ingestion, updates, processing, and analysis of massive data.');O seguinte resultado é retornado.
ai_embed ------- {-0.020090256, -0.009496426, -0.01584659, ..., -0.057956327} -
Embedding de imagem
-- The following example shows how to embed an image from OSS. SELECT ai_embed('clip-ViT-B-32', to_file('oss://****', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::****'));
-
O Hologres V4.2 e posterior também suportam o cálculo de vetores de imagem a partir de dados binários BYTEA/BLOB. Para sintaxe detalhada, lista de modelos gerenciados, exemplos de uso de BYTEA e exemplos de cenários de negócios, consulte AI_EMBED.
ai_rank
-
Descrição: Calcula a pontuação de relevância entre dois textos.
SELECT ai_rank([model,] source_sentence, sentence_to_compare); -
Parâmetros
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
source_sentence: (Obrigatório) O texto de origem. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
sentence_to_compare: (Obrigatório) O texto a ser comparado com source_sentence. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
-
Valor de retorno
Retorna uma pontuação de relevância do tipo FLOAT no intervalo [0, 1]. Um valor maior indica maior relevância.
Se o parâmetro
source_sentenceousentence_to_comparefor NULL, retorna 0.
Modelos suportados: Modelos integrados do nó de IA. Recomenda-se os LLMs da série Qwen3 (por exemplo, Qwen/Qwen3-32B).
-
Exemplo
SELECT knowledge, ai_rank('What was the revenue of Alibaba in 2024?', knowledge) AS score FROM ( VALUES ('Amazon revenue in 2024 was 638 billion USD'), ('Alibaba revenue in 2024 was 941.168 billion CNY'), ('Alibaba revenue in 2023 was 868.687 billion CNY') ) AS knowledge_table(knowledge) ORDER BY score DESC;O seguinte resultado é retornado.
knowledge | score -----------------------------|------- Alibaba revenue in 2024 was 941.168 billion CNY |0.899999976 Alibaba revenue in 2023 was 868.687 billion CNY |0.200000003 Amazon revenue in 2024 was 638 billion USD |0.100000001
ai_chunk
-
Descrição: Divide um texto longo em chunks.
SELECT ai_chunk([model,] long_sentence[, chunk_size, chunk_overlap, separators]) -
Parâmetros
Parâmetro
Descrição
model
(Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
long_sentence
(Obrigatório) O texto de origem a ser dividido em chunks. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
chunk_size
(Opcional) INT. O número máximo de caracteres em cada chunk. Valor padrão: 300.
chunk_overlap
(Opcional) INT. Sobreposição entre chunks adjacentes para preservar a continuidade semântica. Padrão: 50.
separators
Opcional. Os separadores usados para dividir o texto em chunks. Este parâmetro é do tipo
TEXT[]. O valor padrão é["\n\n", "\n", " ", ""], adequado para texto em inglês. Para texto em chinês, recomendamos usar separadores chineses, como["\n\n", "\n", "。", "!", "?", ";", ",", " "]. -
Valor de retorno
Retorna um valor TEXT[], que corresponde à lista de chunks.
Se o parâmetro
long_sentencefor NULL, retorna NULL.
Modelos suportados: o modelo integrado do nó de IA recursive-character-text-splitter.
-
Exemplo
SELECT ai_chunk('Hologres is a one-stop real-time data warehouse engine (Real-Time Data Warehouse) self-developed by Alibaba. It supports real-time ingestion, updating, processing, and analysis of massive data, standard SQL (compatible with PostgreSQL protocol and syntax, supporting most PostgreSQL functions), PB-level multidimensional analysis (OLAP) and ad-hoc analysis (Ad Hoc), high-concurrency and low-latency online data services (Serving), and fine-grained isolation for multiple workloads and enterprise-level security capabilities. It is deeply integrated with MaxCompute, Flink, and DataWorks to provide an enterprise-level full-stack data warehouse solution for online and offline integration.',40,10);O seguinte resultado é retornado.
ai_chunk --- "{\"Hologres is a one-stop real-time data\",\"warehouse engine (Real-Time Data Wareho\",\"use) self-developed by Alibaba. It suppo\",\"orts real-time ingestion, updating, proce\",\"ssing, and analysis of massive data, stand\",\"ard SQL (compatible with PostgreSQL protoc\",\"ol and syntax, supporting most PostgreSQL\",\" functions), PB-level multidimensional an\",\"alysis (OLAP) and ad-hoc analysis (Ad Ho\",\"c), high-concurrency and low-latency onli\",\"ne data services (Serving), and fine-grai\",\"ned isolation for multiple workloads and e\",\"nterprise-level security capabilities. It\",\" is deeply integrated with MaxCompute, Fl\",\"ink, and DataWorks to provide an enterpris\",\"e-level full-stack data warehouse solutio\",\"n for online and offline integration.\"}"
ai_classify
-
Descrição: Classifica o texto de entrada com base em uma lista fornecida de rótulos de categoria.
SELECT ai_classify([model,] content, labels) -
Parâmetros
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
content: (Obrigatório) O texto a ser classificado. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
labels: (Obrigatório) ARRAY. Uma lista de rótulos de categoria de saída esperados. O número de rótulos deve estar entre 2 e 20.
-
Valor de retorno
Retorna o rótulo de categoria correspondente. O tipo de retorno é TEXT.
Se o parâmetro
contentfor NULL, retorna NULL.Se o parâmetro
contentfor uma string vazia (""), retorna NULL.Se o número de
labelsestiver fora do intervalo válido, a função retornará um erro.
-
Modelos suportados
Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.
-
Exemplo
CREATE TABLE product_detail( product_name TEXT, product_desc TEXT ); INSERT INTO product_detail VALUES ('iphone','Apple phone'), ('p50','Huawei phone'), ('x200','vivo phone'), ('aaa','Dior dress'), ('bbb','Dior pants'), ('Sheng Sheng Oolong','Cha Yan Yue Se milk tea'), ('sandwich cookie','Oreo cookie'); --Classify text using ai_classify SELECT product_name, ai_classify(product_desc, ARRAY['Electronics', 'Apparel', 'Food & Beverage']) AS category FROM product_detail LIMIT 10;O seguinte resultado é retornado.
product_name |category --------------|------ aaa |Apparel iphone |Electronics Sheng Sheng Oolong |Food & Beverage p50 |Electronics x200 |Electronics bbb |Apparel sandwich cookie |Food & Beverage
ai_extract
-
Descrição: Extrai informações especificadas do texto de entrada e retorna os resultados como um objeto JSON.
SELECT ai_extract([model,] content, labels) -
Parâmetros
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
content: (Obrigatório) O texto de entrada do qual extrair informações. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
labels: (Obrigatório) ARRAY. Os rótulos das informações a serem extraídas. O número de rótulos deve estar entre 1 e 20.
-
Valor de retorno
Retorna as informações extraídas para cada rótulo no formato JSON.
Se o parâmetro
contentfor NULL ou uma string vazia (""), retorna NULL.Se o número de
labelsestiver fora do intervalo válido, a função retornará um erro.
-
Modelos suportados
Modelos integrados do nó de IA do Hologres: Recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B).
Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.
-
Exemplo
CREATE TABLE users ( user_id TEXT, resume TEXT ); INSERT INTO users (user_id, resume) VALUES ('u001', 'Name: Zhang San, Male, 28 years old. Email: zhangsan@example.com, Phone: 1380013****. Extensive work experience.'), ('u002', 'Name: Li Si, Female, 35 years old. Phone: 1390013****, Email: lisi@example.com. Has management experience.'), ('u003', 'Name: Wang Wu, Male, 25 years old. Email: wangwu@example.com. Phone: 1370013****.'); SELECT user_id, ai_extract(resume, ARRAY['name','email','phone','gender','age']) AS user_desc_obj FROM users;O seguinte resultado é retornado.
user_id |user_desc_obj --------|------------- u002 |"{"name":"Li Si","age":"35 years old","gender":"Female","phone":"1390013****","email":"lisi@example.com"}" u003 |"{"name":"Wang Wu","age":"25 years old","gender":"Male","phone":"1370013****","email":"wangwu@example.com"}" u001 |"{"name":"Zhang San","age":"28 years old","gender":"Male","phone":"1380013****","email":"zhangsan@example.com"}"
ai_mask
-
Descrição: Oculta informações especificadas no texto de entrada, substituindo as correspondências pelo placeholder
[MASKED].SELECT ai_mask([model,] content, labels) -
Parâmetros:
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
content: (Obrigatório) O texto de entrada a ser mascarado. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
labels: (Obrigatório) ARRAY. Os rótulos das informações a serem mascaradas. O número de rótulos deve estar entre 1 e 20.
-
Valor de retorno
Retorna o conteúdo de texto mascarado.
Se o parâmetro
contentfor NULL, retorna NULL.Se o parâmetro
contentfor uma string vazia (""), retorna uma string vazia.Se o número de
labelsestiver fora do intervalo válido, a função retornará um erro.
-
Modelos suportados
Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.
-
Exemplo
SELECT ai_mask( 'User Wang Xiaoming, ID number: 23030611111111, phone number: 1388888****.', ARRAY['ID number', 'phone number']);O seguinte resultado é retornado.
ai_mask ------- User Wang Xiaoming, ID number: [MASKED], phone number: [MASKED].
ai_fix_grammar
-
Descrição: Corrige erros gramaticais no texto de entrada.
SELECT ai_fix_grammar([model,] content) -
Parâmetros
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
content: (Obrigatório) O texto de entrada a ser corrigido. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
-
Valor de retorno
Retorna o conteúdo de texto corrigido.
Se o parâmetro
contentfor NULL, retorna NULL.Se o parâmetro
contentfor uma string vazia (""), retorna uma string vazia ("").
-
Modelos suportados
Modelos integrados do nó de IA do Hologres: Recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B).
Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.
-
Exemplo
SELECT ai_fix_grammar('He dont know what to did.');O seguinte resultado é retornado.
ai_fix_grammar -------------- He doesn't know what to do.
ai_summarize
-
Descrição: Gera um resumo do texto de entrada.
SELECT ai_summarize([model,] content[, max_words]) -
Parâmetros
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
content: (Obrigatório) O texto de entrada a ser resumido. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
max_words: (Opcional) O número alvo de palavras para o resumo. O modelo tenta gerar um resultado próximo a este valor. O valor padrão é 50. Se definir este parâmetro como 0, nenhum limite será aplicado.
-
Valor de retorno
Retorna um resumo do texto.
Se o parâmetro
contentfor NULL, retorna NULL.Se o parâmetro
contentfor uma string vazia (""), retorna uma string vazia ("").Se o valor de
max_wordsfor menor que 0, a função retornará um erro.
-
Modelos suportados
Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.
-
Exemplo
SELECT ai_summarize('Hologres is a one-stop real-time data warehouse engine (Real-Time Data Warehouse) self-developed by Alibaba. It supports real-time ingestion, updating, processing, and analysis of massive data, standard SQL (compatible with PostgreSQL protocol and syntax, supporting most PostgreSQL functions), PB-level multidimensional analysis (OLAP) and ad-hoc analysis (Ad Hoc), high-concurrency and low-latency online data services (Serving), and fine-grained isolation for multiple workloads and enterprise-level security capabilities. It is deeply integrated with MaxCompute, Flink, and DataWorks to provide an enterprise-level full-stack data warehouse solution for online and offline integration.', 15);O seguinte resultado é retornado.
ai_summarize ------------ Hologres is Alibaba's self-developed real-time data warehouse engine, supporting real-time processing and multidimensional analysis of massive data.
ai_translate
-
Descrição: Traduz o texto de entrada para um idioma especificado.
SELECT ai_translate([model,] content, to_lang) -
Parâmetros
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
content: (Obrigatório) O texto de entrada a ser traduzido. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
to_lang: (Obrigatório) O código do idioma alvo conforme ISO 639-1.
-
Valor de retorno
Retorna o texto traduzido.
Se o parâmetro
contentfor NULL, retorna NULL.Se o parâmetro
contentfor uma string vazia (""), retorna uma string vazia ("").Se o valor do parâmetro
to_langfor inválido, a função retornará um erro.
-
Modelos suportados
Modelos integrados do nó de IA do Hologres: Recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B).
Modelos gerenciados: qwen-mt-plus.
-
Exemplo
SELECT ai_translate('Hologres is a one-stop real-time data warehouse engine developed by Alibaba Cloud. It supports real-time data ingestion, updates, processing, and analytics at scale, with standard SQL compatibility (PostgreSQL protocol and syntax). Hologres enables PB-scale multidimensional analysis (OLAP), ad hoc queries, and high-concurrency low-latency online data serving, with fine-grained workload isolation and enterprise-grade security. It is deeply integrated with MaxCompute, Flink, and DataWorks to deliver a unified full-stack data warehouse solution.', 'fr');O seguinte resultado é retornado.
ai_translate ----------- Hologres est un moteur d'entrepot de donnees en temps reel tout-en-un developpe par Alibaba Cloud. Il prend en charge l'ingestion, la mise a jour, le traitement et l'analyse de donnees en temps reel a grande echelle, avec une compatibilite SQL standard (protocole et syntaxe PostgreSQL). Hologres permet l'analyse multidimensionnelle a l'echelle du petaoctet (OLAP), les requetes ad hoc et le service de donnees en ligne a haute concurrence et faible latence, avec une isolation fine des charges de travail et une securite de niveau entreprise. Il est profondement integre a MaxCompute, Flink et DataWorks pour fournir une solution d'entrepot de donnees unifiee et complete.
ai_similarity
-
Descrição: Calcula a pontuação de similaridade entre duas entradas de texto.
SELECT ai_similarity([model,] text1, text2) -
Parâmetros
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
text1 e text2: (Obrigatório) Os dois textos a serem comparados quanto à similaridade. Estes parâmetros suportam os tipos CHAR, VARCHAR e TEXT.
-
Valor de retorno
Retorna um valor do tipo FLOAT no intervalo
[0, 1], onde um valor maior indica maior similaridade. Um valor de 0 indica nenhuma similaridade, e um valor de 1 indica que os dois textos são idênticos.Se o parâmetro
text1outext2for NULL, retorna 0.Se ambos os parâmetros
text1etext2forem strings vazias (""), retorna 1.Se um parâmetro for uma string vazia ("") e o outro for uma string não vazia, retorna 0.
-
Modelos suportados
Modelos integrados do nó de IA do Hologres: Recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B).
Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.
-
Exemplo
CREATE TABLE products2 ( product_name TEXT ); INSERT INTO products2 (product_name) VALUES ('white shirt'), ('black suit pants'), ('casual top'), ('sports jacket'), ('white dress'), ('bluetooth headset'), ('milk chocolate'), ('white top'), ('men''s t-shirt'), ('down jacket'); SELECT product_name FROM products2 ORDER BY ai_similarity(product_name, 'white top') DESC LIMIT 5;O seguinte resultado é retornado.
product_name ---------- white top white shirt casual top white dress men's t-shirt
ai_analyze_sentiment
-
Descrição: Realiza análise de sentimento no texto de entrada.
select ai_analyze_sentiment([model,] content); -
Parâmetros
model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.
content: (Obrigatório) O texto de entrada a ser analisado. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.
-
Valor de retorno
-
Retorna o rótulo de sentimento resultante como um valor TEXT. Os rótulos retornados variam conforme o modelo.
Os LLMs da série Qwen3 retornam um dos seguintes rótulos:
positive,negative,neutraloumixed. Se a entrada estiver vazia, retorna NULL.O modelo iic/nlp_structbert_sentiment-classification_chinese-base: Retorna o rótulo com a maior probabilidade, que pode ser positive, negative ou NULL. Se a entrada estiver vazia, retorna NULL.
Se o parâmetro
contentfor NULL ou uma string vazia (""), retorna NULL.
-
-
Modelos suportados
Modelos integrados do nó de IA do Hologres: Recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B).
Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.
-
Exemplos
-- Using an LLM: SELECT ai_analyze_sentiment('A joyful night of celebration, a time of great success.'); -- Example output: positive -- Using the iic/nlp_structbert_sentiment-classification_chinese-base model: SELECT ai_analyze_sentiment('A drizzling rain falls on the day of mourning; the traveler on the road is heartbroken.'); -- Example output: negative
Funções e modelos de IA
Visualizar o mapeamento entre funções e modelos
O Hologres fornece a tabela de sistema list_ai_function_infos, que mostra o mapeamento entre funções de IA e modelos. Após implantar um modelo no console do Hologres, esta tabela de sistema é atualizada automaticamente com o mapeamento de modelos para cada função de IA. Chame as funções de IA para invocar os modelos correspondentes.
Diferentes funções de IA exigem tipos específicos de modelos. Por exemplo, ai_embed requer um modelo de embedding, e ai_classify requer um LLM. Se apenas um tipo de modelo estiver implantado na instância, algumas funções de IA podem ficar sem um modelo atribuído. Uma função de IA não pode ser usada se não houver um modelo correspondente implantado.
SELECT * FROM list_ai_function_infos();
O seguinte resultado é retornado.
function_name | model_name
----------------------+------------------
ai_embed | my_gte_embedding
ai_classify | my_qwen32b
ai_extract | my_qwen32b
Modificar o modelo de uma função de IA
As funções de IA possuem mapeamentos de modelos padrão. Modifique o modelo mapeado para uma função de IA usando os métodos a seguir. Após a modificação, a função de IA invocará o novo modelo.
-
Modificação global
SELECT set_ai_function_info('<function_name>', '<model_name>');Parâmetros
function_name: O nome da função de IA. Visualize os nomes das funções de IA em AI function summary.
model_name: O nome de um modelo implantado. Faça login no console do Hologres e visualize os nomes dos modelos implantados na página AI Node.
NotaSe o nome da função de IA especificado ou o nome do modelo implantado não existir, um erro será retornado.
Exemplo
SELECT set_ai_function_info('ai_embed', 'my_gte_embedding'); -
Modificação no nível da sessão
Após a modificação no nível da sessão, a configuração no nível da sessão terá precedência sobre a configuração global (ai_function_info) ao chamar funções de IA.
-- Applies only to the current connection SET hg_experimental_ai_function_name_to_model_name_mapping='<function_name>:<model_name>[,<function_name1>:<model_name1>]';
Melhores práticas
Após aprender o básico sobre funções de IA, explore as melhores práticas a seguir para entender como combiná-las em cenários reais e resolver problemas complexos de negócios.